在金融领域的量化交易中,大量历史数据的采集速度缓慢、访问速度慢以及实时行情处理困难等问题一直困扰着金融研究人员和交易员. 为了解决这些问题,上海财经大学实验中心副主任、金融学院副教授谢斐带领团队尝试搭建一套性能优秀、使用方便的新系统. 他们曾尝试使用Hadoop、MongoDB等存储数据的方式,但是性能一直不能满足需求. 直到2019年,通过对DolphinDB时序数据库的试用,上海财经大学决定正式采购这一数据库.
在引入DolphinDB之前,上海财经大学使用的系统在数据存储、压缩、调用和运算等方面存在很大问题,需要花费大量时间进行数据整理. 为了解决CTP数据存储的问题,研究团队编写了一套专门存储大量二进制文件的压缩系统,但在使用过程中发现系统无法处理多来源冗余等问题. 随后,他们尝试了使用Hadoop的Hive系列,但发现该系统无法高效处理结构化数据,需要将结构化问题转化为MapReduce脚本进行处理。这些问题导致数据的采集和处理速度缓慢,无法满足持续增长的时序数据的需求。
为了解决上述问题,上海财经大学研究团队基于Python编写了一套基于DolphinDB的量化高频数据中心系统,该系统的整体性能良好,主要解决长时间采集多数据点、实时因子计算和高频数据采集等问题. 经过试用和调试,这套系统已经成为教学和科研中的重要工具.
量化高频数据中心系统主要研究level2的公开数据,包括每只股票每3秒钟的快照数据,每10毫秒采集多笔的逐笔成交数据和逐笔委托数据. 通过与数据商合作,研究团队获取实时采集数据和盘后数据,数据范围覆盖了全市场,包括股票、债券、商品期货、金融期货和期权等. 为了方便数据的备份、比对、清洗和入库,研究团队将这两种数据汇总在一起.
数据采集管理系统的功能架构主要包括数据采集、数据处理和数据存储三个部分. 数据采集模块负责从行情厂商和数据商获取数据,并对数据进行清洗和预处理。数据处理模块负责实时计算因子和其他相关指标. 数据存储模块使用DolphinDB时序数据库来存储数据,并实现了高效的数据调用和运算功能。
为了验证系统的性能,数据采集管理系统研究团队进行了一系列的性能测试. 测试结果显示,基于DolphinDB的量化高频数据中心系统在数据采集速度、处理速度和数据存储效率方面都表现出色. 与之前使用的系统相比,新系统的响应速度更快,同时可以动态管理数据,满足了大规模数据处理的需求.
上海财经大学选择DolphinDB作为数据采集管理系统的核心数据库有以下几个原因。首先,DolphinDB具有出色的时序数据处理能力,能够高效地处理大规模时序数据。其次,DolphinDB提供了丰富的数据调用和运算函数,使得数据的处理和分析更加方便快捷. 最后,DolphinDB的使用方便性也是选择它的重要因素之一,它提供了友好的用户界面和简单易用的API,使得系统的开发和维护更加简单。
基于DolphinDB的量化高频数据中心系统解决了以往系统中存在的数据采集慢、访问慢和行情实时处理困难等问题. 该系统在数据类型、功能架构和性能测试等方面都表现出色. 通过选择DolphinDB作为核心数据库,上海财经大学成功搭建了一套性能优秀、使用方便的数据采集管理系统,为金融研究和量化交易提供了重要支持。.