Mootdx 实战:3 行代码把通达信本地行情读成 Pandas DataFrame
发布时间:2026/10/21 20:20:21 锦皓数字建站

Mootdx 实战3 行代码把通达信本地行情读成 Pandas DataFrame【免费下载链接】mootdx通达信数据读取的一个简便使用封装项目地址: https://gitcode.com/GitHub_Trending/mo/mootdxMootdx 是通达信数据读取的简便使用封装离线文件走Reader在线行情走Quotes可以把通达信本地的.day、.lc1行情文件和在线 K 线数据直接读成 Pandas DataFrame省去手工导出再清洗的流程。本文面向希望把通达信数据接入 Python 量化分析的开发者按安装、首次取数、常用操作、排错的顺序过一遍完整动线。安装 Mootdx 并验证数据目录环境要求与数据目录从哪来Python 3.8 及以上Windows、macOS、Linux 均可运行。离线数据目录来自通达信终端的安装目录。以C:/new_tdx为例vipdoc/sh/lday/存放沪市日线文件vipdoc/sz/lday/存放深市日线文件每只股票一个文件例如sz000001.day就是平安银行的日线数据T0002子目录存放板块与缓存文件供block等接口使用。Reader的默认路径是C:/new_tdx实际使用时通过tdxdir参数指定任意安装目录在线的Quotes则不需要数据目录。用 pip 安装并验证版本pip install mootdx[all] # 只装核心依赖可用: pip install mootdx python -c import mootdx; print(mootdx.__version__)需要命令行工具mootdx quotes、mootdx reader等批量导出命令时改装pip install mootdx[cli]。五分钟拿到第一份数据本地已有通达信数据目录时最小可运行路径只有三行from mootdx.reader import Reader reader Reader.factory(marketstd, tdxdirC:/new_tdx) df reader.daily(symbol600036) print(df.head())几个值得注意的行为tdxdir必须指向已存在的目录否则初始化时直接抛出tdxdir 目录不存在便于尽早发现路径配错市场不用自己传代码前缀会自动判断内部自行拼出sh600036.day这样的文件路径该股票文件不存在时返回空 DataFrame而不是None返回值以时间为索引vol列会被复制为volume列。仓库里的 sample/basic_reader.py 给出了分钟、5 分钟与日线读取的完整示例。支持的数据类型一览数据类型接口典型用途本地日线Reader.daily(symbol...)回测、指标计算本地 1 分钟 / 5 分钟线Reader.minute(symbol..., suffix1)/Reader.fzline(symbol...)日内数据分析在线 K 线Quotes.bars(symbol..., frequency9, offset800)获取最新行情指数 K 线Quotes.index(symbol000001, frequency9)大盘指数走势扩展市场期货等Reader.factory(marketext)daily(symbol29#A1801)非 A 股行情板块数据Reader.block(symbolblock_zs, groupFalse)行业、概念、地域板块成分除权除息Quotes.xdxr(symbol...)前复权 / 后复权财务文件Affair.files()/Affair.parse(downdir...)解析公司财务数据marketstd是 A 股标准市场ext是扩展市场期货、期权等两种Reader相互独立。三个高频操作读取在线 K 线在线接口不依赖数据目录直接连接行情服务器取数。frequency是周期代码9 为日线offset是每次获取的条数内部单次上限为 800 条from mootdx.quotes import Quotes client Quotes.factory(marketstd, multithreadTrue, heartbeatTrue) raw client.bars(symbol600036, frequency9, offset100) # 不复权 qfq client.bars(symbol600036, frequency9, offset100, adjustqfq) # 前复权不复权与复权数据上面第二行演示了复权写法bars的adjust参数会被底层的转换函数透传处理取qfq前复权、hfq后复权不传则不复权。除权系数从公开数据源获取并写入~/.mootdx/xdxr/下的文件缓存缓存有效期 24 小时重复调用不会每次都发起请求。给取数函数加文件缓存同一份数据被反复读取的场景批量回测、生成股票列表可以用mootdx.utils.pandas_cache里的pd_cache装饰器结果默认 pickle 到.pd_cache目录expired参数按秒设置过期时间。from mootdx.utils.pandas_cache import pd_cache pd_cache(expired3600) def load_daily(symbol): return reader.daily(symbolsymbol)常见问题数据目录定位报 tdxdir 目录不存在 怎么办结论tdxdir要传终端安装根目录vipdoc的上一级而不是vipdoc本身。先确认路径是否正确python -c import os; print(os.path.isdir(C:/new_tdx/vipdoc))输出False说明路径不对在磁盘上找到vipdoc目录取其父目录作为tdxdir即可。市场代码sh / sz 会自动判断吗会。离线Reader与在线Quotes都按代码前缀判断5、6、9 开头含 50/51/60/68/90 等归沪市00/12/13/15/16/20/30/39 等开头归深市4、8 开头归北交所bj代码本身以sh或sz开头时直接按前缀使用。扩展市场使用带#的代码如29#A1801会自动路由到对应数据目录不需要自己换算市场号。复权结果出现异常值或 NaN最常见原因是除权系数缺失内部逻辑先对缺失值做前向 / 后向传播剩余位置填 1.0等价于不复权所以结果可能看起来没复权。排查顺序执行client.xdxr(symbol600036)看除权除息记录是否为空删除~/.mootdx/xdxr/缓存后重新运行排除过期缓存的影响回测中对比除权日前后的收盘价正常除权日应能看出复权带来的连续变化。继续深入仓库内 docs/quick.md 提供了上述流程的精简版本以及bestip服务器测速命令docs/api/reader.md 覆盖了扩展市场与板块读取等离线接口的完整参数sample/ 下还有在线行情、复权、财务数据的可运行脚本。命令行工具另外提供bundle批量导出行情、mootdx affair下载财务文件两类命令用法见 docs/cli/。【免费下载链接】mootdx通达信数据读取的一个简便使用封装项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。