DolphinDB 推出 EasyTushare 模块,打通 Tushare 金融数据接入
金融数据接入又快一步:EasyTushare 模块正式上线 - DolphinDB
DolphinDB 正式上线 EasyTushare 模块 1.0.0,将 Tushare 与 DolphinDB 连接,统一数据初始化、建表、批量导入和定时更新流程。
做量化研究,最先遇到的问题往往不是策略,而是数据。
行情从哪里获取?历史数据怎么批量导入?不同资产的数据如何统一存储?数据更新后,又如何保证数据库持续跟上?
Tushare 为金融数据分析提供了便捷的数据获取方式,覆盖股票、基金、期货、债券、指数等多类金融数据。但对于长期研究而言,拿到数据只是第一步。从 API 获取数据,到建表、入库,再到每日增量更新,中间仍有不少工作需要完成。如果这些流程都要自己搭建和维护,随着数据种类和研究范围不断扩大,数据接入本身也可能成为一项持续的开发工作。
为此,DolphinDB 推出 EasyTushare 模块,将 Tushare 与 DolphinDB 连接起来,把数据初始化、建表、批量导入和定时更新等流程统一起来。一次初始化,持续更新,让金融数据更快进入查询、计算与量化研究。
EasyTushare 当前版本为 1.0.0,基于 DolphinDB 3.00.6 开发,建议使用 DolphinDB 3.00.6 及以上版本。模块依赖 httpClient 插件,需提前下载配置;如需导入前复权、后复权等数据,还可按需使用 py 插件。
一套模块,覆盖多类金融数据
金融研究很少只围绕一种数据展开。股票行情需要结合基本面,量化策略可能同时使用指数、期货和期权数据,资产配置又需要进一步关联债券、基金等数据。
EasyTushare 按资产类别组织数据,目前覆盖 10 大类数据源,包括:股票、ETF、公募基金、期货、债券、指数、期权、外汇、黄金现货以及大模型语料数据,同时提供宏观经济数据相关支持。其中,股票数据不仅包括基础信息和日线行情,还覆盖分钟 K 线、复权行情、财务数据、资金流向、龙虎榜、两融及转融通等数据;期货、债券、指数、期权等资产也分别提供基础信息、行情及相关特色数据。
这意味着,用户无需针对不同资产类别重复开发一套数据接入逻辑,而是可以按照实际需要选择相应的数据表进行导入。
历史数据一次导入,后续数据定时更新
实际使用中,金融数据库的数据接入通常分成三个阶段:建库建表、历史数据导入、增量数据更新。
第一阶段:建库建表
EasyTushare 不只是对 Tushare API 做简单封装,还针对不同资产类别提供了统一的数据接入机制:
•Init:负责资产类别初始化,包括建表、批量导入等
•CreateTable:定义数据表结构及建表函数
•AppendData:调用 Tushare API 获取数据,并写入 DolphinDB 分布式表
底层数据也会根据不同数据特点进行组织。EasyTushare 默认使用三个 DolphinDB 分布式数据库,分别存储基础信息与基本面数据、日线及周期行情数据、分钟 K 线数据,并针对日线和分钟数据分别采用按年、按天的分区方式。具体库表名称请参阅官方开发文档 Tushare 数据接入教程。
编写脚本时,不需要从头设计一套金融数据接入框架,只需要选择需要的数据表并完成初始化。
// 创建数据库
createDb()
// 创建股票数据表
stockInitTables()第二阶段:把历史数据导进来
完成建库建表后,就可以批量导入历史数据。
EasyTushare 为各资产类别提供历史数据批量导入函数,可以指定开始日期、结束日期以及具体数据表,将对应时间范围的数据批量导入 DolphinDB,任务以后台方式执行。
例如,只需要指定时间范围,就可以批量导入股票历史数据:
use EasyTushare::stockInit
// 批量导入 2024 年所有股票日线数据
stockHistoryDataLoad(
token,
2024.01.01,
2024.12.31
)如果只需要部分数据,也可以进一步指定表名,例如只导入股票基础信息和日线行情,或者只导入 1 分钟、5 分钟 K 线。
// 仅导入股票基础信息和日线行情
stockHistoryDataLoad(
token,
2024.01.01,
2024.12.31,
["stock_basic", "stock_daily"]
)第三阶段:让数据库持续跟上最新数据
历史数据导入完成后,数据库还需要持续获取最新数据。
EasyTushare 为各资产类别提供每日增量定时导入函数。完成历史数据初始化后,即可注册定时任务,每日自动获取当天数据并写入数据库。
use EasyTushare::stockSchedulejob
// 提交当日所有股票数据的定时任务
scheduleJobStockDataDaily(token)这样,从建库建表、历史数据初始化,到每日增量更新,金融数据接入就形成了一条完整链路。

结语
EasyTushare 将 Tushare 与 DolphinDB 之间的数据接入环节简化,对于需要快速搭建金融数据环境的用户,可以通过 EasyTushare 完成数据初始化;对于已经在使用 DolphinDB 的用户,也可以根据研究需求按需接入不同金融数据。
一次初始化,持续更新。让更多时间回到真正有价值的事情——数据查询、策略研究与金融分析。
想快速搭建自己的金融数据环境?现在点击 EasyTushare - DolphinDB 模块 立即下载使用 EasyTushare。
来源:博客园 · cnblogs.com