rqalpha-mod-tushare-bundle
两个 RQAlpha 插件模块:从 tushare 拉数据构建本地 HDF5 bundle, 让 RQAlpha / RQFactor 直接读取而不连 rqdatac 服务器。
rqalpha-mod-tushare-downloader— CLI 工具:从 tushare 拉数据存为 CSV,再构建 RQAlpha 原生 HDF5 bundlerqalpha-mod-tushare-data— RQAlpha mod:注册BaseDataSource+ rqdatac monkey-patch,让 RQAlpha / RQFactor 从本地 bundle 读取数据
核心特性
离线运行:bundle 构建完成后,回测 / 因子计算完全本地化,不依赖 rqdatac 服务
RQFactor 兼容:覆盖 rqdatac 40 个核心 API + 内部
_all_obid_to_type,rqfactor Cython 引擎无需修改即可工作增量更新:日常运行
tushare-downloader --incremental即可,仅下载 / 追加新数据未来函数保护:财务数据按
ann_date过滤、行业分类按in_date/out_date切片,避免回测用上未披露的数据
项目结构
rqalpha-mod-tushare-bundle/
├── rqalpha_mod_tushare_data/ # rqalpha-mod-tushare-data 包
│ ├── __init__.py # load_mod + AbstractMod 实例工厂
│ ├── mod.py # TushareBundleMod(AbstractMod)
│ ├── setup.py # 独立 setuptools 配置
│ ├── MANIFEST.in # sdist 文件清单
│ └── patches/ # rqdatac 40 个函数补丁(按职责拆分)
├── rqalpha_mod_tushare_downloader/ # rqalpha-mod-tushare-downloader 包
│ ├── __init__.py # load_mod + TushareDownloader
│ ├── mod.py # TushareDownloaderMod(AbstractMod)
│ ├── __main__.py # CLI main()
│ ├── downloader.py # TushareDownloader 类(~2000 行)
│ ├── build_workers.py # 多进程 build 工具
│ └── setup.py # 独立 setuptools 配置
├── docs/ # 本文档(Sphinx + RTD theme)
├── examples/ # 开发用示例脚本
├── test/ # 20 个测试脚本
├── setup.py # 仅打包 rqalpha-mod-tushare-downloader
└── .readthedocs.yaml # Read the Docs 配置
License
MIT — see LICENSE.