金融数据接入又快一步:EasyTushare 模块正式上线

做量化研究,最先遇到的问题往往不是策略,而是数据 。

行情从哪里获取?历史数据怎么批量导入?不同资产的数据如何统一存储?数据更新后,又如何保证数据库持续跟上?

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。

相关推荐
todoitbo1 天前
大数据平台如何选时序数据库:用业务 SQL 验证查询、留存和 Spark 链路
大数据·sql·时序数据库
盛世宏博智慧档案4 天前
档案库房温湿度采集数据存储方案:时序数据库选型与存储优化
数据库·时序数据库
涛思数据(TDengine)4 天前
栖息地 AI 超恒气候系统用 TDengine 支撑全屋环境品质实时监测与历史追溯
人工智能·ai·时序数据库·tdengine·工业ai
一个天蝎座 白勺 程序猿7 天前
IoTDB集群扩容:从慌乱到从容的经验分享
数据库·wpf·时序数据库·iotdb
Highcharts.js10 天前
图表开发实战总结| 7 条“黄金法则”与“性能铁律”
前端·javascript·vue.js·编辑器·时序数据库·highcharts
TDengine (老段)11 天前
集群从“能用“到“高可用“:副本、选主与故障切换到底怎么配
大数据·网络·数据库·物联网·oracle·时序数据库·tdengine
欢喜躲在眉梢里11 天前
时序数据库选型指南:从大数据架构视角拆解 Apache IoTDB 的适用边界
大数据·人工智能·ai·架构·时序数据库·模型
KaiwuDB13 天前
KaiwuDB 运维实战04:DRBD + KaiwuDB——物联网场景下的低成本数据库高可用方案
运维·数据库·物联网·时序数据库·kaiwudb·aiot·多模数据库
杨云龙UP13 天前
TDengine Community 超级表建表实战:统一21个TAG与DOUBLE/字符串数据模板
运维·服务器·数据库·时序数据库·tdengine·涛思数据·stable建表