本文作者:华夏基金 金融科技部高级副总裁 杨雪松,高级工程师 李乾鹏
目前我们主要研究日频或日频以下的中低频因子,需要日常维护、管理和计算公共因子或用户自定义的因子,同时进行因子的策略回测。实际生产数据已超过1TB。在使用 DolphinDB 前,我们的研究员需要自己编写大数据的回测系统,手动改换参数和进行压力测试。比如进行10年沪深300的日频调仓回测需要2个小时,研发效率低下、较难满足实际业务需求。
为了有效提升策略回测效率、改善研发环境,我们想要搭建一套全新的系统。在对比测试国内外多家数据库后,我们选择了高性能的时序数据库 DolphinDB。

我们主要使用 DolphinDB 解决策略研究的相关问题。首先使用 DataX 将异构原始数据导入 DolphinDB,再借助 DolphinDB 的分布式计算框架和丰富的金融函数库生成技术指标,在提升效率的同时大大缩短了开发周期。然后基于技术指标生成公共因子和用户自定义因子,同时根据股票数据进行策略回测。最后分析回测结果如收益分析、归因分析等。
目前我们已经使用 DolphinDB 研发出数百个公共因子,利用 module 功能将其形成一个因子库,供研究员和基金经理使用。以下为策略研发流程图:

此外,我们借助 DolphinDB 研发了指标选股引擎、单因子分析引擎和策略回测引擎。其中,我们使用 DolphinDB 成功开发的基于事件和向量融合的策略回测引擎,性能非常优秀,在业务方面得到了极大的认可。
我们在选型时从多方面对比 InfluxDB、ClickHouse、KDB+、DorisDB 和 DolphinDB。
同时,我们对 DolphinDB 进行以下综合考量:
使用 DolphinDB 加快了许多业务的周期,尤其是策略回测、指标计算和因子计算等方面的提升效果很明显。相比使用传统数据库,DolphinDB 的速度可以提高一个数量级。开头提到,我们之前进行10年沪深300的日频调仓回测需要花费2个小时,但是在使用 DolphinDB 后整个过程不超过1分钟,提升效率超过100倍。
我们计划借助 DolphinDB 搭建一个量化相关的数据平台,把第三方数据源的数据都导入到 DolphinDB 中,这样业务员在使用时可以调用统一的对外暴露接口查询各个数据库的相关数据。同时我们在研究 level2 的高频因子。在预演中,每天的新增数据量接近40GB,加上历史数据总计几十 TB,这对数据库的性能提出更高的要求。希望和 DolphinDB 继续保持友好合作。