Mootdx2
通达信行情与历史数据读取工具包,面向高频量化回测与生产分析,提供在线实时行情、本地二进制数据毫秒级解析、专业历史财务报表提取、全系股票与 ETF 精准复权、巨潮资讯官方公告检索以及增量防封同步能力。
项目概述
mootdx2 为量化交易系统和金融研究提供高可用、多源融合的底层数据基础设施。
┌────────────────────────────────────────┐
│ mootdx2 核心架构与数据流景 │
└────────────────────────────────────────┘
│
┌───────────────────────────┬──────────────┴──────────────┬───────────────────────────┐
│ │ │ │
▼ ▼ ▼ ▼
┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ 离线数据管理 │ │ 在线行情驱动 │ │ 专业财务数据 │ │ 官方公告数据 │
│ DailyDataManager │ │ Quotes / tdx │ │ Financial/Affair │ │ CninfoClient │
└──────────────────┘ └──────────────────┘ └──────────────────┘ └──────────────────┘
│ │ │ │
• 本地 .day 毫秒解析 • 原生/兼容双模协议驱动 • 580+ 科目全字段覆盖 • 零三方依赖 HTTP 客户端
• 自动时效与增量补齐 • 实时五档与全周期 K 线 • 中英文字段表头映射 • 权威 orgId 动态映射
• 磁盘长效缓存 (Pickle) • 自动故障转移与节点测速 • 远程报表发布清单探查 • 公告检索与 PDF 原件直链
│ │ │ │
└───────────────────────────┴──────────────┬──────────────┴───────────────────────────┘
▼
┌────────────────────────────────────────┐
│ 向量化通用复权流水线 │
│ 股票送转分红配股 + ETF 扩缩股与现金分红 │
└────────────────────────────────────────┘
核心能力与数据全景
1. 离线优先的统一数据获取链
- DailyDataManager 智能管理器:优先读取本地通达信目录历史日线,无本地环境时自动启用在线同步。当检测到本地数据缺失或未覆盖最新交易日时,自动触发增量下载补齐,兼顾纯离线的极致性能与在线数据的实时性。
- 底层二进制直接解析 (
mootdx2.tdx.offline):内置直接解析通达信本地.day(日线)、.lc1(1分钟线)、.lc5(5分钟线)二进制文件的极速引擎,脱离上层抽象提供纳秒级数据解包。
2. 在线行情与双模协议驱动
- 双模协议引擎:支持内置纯 Python 原生协议驱动(
driver='native')与经典兼容驱动(driver='tdxpy'),提供无外部污染的通信管道。 - 全市场品类覆盖:支持标准市场(沪深 A 股、主板/科创板/创业板、指数、全系 ETF)与扩展市场(期货、期权、港股等)的实时日行情快照、五档盘口、逐笔成交 (Tick)、分时线、多周期 K 线(1分钟至年线)及 F10 文本提取。
- 生产级高可用体系:内置最优服务器测速探测(
bestip)、请求级自动故障转移(Failover)与节点自适应冷却黑名单。
3. 全链路股票与 ETF 通用复权
- 原生复权支持:所有 K 线数据获取接口原生支持
adjust='qfq'(前复权)与adjust='hfq'(后复权)参数,底层直接完成向量化复权计算后输出。 - 全品种支持:统一复权流水线无缝兼容股票(送转股、派发现金红利、配股)与各类 ETF 基金(覆盖 51/588 科创板/56 等代码段的基金份额折算与现金分红)。
- 多级兜底机制:本地 XDXR 离线缓存、网络 XDXR 实时提取与新浪/同花顺因子序列自动降级兜底。
4. 专业财务数据解析 (580+ 财务指标)
- 多期历史报表探查与下载:支持自动获取通达信服务器最新的财务报表归档发布清单(
gpcw.txt文件大小与 MD5 比对)。 - 全科目结构化解包:解析
gpcw*.zip/.dat原始数据,支持中英文标准表头映射,覆盖基础每股指标、资产负债表、利润表、现金流量表、营运偿债比率以及金融行业(银行/保险/证券)专属科目。
5. 巨潮资讯权威公告检索 (CninfoClient)
- 独立数据通道:基于 Python 标准库
urllib实现,零额外第三方依赖。 - 全市场映射保障:动态对接巨潮官方权威
orgId映射表,彻底解决 601xxx、688xxx 等特定网段代码无法命中公告的问题。 - 完整研报与公告回溯:支持获取包含发布日期、分类标签、公告正文标题、网页详情 URL 以及官方原始 PDF 附件下载链接的结构化数据。
6. 防封增量同步与持久化基础设施
- 请求节流与并发控制:
sync_daily与sync_xdxr内置批次切分、单任务微延时与滑动窗口限流,避免触发服务器流控封禁。 - 进程安全与长效缓存:支持 90 天长效缓存机制,写入采用跨进程文件锁(
filelock)与原子替换保护,防止多进程并发损坏。
快速安装
# 安装基础包
pip install mootdx2
# 安装完整增强依赖 (包含可视化与交互工具)
pip install "mootdx2[all]"
架构概览与接口参考
项目提供从高层数据管理器到底层二进制解析的多级调用体系,详细接口说明与字段定义请参阅专项文档:
- 完整接口参数与全景能力说明:
docs/mootdx2_interfaces.md - 场景化代码示例与实战脚本:
sample/README.mdsample/01_quotes/: 在线行情获取与原生/兼容协议驱动双模演示sample/02_reader/: 本地二进制数据极速离线读取与日 K 线管理器sample/03_affairs/: 专业财务报表下载与 580+ 科目字段解析sample/04_quant_and_etf/: 股票与 ETF 复权计算、股息率统计与 K 线绘制sample/05_utils/: 服务器测速探测与缓存性能优化sample/06_cninfo/: 巨潮资讯公告检索与 PDF 原件获取
开源协议
本项目基于 MIT License 协议开源。
Release files for mootdx2 1.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mootdx2-1.5.0.tar.gz | 11.8 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mootdx2-1.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.0 MB
Release files / mootdx2-1.5.0.tar.gz
| Download URL | mootdx2-1.5.0.tar.gz |
|---|---|
| Size | 11.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a7d647cc5cf1968b7be9816c9159cd3adcfe2621c82bc430fc6a33e8333c2eb2
|
|
BLAKE2b-256 checksum How to use checksums |
5c9913706eb6a308d636908f780ec7822324d9c2e17b0fa10befe15ba7b4fe71
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.15 {"installer":{"name":"uv","version":"0.9.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / mootdx2-1.5.0-py3-none-any.whl
| Download URL | mootdx2-1.5.0-py3-none-any.whl |
|---|---|
| Size | 204.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f1f16a90340d7cd4b14acfa4753c74c9e821073a4fb416dee38483d6a2e0a974
|
|
BLAKE2b-256 checksum How to use checksums |
d9236f5efaeb971aeb5fc4119c21cfcd99670234c56c6365f57aa76407525338
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.15 {"installer":{"name":"uv","version":"0.9.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|