2023 DolphinDB 年度峰会演讲:引领数字金融时代的基础软件创新
9月8日,“地心引力 · 2023 DolphinDB 年度峰会”在杭州举办。DolphinDB 创始人、CEO 周小华博士进行了“引领数字金融时代的基础软件创新”主题演讲。
周博士讲述了自己的创业故事,从时代发展视角为大家分享选择金融领域基础软件进行创业的初衷。DolphinDB 作为一款基于高性能时序数据库,支持复杂分析和流数据处理的实时计算平台,其根本定位始终是开放的企业级基础软件。与金融行业深度融合的差异化策略,让 DolphinDB 在短短六七年的发展时间中,收获了大量用户的认可。
以下是周博士在峰会分享的全文内容:
尊敬的各位来宾,DolphinDB 的用户和合作伙伴,
大家早上好!欢迎大家来到杭州参加 DolphinDB 2023年度用户峰会!
我今天要分享的题目是,“引领数字金融时代的基础软件创新”。
DolphinDB 是国内为数不多的,针对金融领域的业务需求而研发的基础软件。未来我们也会继续深耕金融领域,为大家提供优质高效的基础软件,不断提升金融行业的生产力。
接下来,我想以问答的形式来展开今天的分享:为什么创业?为什么选择金融领域的基础软件创业?DolphinDB的定位是什么?相比其它基础软件,解决了哪些问题?给金融行业带来了什么变化?接下来会朝什么方向努力?
希望通过短短的20几分钟,让大家对我们的团队和产品,有一个快速的了解。
01 创业故事
熟悉我们创始团队的人都知道,DolphinDB 的三位创始人在创业之前都有华尔街的工作背景,曾经一起共事过。我和张博士是搞技术的,初总是做金融业务的。十几年前,时序数据库在华尔街应用就很广泛了,可以存储与分析海量的金融数据,但是使用难度非常高,而且当时还没有分布式的时序数据库。更重要的是,当时国内金融领域还没有海量数据的高性能存储与分析的解决方案。我们看到这个机会以后,就决定做一款易于使用的分布式高性能时序数据库,去推动这个行业的发展。
2016年的时候,我们三人全职投入到了 DolphinDB。2018年底的时候,我们收获了第一个付费客户。截至8月份,我们已经有超过130位员工,付费客户超过100个,国内外社区用户的数量以每周300多的人数在快速增加,DB-ENGINES 时序数据库榜单的排名也上升到了国际第6,国内第1。DolphinDB 的快速成长,离不开国内大资管行业规模的高速增长,更离不开在座的各位用户对 DolphinDB 的支持与厚爱, 谢谢大家!
02 选择基础软件创业
基础软件开发虽然极为困难,周期漫长,但可以创造更大的价值。
在过去几十年里,国内金融行业的 IT 供应商,层出不穷,百花齐放,很多应用系统都达到了很高的水平。唯独在基础软件,尤其是针对金融行业的数据库、计算引擎、实时计算引擎方面,没有一家出色的厂商。而这些恰恰是一个金融机构差异化竞争的 IT 基础。
首先,不断增长的海量数据需要一套高性能数据库;其次,不断变化的业务逻辑需要快速开发的能力;再次,永无止境的对性能的追求要求高性能的批计算系统与低延时的流计算系统。
如果我们的系统可以做好这三点,我们相信,这个系统就可以为金融领域数据分析相关的业务提供一个良好的基座来进行开发,让用户把精力聚焦于核心业务。
03 DolphinDB自画像:三位一体的自主式实时计算平台
DolphinDB 是一个企业级的基础软件,是一个基于高性能时序数据库,支持复杂分析与流处理的实时计算平台,赋予用户强大的自主开发的能力。
3.1 DolphinDB的定位:基础软件
DolphinDB 是一个基础软件。它首先是一个分布式的多模数据库,可以存储金融行业的各类数据,包括多档的快照数据,逐笔的委托和交易数据,各类财务数据,以及另类的新闻、向量、JSON 等异构数据,可以用于实时数仓、行情中心、数据中台等场景。其次,它提供了功能全面、性能强悍的批计算引擎,可以高效完成复杂的批计算,例如因子挖掘,量化投研,风险控制,指标计算、估值定价等场景。再次,DolphinDB 提供了一套流计算系统,支持流批一体,并且内置10余个流计算引擎,开发便利,时延低,适合实时交易、算法交易、做市业务、实时风控这些场景。
DolphinDB 还内置了一个多范式编程语言,以及1500多个内置函数,用于操控数据库、批计算引擎和流计算引擎。此外,DolphinDB 提供了插件机制和各种语言的 SDK。通过插件开发,DolphinDB可以访问外部生态如消息中间件、行情源、各类数据库和大数据系统、第三方计算库、模拟撮合引擎等。通过各种语言的 SDK,Dashboard、因子开发和管理平台、监控系统等外部系统可以连接到 DolphinDB。
3.2 企业级基础软件
DolphinDB 定位一个企业级的基础软件,可以作为整个机构的基础设施。首先,DolphinDB 可以纳入一个机构IT部门全局的用户管理体系、应用监控体系、安全监控体系以及运维管理体系。其次,DolphinDB 可以融入企业的数据治理体系,数据安全策略,以及弹性的存储和计算资源管理体系。再次,DolphinDB 可以满足一个大型机构海内外分支机构的部署需要,以及异地多中心的部署。最后,一个企业级的基础软件,必须配套企业级的服务。DolphinDB 正在建设一个全方位的从生态、售前、售中到售后的专业的技术支持体系。DolphinDB 也正在完善从用户手册、教程案例、白皮书,最佳实践到用户问答的多层次的文档体系,并提供统一的搜索界面。我们也在和第三方合作开发私有的垂直大模型,在不久的将来提供更智能化、更高效的服务体系。
3.3 赋予用户自主开发能力
DolphinDB 是一个高度模块化、参数化、可编程的、开放的标准化基础软件。可与金融机构的业务部门、IT 部门、或第三方生态等合作,快速二次开发新的应用解决方案。换句话说,DolphinDB 希望赋予我们的用户开发的自主性,使用 DolphinDB 之后,您可以在上面自由的开发因子,开发策略,开发生态或算法插件,开发应用程序与 DolphinDB 对接,完全不用担心受制于厂商昂贵的开发服务。在您的二次开发过程中,DolphinDB 会提供优质的技术支持服务予以保障。这些服务包括用户培训、解决方案的咨询服务,PoC 评估服务,技术问题解答,生产问题排查和解决,公共软件模块开发等等。
04 DolphinDB 解决了什么问题?
DolphinDB 比其它国产的基础软件得到了金融机构更多的认可,最核心的原因在于 DolphinDB 团队对金融业务有深刻的认识,充分理解金融IT的价值点。
4.1 差异化策略,“对着钉子造锤子”
我们从设计产品的第一天开始,就明确一定要把基础软件与金融行业的需求深度的融合起来,真正去释放金融 IT 的生产力。有人是拿着锤子到处找钉子,我们是对着钉子造锤子。我还记得当年团队讨论的一些结论:一定要充分利用金融数据的时序特性来提升存储效率,一定要做高可用来解决金融可靠性的强需求。一定要强化计算来提升业务价值,一定要提供丰富的函数库来适配金融业务,一定要有编程语言来满足金融计算的复杂性要求,一定要做流式增量计算来降低实盘业务的时延。
4.2 数据驱动业务的本质,数据-投研-生产
随着大数据和人工智能的发展,越来越多的金融业务开始启用数据驱动业务的模式。譬如量化交易、算法交易、做市业务、衍生品定价、风险控制、指标计算等都采用了这种模式。虽然具体业务不同,但本质上都是遵循了 数据-投研-生产 这个模式:收集和清洗大量历史数据,用历史数据建模,最后在生产实盘中进行模型推理和决策。这个模式背后对应的技术,则分别是数据库,批计算和流计算。与其它的基础软件只关注存储不同,DolphinDB 理解存储和计算并重对金融的重要性。DolphinDB 把这三个技术糅合在一个系统里,可以大大提升金融业务推进的效率。
4.3 不断拥抱新技术,提升系统开发和运行效率
金融 IT 非常关注两个效率:系统开发效率与运行效率。DolphinDB 提拱了很多技术,来提升这两种效率。我们先来看 DolphinDB 如何提升系统开发效率:DolphinDB 引入了多范式编程语言,向量式、函数式、SQL 编程可以大大缩短开发时间;流批一体的技术,也可以大大缩短从研发到生产的时间。我们即将推出的 Python Parser,可以让用户将存量的 Python 代码无缝切换或稍加修改后快速切换到 DolphinDB 平台。
我们再来看看 DolphinDB 如何提升运行时效率:DolphinDB 的内置函数进行了充分优化,运行速度极快;通过流式增量计算,缩短时延;引入了 JIT 技术,让脚本运行的更快;推出了嵌入式版本 Swordfish,内存存取和实时计算的时延达到微秒级;正在研发的 CPU-GPU 异构计算平台,可以让 DolphinDB 脚本无缝切换到 GPU 进行并行计算,性能提升一个数量级。
DolphinDB 希望通过提升系统开发效率来提升金融机构在行业中的竞争优势,提升运行时效率赢得实盘博弈中的领先优势。
05 DolphinDB 给金融行业 IT 带来了什么变化?
DolphinDB 是一个新的生产力工具,大幅提升了处理金融大数据的效率,加快了业务对金融市场变化的响应速度,金融 IT 从早期的各自为政,慢慢形成行业的最佳实践和技术栈。
5.1 从各自为政到形成行业最佳实践
在 DolphinDB 出现之前,非银金融的IT基础设施,可谓五花八门。存储层面,有用 csv 文件的,二进制文件的,有用 MongoDB 的,有用 oracle ,sql server 或 mysql 的关系数据库,有用开源的数据仓库的如Greenplum和ClickHouse。计算层面Python,C++,Matlab, R, SQL,Spark 等各种工具都有。简单说,各家都在搭建自己独特的技术栈,行业内很难把一些共性的经验和实践积累下来。
DolphinDB 推出之后,不仅仅成为了大家都在用的一个基础软件,更间接成为了行业最佳实践分享、反馈和改进的平台。过去几年中,众多的 DolphinDB 付费用户和社区用户,反馈了大量的需求和改进建议给 DolphinDB。行情数据解决方案,因子开发和管理,投研数据中台,私募产研一体化这4个领域是意见较为集中的大领域。DolphinDB 通过新的软件版本和教程等形式,将我们积累的行业最佳实践,反馈给了用户和社区。
这种正向的交流和积累,对一个行业来说非常重要。DolphinDB 愿意继续做好这个中间角色,后面推出更多的线下交流活动,让行业中的各位大咖有更多火花碰撞的机会。
5.2 把宝贵的精力聚焦到业务上来
懂业务的不懂技术,懂技术的不懂业务,这一直是金融行业中的一个痛点。有时候业务方和技术方联合起来做项目,沟通成本会很高。DolphinDB 的出现,其实给出了一个方案,IT 部门用 DolphinDB 做好大的工程框架,业务部门用 DolphinDB 脚本去编写日常的核心业务代码。这样的组合,大大降低了业务人员对技术的要求,实际上是赋予了业务人员更大的自主性,把宝贵的精力聚焦到业务上来。以因子投研平台为例,构建这样一个系统,非常复杂。但核心业务,技术上其实比较简单,写一下因子的表达式或自定义函数即可。
原先业务人员使用 Python 其实也是这个逻辑,因为 Python 简单易学,技术门槛低。但是 Python 的性能不够好,不能满足大数据处理或生产环境的需要。DolphinDB 出色的性能弥补了 Python 的短板,能兼顾到业务方和技术方的需求。
5.3 大数据分析更简单更高效
大数据分析是金融行业中的一个普遍需求。金融行业的数据分析的一个特点就是业务复杂度高,因此对功能、性能以及易用性都有较高的要求。DolphinDB 支持分布式存储和计算,内置强大的金融函数库,支持多范式编程,不同背景的人可以选择自己熟悉的编程方式,把性能、功能和易用性很好的结合起来了。
在 DolphinDB 之前,金融行业的大数据分析大致有3个生态,DolphinDB 与之相比,至少在性能、功能和易用性中的某一个维度有了大幅提升。Python 是用的最多的一个生态。Python 的 pandas 和 numpy 能够满足金融复杂数据分析的功能要求,但处理大数据时性能不够高,DolphinDB 的性能通常超越Python 1~2个数量级。第二个生态使用类似 Hadoop、ClickHouse 等大数据工具来解决。这类方案的主要是缺点是运维和部署的复杂度较高,对金融业务的适配比较有限。第三个生态主要来自于早期的量化私募。他们直接将金融数据存为私有的二进制文件格式,然后直接写 C++ 程序实现每一个数据分析。这种方式的缺点非常明显,开发和调试的成本太高;优点是性能优异。但在很多 PoC 测试过程中我们也发现,这些定制的分析程序,性能上并没有超越 DolphinDB 这种通用化的方案。
06 一起创造未来
再先进的生产力工具,如果没有人会用,没有配套的应用,没有工程化的落地方案,那也是空中楼阁。
6.1 培养行业IT人才
DolphinDB 才7岁,在金融生态中属于一个新产品。目前市场上没有足够多的 DolphinDB 专家来满足行业快速增长的需求。DolphinDB 正在跟越来越多的头部高校合作,培养金融科技人才,培养 DolphinDB 的优秀工程师。DolphinDB 的社区也在茁成长,每周约新增300个社区版本安装。我们也即将推出 DolphinDB 技能认证。
除了社区和 DolphinDB 自己培养,我们更愿意与我们的客户一起培养人才。在任何时候,如果您的部门需要给员工培训,请联系我们,我们有专职的讲师团队。如果您需要在1~2个星期之内速成 DolphinDB 工程师,欢迎把你的员工送到 DolphinDB 总部,跟着我们的工程师一起快速成长!我们的 HR 部门也十分乐意和我们的客户推出联合培养实习生项目。总之,培养行业 IT 人才,我们是认真的。
6.2 孵化插件市场
一个好的生态需要大量优质的应用。在 DolphinDB 上开发一个好的应用就是开发一个插件。DolphinDB 内部有专门的插件开发团队,帮助我们的客户开发在行业内有共同需要的插件。截至8月份,这个团队已经帮客户开发了近百个各种类型的插件,现在平均每周新推出一个插件。
DolphinDB 的每一个插件几乎都是开放源代码的。最近我们越来越感受到社区用户参与的意愿。接下来,我们会推出 DolphinDB 的插件市场,把开发的插件分享给更多的用户。我们非常欢迎您把您的插件需求告诉我们,让 DolphinDB 和社区一起来满足您的需要。
6.3 工程化落地
金融系统对稳定性、正确性和连续性有着苛刻的要求。尤其在生产环境中,我们需要一整套工程化的方法去部署,去优化配置,去测试,去监控。在初期,DolphinDB 更关注功能和性能,现在这个阶段,我们更关注工程化落地。我们非常愿意跟金融机构的IT部门合作,尤其是运维部门,一起探讨规范和流程,去打造一个个切实可行的工程化落地方案。
寄语
产品和服务是 DolphinDB 的生存之本,为行业客户创造价值是 DolphinDB 的一贯目标。我们将始终如一为大家提供高质量的产品和服务,共同前进,希望一如既往的得到您的支持!谢谢!