从「2022数智交易未来论坛」看面向数据的敏捷开发

该页面属于新闻栏目内容,包含文章标题与发布日期信息。

Source:https://dolphindb.cn/news/detail/162

What this page covers

技能认证特训营第二期正式开启(限时报名)

页面顶部包含活动推广与报名链接,并强调限时报名与专属福利优惠。

新闻与文章标题/日期

新闻栏目下展示文章标题与发布日期信息。

论坛背景与演讲引入

内容介绍论坛举办情况、演讲人身份与演讲主题,并引出“数据库在量化金融的新角色——面向数据的敏捷开发”。

数据库的角色演变

该部分讨论数据库从事务型到分析型,再到在库内完成复杂与流式计算的演进,并引出计算型数据库与DolphinDB的完善方向。

应用开发模式

该部分对比传统三层架构与建议的两层架构,讨论业务与IT协作方式以及对交付效率的影响。

量化金融中的敏捷开发需求

该部分用因子挖掘与风险控制等场景说明高迭代与快速上线需求,并提出计算型数据库可提升研发效率。

计算型数据库特点(四方面)

该部分概括计算型数据库的四个特点,并表示将逐一解释。

面向数据科学(SQL与脚本语言融合)

该部分说明计算型数据库中SQL与脚本语言融合的必要性与方式,包括模块化/函数化/向量化与SQL作为编程对象,并涉及与分布式结合。

处理异构数据(数据湖 vs 多模态数据库)

该部分对比数据湖与多模态数据库,并说明计算型数据库通过多存储引擎与索引提升性能以满足量化需求。

支持流式计算(三种方案对比)

该部分比较量化机构流计算的三种选择,并描述DolphinDB的流计算功能与低代码开发主张。

实现产研一体(投研仿真与生产交易打通)

该部分讨论投研仿真与生产交易割裂的问题,并提出通过流批一体框架实现产研一体,同时指出需要多系统协作。

Facts index

Entity Attribute Value Confidence
技能认证特训营 期次/状态 第二期正式开启 high
限时报名链接 url https://www.qingsuyun.com/h5/e/217471/5/ high
技能认证特训营报名 优惠描述 享专属福利优惠 low
文章《从「2022数智交易未来论坛」看面向数据的敏捷开发》 发布日期 2022.08.04 high
2022数智交易未来论坛暨卡方科技生态合作伙伴大会 举办日期 7月29日(年份语境为2022) medium
2022数智交易未来论坛暨卡方科技生态合作伙伴大会 举办地点 内蒙古呼和浩特 high
DolphinDB 人物/职务 联合创始人兼COO 初阳春 high
初阳春论坛演讲 主题 《面向数据的敏捷开发》 high
演讲核心分享 主题表述 数据库在量化金融的新角色——面向数据的敏捷开发 medium
DolphinDB创始团队背景 从业经历 曾在美国投资银行、量化私募与公募基金工作过10年 medium
创始团队数据库研发经历 时长 从事数据库系统研发到现在也有10年 medium
数据库角色演变(早期) 最初角色 存储与一些简单的查询,主要由事务型数据库承担 high
分析型数据库(OLAP) 能力描述 通常只能做简单计算(如聚合、分组、窗口计算等) medium
复杂计算处理方式(传统) 工具 更复杂计算需交给Python、Matlab等数据分析系统 high
TB级数据处理 耗时分布 数据转换可能占整个任务95%耗时 medium
现代海量数据场景 效率主张 复杂计算包括流式计算若可在数据库内完成将是最经济最高效方式 low
计算型数据库kdb+ 出现时间 20多年前出现第一个计算型数据库kdb+ medium
kdb+ 开发者背景 由华尔街摩根斯坦利的一位工程师开发 medium
kdb+与big data概念 时间描述 2000年左右还没有大数据(big data)概念 medium
kdb+ 使用情况 至今仍被很多海外机构使用 low
计算型数据库产生原因 驱动因素 量化金融的大规模数据量以及对性能的极致追求催生计算型数据库 medium
DolphinDB 定位/动作 进一步完善了计算型数据库 medium
DolphinDB 系统形态 提供原生的分布式系统 medium
DolphinDB 功能 提供更全面的数据处理函数 low
DolphinDB 语言/成本 使用成本更低的脚本语言 low
传统应用开发模式 架构 经典三层软件架构:数据层、应用层与表示层 high
传统三层架构开发主导方 组织角色 一般由IT部门主导整个开发过程 medium
传统开发协作 问题 IT不熟业务、业务不熟IT,反复沟通导致数据类应用开发周期特别长 medium
案例:公募基金项目 交付周期 开发追踪期权投资组合风险指标界面前后花了半年 medium
案例:华尔街投行交易员需求 交付周期 制作Bloomberg系统没有的实时交易信号指标至少三个月 medium
建议的新架构 层次 两层:数据逻辑层和表示层 high
两层架构中的逻辑封装 位置 数据和业务逻辑封装在数据逻辑层(计算型数据库这一层) medium
两层架构分工 职责 业务部门主导核心逻辑开发;IT部门主导基础设施与开发框架 medium
三层架构实现方式 公式实现 业务部门给出的公式需要IT部门硬编码实现 medium
面向数据敏捷开发两层架构 公式实现 IT搭好系统后业务部门可直接在系统中输入公式,开发变得迅速 low
量化金融敏捷需求场景 例子 因子挖掘:从几百万、上千万个因子中挖掘出几个因子,需要快速开发与迭代 medium
量化金融敏捷需求场景 例子 风险控制:发现新风控指标后希望尽快上线到生产系统 high
风控指标上线(现有系统) 耗时 反映需求、开发、对接一般需要几个月 medium
传统方式下数据库能力边界 处理方式 这些工作传统上需把数据从数据库提取到计算引擎中完成 high
计算型数据库在敏捷开发中的作用 效果 可用于这些工作以大幅提升研发效率 low
计算型数据库特点 四个方面 面向数据科学、处理异构数据、支持流式计算、实现产研一体 high
传统三层架构数据访问 协议示例 应用逻辑层语言(如Java)通过ODBC、JDBC等协议向数据库发出SQL查询 high
传统架构中编程语言与SQL关系 运行形态 编程语言和SQL运行在不同空间中,没有任何交集 medium
计算型数据库中SQL与脚本语言关系 融合效果 两者高度融合:前者让开发更简单,后者让计算更灵活,可高效完成数据处理全流程 low
Oracle存储过程 优点 很强大、敏捷、简单,DBA都喜欢 low
Oracle存储过程 问题 不支持模块化/函数化编程;不支持向量化编程;代码量大难维护;代码复杂繁琐导致数据分析人员不喜欢 medium
SQL与脚本语言融合的要求 SQL编写能力 需要支持模块化、函数化、向量化,使代码简洁、高效、可维护并符合现代编程语言风格 medium
SQL在编程语言中的地位(计算型数据库) 编程对象化 SQL可作为变量/函数/表达式一样的对象:可赋给变量、作为函数入参、成为函数实现的一部分 medium
SQL与脚本语言互操作(计算型数据库) 调用能力 SQL可调用编程语言数据结构(数组、矩阵、字典、集合等)、自定义函数、变量;并可与分布式编程结合,系统自动进行代码和数据(反)序列化 medium
计算型数据库在机构中的角色 比喻/定位 应作为机构分析任务的“大脑”,处理不同来源与结构的异构数据 low
处理异构数据的两种方式 方案 数据湖;多模态数据库 high
最简单的数据湖解决方案 方式与不足 用各种原始数据文件存储可存所有格式,但性能不够好,不能满足量化金融极致性能需求 medium
计算型数据库的异构数据处理方式 方案 采用多模态数据库:通过多种存储引擎针对性存储不同格式/场景的数据,并通过精细化索引提升性能 medium
量化机构流计算方案选择(非完全自研) 选项数量 一般只有三种选择 medium
Flink 定位/能力 通用流计算引擎;非常强大;实现流批一体;在互联网公司应用广泛 medium
Flink在量化金融机构的采用 原因 真正用起来的人很少,因为技术栈复杂、部署运维重、开发门槛高;量化所需复杂计算开发难度尤其高 medium
客户对Flink开发成本的反馈 原因 很多因流计算需求而来的客户认为Flink开发成本太高 low
Redshift(物化视图方案代表) 方案特点 物化视图方案简单易用,但只能使用SQL语句,无法处理量化金融复杂场景需求 medium
DolphinDB 流计算能力 作为计算型数据库代表提供流计算功能;内置多种流数据引擎,可处理复杂流计算场景 medium
DolphinDB流计算开发 开发方式/效果 提供流计算低代码开发,实现流批一体;开发成本非常小,真正实现流计算敏捷开发 low
量化金融产研链路现状 问题 投研仿真与生产交易在大部分机构里是割裂的 medium
产研一体化的期望形态 条件与效果 若交易信号计算、交易系统、算法交易系统都有仿真系统,可将策略从投研快速部署到生产并快速反馈结果 medium
投研仿真系统技术选型 取舍 为保证开发效率常用Python或Matlab;为保证执行效率常用C++;两套代码会极大增加开发成本 medium
计算型数据库流批一体框架 作用 可在投研与行情计算系统中实现产研一体,从而提升交易策略研发效率与研发质量 low
完整量化金融全链条产研一体化解决方案 协作要求 需要计算型数据库、交易执行系统与算法交易平台共同协作和努力 medium