上海财经大学基于 DolphinDB 的量化高频数据中心系统介绍

回顾既有方案的限制,并提出在持续增长的时序数据场景下,需要搭建优秀且易用的新系统。

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

What this page covers

技能认证特训营第二期限时报名入口

页面顶部提供活动报名提示与外链入口。

新闻栏目与文章标题、日期

页面展示新闻栏目标识、文章标题与发布日期信息。

案例概述与作者/人物信息

介绍上海财经大学为解决高频数据采集与处理痛点而采用 DolphinDB,并说明文章由谢斐教授介绍该系统。

既有方案问题与建设目标

回顾此前系统与多种技术方案的限制,并提出需要搭建优秀、易用的新系统。

系统现状与文章结构

说明基于 DolphinDB 的系统总体性能良好、已成为教学科研工具,并列出后续将介绍的维度。

案例封面图与说明

展示上海财经大学与 DolphinDB 合作案例封面及其说明文字。

研发背景

列出个性化行情需求、历史采集慢、实时处理困难与自建成本高等背景原因。

数据类型与数据规模

描述研究的 level2 公开数据类型、数据范围以及入库数据时间跨度与体量。

功能架构:功能要点

概述系统在采集、调度、存储、ETL、一致性与多语言接口方面的功能要点。

中心功能模块(六大模块)

说明数据中心系统的六大模块并给出模块说明与支持的数据源、存储与应用层能力。

架构介绍(AirFlow 调度与组件流程)

描述使用 AirFlow 通过 TaskID/JobID 调度,写入 DolphinDB 集群/内存并进行拼接校验,提供 Exporter 与 Manager 管理。

性能测试:写入性能(MongoDB vs DolphinDB)

对比同等硬件下 MongoDB 与 DolphinDB 入库一周 Tick 数据的写入耗时与实现方式描述。

性能测试:读取性能

展示读取深市某股票一年不同类型高频数据的耗时结果,并说明分区分表后实际速度更快。

性能测试:实时数据计算性能

给出实时计算各环节耗时与“10毫秒内完成全流程/因子计算”的描述。

选择 DolphinDB:性能、分布式与易用性

从性能提升、分布式计算能力以及学习门槛等角度说明选择 DolphinDB 的原因与教学实践。

结论与合作评价

总结系统满足回测与模拟交易等需求,DolphinDB 成为课程重要部分,并表达合作积极与未来合作意愿。

上海财经大学简介图与说明

展示上海财经大学简介背景材料图片及其说明文字。

Facts Index

Entity Attribute Value Confidence
技能认证特训营第二期报名链接https://www.qingsuyun.com/h5/e/217471/5/high
上海财经大学基于 DolphinDB 的量化高频数据中心系统介绍发布日期2022.09.13high
上海财经大学正式采购 DolphinDB 时间2019年(由于良好的试用体验)high
谢斐身份/职务上海财经大学实验中心副主任、金融学院副教授high
上海财经大学此前系统存在的问题在数据存储、压缩、调用和运算等方面存在很大问题,需要耗费大量时间进行数据整理medium
自研二进制压缩存储系统(用于存储 CTP 数据)问题无法处理多来源冗余等问题high
系统(经验总结后建立)能力可以直接存储 HDF5 文件并实现直接检索high
系统(经验总结后建立)问题响应速度慢、无法动态管理数据high
Hadoop hive 系列不适用点不能高效研究结构化数据,需要将结构化问题转化为 MapReduce 脚本后处理high
持续增长的时序数据场景目标希望搭建一套优秀的、使用方便的新系统high
基于 DolphinDB 的量化高频数据中心系统实现方式由研究团队用 Python 编写high
基于 DolphinDB 的量化高频数据中心系统总体表现总体性能良好medium
基于 DolphinDB 的量化高频数据中心系统主要解决的问题长时间采集多数据点、实时因子计算和高频数据采集等问题high
基于 DolphinDB 的量化高频数据中心系统在教学科研中的地位已经成为教学和科研中的重要工具medium
行情厂商标准数据不能满足的个性化需求无法提供自定义 MinBar、HourBar、连续合约及自定义合约等拼接规则,导致量化策略无法实现medium
历史数据采集现状问题数据量大,采集慢,访问慢;采集一年数据可能要耗时几天,无法保证数据没有遗漏medium
行情实时处理缺口缺乏高效的内存型数据库,无法实时计算因子medium
自建数据库采集工具/高频处理系统自建困难自建数据库采集工具成本高,高频处理系统开发难度高high
研究数据数据级别主要研究 level2 的公开数据high
快照数据(每只股票)采样频率每3秒钟的快照数据high
逐笔成交数据与逐笔委托数据采样频率每10毫秒采集多笔high
数据获取方式来源通过数据商获取实时采集数据和盘后数据high
数据范围覆盖市场与品类全市场,包括股票、债券、商品期货、金融期货和期权等high
数据处理流程处理步骤两种数据汇总后进行备份、比对、清洗和入库high
入库市场全景数据时间跨度2013年到现在medium
原始数据总量规模60TB 左右high
系统架构设计(相较传统采集方案)能力可实现高速、自动采集证券或期货的历史数据medium
AirFlow用途工作流平台全自动调度处理金融资产高频历史数据high
系统(结合实时行情)用途为多因子量化投资策略等工具提供高效完整的数据计算基础medium
DolphinDB用途用于数据存储(高性能分布式数据库)high
ETL 方案作用统一数据结构,保证数据质量和前后依赖关系,同时确保一致性和稳定性medium
对外接口支持语言/接口支持 Python、C++、C#、Java 等接口对接第三方系统high
量化高频数据中心系统中心功能模块六大模块:数据采集、数据存储、数据处理、上层应用、状态监控、对外接口high
数据采集模块支持的文件类型支持 CSV 文件high
数据采集模块支持的数据源SQL、Orcale、万德、国泰安、通联、聚宽等数据源(历史行情、实时行情及基础数据)medium
数据存储模块DolphinDB 存储内容存储包括流模式和库模式的 Ticks 和 Bar、合约信息、基类、因子及自定义合约high
数据存储模块PostgresSQL 存储内容存储数据中心的日志、任务、自动或手动计划及门户前端数据库信息high
数据处理模块Builder 功能实现历史及实时 Ticks 拼接 MinBar 和 HourBar、连续合约和配对合约high
数据处理模块Validator 功能校检日线数据和 Tick 数据的准确性high
上层应用模块(管理后台)合约管理功能包括查询、自定义合约、连续合约和因子等high
上层应用模块(采集任务管理)包含内容自动或手动采集管理数据、计划任务管理及数据完整性检查high
状态应用/监控模块依托与提供能力提供 AirFlow 调度平台运行状态、日志服务及通知网关high
对外接口模块支持 API支持 Python、C++、C# 等 API 接口high
AirFlow(在数据中心系统中)调度机制通过 TaskID、JobID 调度系统运行顺序和状态high
TaskID 与 JobID作用保证数据采集完整性与出错重做机制high
数据写入与处理流程流程描述采集数据写入 DolphinDB 集群和内存中以方便调用,同时对数据进行拼接和校验high
Exporter 输出接口配置与管理方式通过 Manager 后台对整体进行配置和管理high
写入性能测试数据集数据范围与规模上海期货交易所一周 Tick 数据(712万条)high
MongoDB 入库耗时(之前)写入耗时1000秒钟左右(入库一周 tick 级数据)high
DolphinDB 入库耗时(重构后)写入耗时120秒钟左右(入库上海期货交易所一周 tick 级数据)high
DolphinDB写入限制目前还不支持同区多线程写入high
入库程序(针对 DolphinDB 特性编写)作用进行任务分派以实现入库保存high
DolphinDB 相比 MongoDB速度提升结论速度提升效果比较明显,支持采购商业系统的决策medium
DolphinDB 技术支持团队支持内容在数据入库和分区等方面提供方案,保证及时、专业的技术支持medium
读取性能测试测试任务读取深市某股票一年数据high
读取性能测试结果(概述)耗时表现处理上千万条、包含十余列字段的记录,其耗时均在10秒以内medium
数据分区分表方案来源根据 DolphinDB 技术专家建议提出high
分区分表后实际读取速度与表中速度对比目前实际速度比表中的速度更加快low
实时计算性能(端到端)全流程耗时10毫秒内完成从原始数据录入到因子计算存储的全流程medium
实时计算环节耗时(表格指标)耗时范围获取行情(1-2毫秒)、行情数据转换(1-3毫秒)、计算和存储因子(1-6毫秒)medium
DolphinDB引擎能力专有的流计算引擎high
实时因子计算示例计算内容将行情数据转换成计算因子如均线、K线等然后进行存储,并可按需订阅多个合约和因子数据medium
服务器采购(用于研究市场微观结构)采购时间2018年high
2018年采购服务器配置数量与规格5台服务器;每台 256GB 内存、十几 TB 硬盘(另有一套服务系统)medium
订单簿/订单户数据研究数据量每日数据量每天八千万到一亿条medium
使用 DolphinDB 前处理耗时耗时每天大概3个小时去处理数据medium
使用 DolphinDB 后处理耗时耗时使用 DolphinDB 提供的一站式服务只需要30分钟即可完成处理medium
单机一年历史数据(高频量化交易场景)资源占用选取以周为单位、一年的历史数据已在单机上占用很大内存low
此前用于研究市场结构课题的服务器内存512GB 内存high
市场截面查询所需数据量规模500GB 左右,经常会超限medium
团队需求系统能力需求需要一套分布式处理系统;对代码编写和程序设计能力要求高medium
并行处理能力(团队)困难并非并行处理专家;在 500GB 以上场景下用 Python/MATLAB 分节点计算仍力不从心,需要用小截面反复计算并汇总统计medium
使用 DolphinDB 后节点总内存总内存1.0TBhigh
DolphinDB处理规模表现处理该规模数量级的数据稳定快速,并可自动进行分布式计算medium
DolphinDB脚本语言特性脚本语言是类 SQL 的逻辑medium
学生上手 DolphinDB 的时间学习周期学生有 Python 基础,学完 SQL 后大概一个礼拜就能上手 DolphinDBmedium
教学内容(DolphinDB 相关)覆盖范围数据导入、查询、策略回测、以及表拼接等特性操作high
基于 DolphinDB 的量化高频数据中心系统满足的业务需求满足每天进行实时策略回测、模拟交易等业务需求medium
该系统应用场景项目类型学校科研项目及与券商、基金公司等合作项目,尤其高频量化场景medium
DolphinDB 在课程中的地位课程应用已正式成为量化投资与程序化交易课程中非常重要的一部分medium
DolphinDB 适用机构类型(作者观点)适用性非常适合 IT 力量薄弱的机构low
上海财经大学与 DolphinDB 的合作关系(作者观点)合作评价互相尊重、友好积极;希望未来有更多合作机会low
上海财经大学创办时间(图片说明中提及)自1917年创办以来medium
上海财经大学国家建设序列(图片说明中提及)入选国家“双一流”建设序列medium