华夏基金对市面上多家数据库进行调研测试,从性能、语言学习成本和技术服务等多方面进行综合考量,最终选择高性能时序数据库DolphinDB。本文将分享华夏基金使用DolphinDB的业务实践。
本文作者:华夏基金金融科技部高级副总裁杨雪松,高级工程师李乾鹏
目前我们主要研究日频或日频以下的中低频因子,需要日常维护、管理和计算公共因子或用户自定义的因子,同时进行因子的策略回测。实际生产数据已超过1TB。在使用DolphinDB前,我们的研究员需要自己编写大数据的回测系统,手动改换参数和进行压力测试。比如进行10年沪深300的日频调仓回测需要2个小时,研发效率低下、较难满足实际业务需求。
为了有效提升策略回测效率、改善研发环境,我们想要搭建一套全新的系统。在对比测试国内外多家数据库后,我们选择了高性能的时序数据库DolphinDB。
使用DolphinDB研究策略和开发引擎
我们主要使用DolphinDB解决策略研究的相关问题。首先使用DataX将异构原始数据导入DolphinDB,再借助DolphinDB的分布式计算框架和丰富的金融函数库生成技术指标,在提升效率的同时大大缩短了开发周期。然后基于技术指标生成公共因子和用户自定义因子,同时根据股票数据进行策略回测。最后分析回测结果如收益分析、归因分析等。
目前我们已经使用DolphinDB研发出数百个公共因子,利用module功能将其形成一个因子库,供研究员和基金经理使用。以下为策略研发流程图:
此外,我们借助DolphinDB研发了指标选股引擎、单因子分析引擎和策略回测引擎。其中,我们使用DolphinDB成功开发的基于事件和向量融合的策略回测引擎,性能非常优秀,在业务方面得到了极大的认可。
数据库选型
我们在选型时从多方面对比InfluxDB、ClickHouse、KDB+、DorisDB和DolphinDB。
·InfluxDB不支持量化金融的常用函数,在性能测试中相比DolphinDB差了一个数量级。
·KDB+语言晦涩,价格昂贵,缺乏国内的技术支持团队。
·ClickHouse的性能不及DolphinDB,函数的共通性较弱,并且作为开源软件对集群的支持性并不是很好。
·DorisDB的性能未能完全满足我们的业务需求。
同时,我们对DolphinDB进行以下综合考量:
·DolphinDB在海量存储、实时计算、查询等方面的性能表现极佳。
·DolphinDB提供丰富的金融常用函数。
·不管在windows还是linux系统中,轻量级的DolphinDB部署起来都很方便。
·DolphinDB的语言是SQL和Python结合,学习成本低,我们的正式员工经过1-2周的学习就可以基本上手。
·DolphinDB有丰富的文档资料和国内专业的技术支持团队,我们在使用时遇到问题,不仅可以查阅手册,也可以寻找技术团队支持,及时解决问题。
DolphinDB带来的业务效果提升
使用DolphinDB加快了许多业务的周期,尤其是策略回测、指标计算和因子计算等方面的提升效果很明显。相比使用传统数据库,DolphinDB的速度可以提高一个数量级。开头提到,我们之前进行10年沪深300的日频调仓回测需要花费2个小时,但是在使用DolphinDB后整个过程不超过1分钟,提升效率超过100倍。
与DolphinDB的未来合作计划
我们计划借助DolphinDB搭建一个量化相关的数据平台,把第三方数据源的数据都导入到DolphinDB中,这样业务员在使用时可以调用统一的对外暴露接口查询各个数据库的相关数据。同时我们在研究level2的高频因子。在预演中,每天的新增数据量接近40GB,加上历史数据总计几十TB,这对数据库的性能提出更高的要求。希望和DolphinDB继续保持友好合作。
免责声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。如稿件版权单位或个人不想在本网发布,可与本网联系,本网视情况可立即将其撤除。