资讯详情

资讯详情

mootdx 实战:3 行代码拉取通达信 K 线与财务数据

mootdx 实战3 行代码拉取通达信 K 线与财务数据【免费下载链接】mootdx通达信数据读取的一个简便使用封装项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx用 Python 拿 A 股数据要么自己啃通达信私有协议要么在几个单点工具里拼凑。mootdx 是一个通达信数据读取的 Python 封装在线行情、离线 K 线、财务报表三类数据一次打包返回的都是 pandas DataFrame拉完就能直接进分析管线。为什么值得选 mootdx通达信是国内券商软件的通行数据源数据权威且实时但原生接口对 Python 开发者并不友好连接握手、二进制解析、服务器分片哪一环都会踩坑。mootdx 基于 tdxpy 把这些底层细节全部收走你只需要传股票代码和参数。相比直接调 pytdx 的裸 API它最省心的地方是体验一致性工厂方法统一入口、内置服务器探测列表、空结果自动重试不用每次重新踩同样的坑。对比维度pytdx 裸 APImootdx服务器选择自己找 IP 和端口bestipTrue并发测速自动选最快离线数据手动拼 vipdoc 文件路径按代码自动定位 sh/sz 目录财务报表无现成接口列表、下载、解析一条龙返回格式原始元组列表pandas DataFrame断线处理手动重连内置重试 心跳保活架构速览一类数据源一个入口代码按数据源划分mootdx/quotes.py 负责在线行情K 线、指数、分钟线mootdx/reader.py 读取本机通达信安装目录下的离线文件mootdx/affair.py 管财务数据的下载与解析服务器探测和测速逻辑集中在 mootdx/server.py底层还有一批 utils 提供缓存、频率换算等公共能力。整体分层很薄读源码没有负担。工厂方法统一入口Quotes.factory(marketstd)一行拿到客户端std股票/ext扩展市场自动切换底层实现。最快服务器自动探测bestipTrue会并发 ping 内置服务器列表结果写入本地配置免去手动试 IP。空结果自动重试基于 tenacity 检测返回的 DataFrame 是否为空自动重连再试省去手写重试循环。pandas 原生输出所有接口的返回都是 DataFrame无需手动拆包。核心能力拆解线上、离线、财务三件套拉在线 K 线给个代码就能跑最常用的入口是barsfrequency控制周期9 是日 K8 是 1 分钟0 是 5 分钟offset控制条数。客户端参数里multithread开启多线程批量请求heartbeat保持长连接不被掐断from mootdx.quotes import Quotes # 多线程请求 心跳保活 client Quotes.factory(marketstd, multithreadTrue, heartbeatTrue) # 拉取 600036 最近 100 根日 K 线 df client.bars(symbol600036, frequency9, offset100) print(df[[open, high, low, close, vol]].tail())读本地历史vipdoc 目录就是数据仓库如果你已经装了通达信客户端历史数据其实早就躺在安装目录的vipdoc文件夹里Reader 会按代码和市场自动拼出文件路径不用关心sz000001.day这类命名规则from mootdx.reader import Reader # tdxdir 指向你的通达信安装目录 reader Reader.factory(marketstd, tdxdirC:/new_tdx) daily reader.daily(symbol600036) # 日 K 线 minute reader.minute(symbol600036) # 分钟线 fzline reader.fzline(symbol600036) # 5 分钟线拿财务报表列目录、下载、解析三步财务数据以 zip 压缩包形式挂在远程服务器上files()先看目录fetch()下载parse()直接解析成表from mootdx.affair import Affair files Affair.files() # 查看可下载的报表文件列表 Affair.fetch(downdirtmp, filenamegpcw20231231.zip) # 下载单个报表 df Affair.parse(downdirtmp, filenamegpcw20231231.zip) # 解析为 DataFrame print(len(df), 条记录)一个场景跑通给日线策略备数据如果你要搭一条拉数据 → 算指标 → 落盘的小流程来验证回测管线线上 K 线加移动平均就够了。下面这段代码完整走完这个链路from mootdx.quotes import Quotes client Quotes.factory(marketstd, multithreadTrue, heartbeatTrue) code 600036 # 拉最近 800 根日 K单次请求上限约 800 条历史更长可用 start 分页 df client.bars(symbolcode, frequency9, offset800).reset_index() # 常用技术指标 df[MA5] df[close].rolling(5).mean() df[MA20] df[close].rolling(20).mean() df[ret] df[close].pct_change() # 落盘成 CSV编码用 utf-8-sig 方便 Excel 打开 df.to_csv(f{code}_daily.csv, indexFalse, encodingutf-8-sig) print(df[[datetime, close, MA5, MA20, ret]].tail())预期输出当前目录下生成一份{code}_daily.csv包含日期、开高低收、成交量额和新增的 MA5 / MA20 / ret 三列控制台打印最后 5 个交易日的收盘价与指标值ret列首行为空pct_change 的正常行为。整段代码不依赖本地安装的通达信有网就能跑。调优、生态与延伸稳定性三条经验 第一次跑先加bestipTrue测速把最快服务器固化进本地配置长驻进程务必开heartbeatTrue断线后库检测到空结果会自动重连拉长历史时用start/offset分批源码里get_k_data就是按 800 条一批切的。与 pandas 和缓存的配合所有接口返回 DataFrame可以直接to_csv/to_excelCLI 的-o参数也支持 CSV、HDF5、Excel 输出。反复拉同一批代码时用 mootdx/utils/pandas_cache.py 里的pd_cache装饰器把结果存成本地 pkl 并设置过期时间能省掉大量重复请求手里有通达信导出的 txt 文件mootdx/tools/tdx2csv.py 可以批量转成标准 CSV。进一步学习docs/quick.md快速上手三大接口加 CLI 用法十分钟能过完tests/真实调用示例与断言适合对照验证接口行为docs/api/行情、离线、财务接口的完整参数文档。如果你做量化策略或金融数据分析数据源正好落在通达信上mootdx 能帮你把协议层的麻烦一次性省掉。建议先跑通上面bars的示例拿到第一份 DataFrame再用bestip测一次服务器速度然后决定要不要把它接进你的数据管线。【免费下载链接】mootdx通达信数据读取的一个简便使用封装项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →