我要提问
ARTICLE DETAIL

资讯详情

前沿编程新知与开发实战干货的深度解读。

mootdx 完整指南:如何快速读取通达信数据,附 4 步数据链路体检清单

mootdx 完整指南:如何快速读取通达信数据,附 4 步数据链路体检清单 mootdx 完整指南如何快速读取通达信数据附 4 步数据链路体检清单【免费下载链接】mootdx通达信数据读取的一个简便使用封装项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx如果你也遇到过免费网页接口三天两头抽风、.day文件是二进制得对着结构体格式啃、商业数据源按年收费——mootdx 通达信数据获取就是冲着这些痛点来的。这个开源库把通达信软件里的日线分钟文件、在线行情服务器、远程财报文件统一封装成几个工厂方法传入股票代码拿出来的就是 pandas DataFrame直接接进分析流程。先分清数据在硬盘上还是在线上写代码前先回答一个问题你要的数据是不是已经躺在硬盘里了这决定了用哪个入口Reader直接读本地数据文件Quotes直连远程行情服务器两者都返回 DataFrame可以混着用。用三个问题自检要回测的历史日线、分钟线本地数据目录里已经有了→ 用Reader需要价格秒级更新做监控或补最近几天的数据→ 用Quotes两者都要→Reader打底 Quotes补最近的缺口两边结果可直接concat维度Reader离线Quotes在线数据住在哪里本地 vipdoc 数据目录远程行情服务器前置条件一个标准数据目录即可不需要装软件无直连服务器时效取决于文件刷新时间盘中秒级典型用途回测、批量统计实时监控、补最近数据创建方式Reader.factory(marketstd, tdxdir...)Quotes.factory(marketstd)一句话记忆磁盘是存量服务器是流量读存量用 Reader接流量用 Quotes。 按场景取数回测、监控、基本面场景 A历史回测读本地文件最快结论数据在硬盘上就别走网络直接读文件。tdxdir指向通达信安装目录数据文件在其中的vipdoc子目录下Reader 会按代码自动找到对应的.day文件from mootdx.reader import Reader reader Reader.factory(marketstd, tdxdirC:/new_tdx) # 数据目录 daily reader.daily(symbol600036) # 日线 minute reader.minute(symbol600036) # 1 分钟线suffix5 则是 5 分钟 print(daily.tail())拿到的是一张以日期为索引、含开高低收量的表格。核心实现在 mootdx/reader.pysh/sz 路径匹配和.lc1/.lc5后缀判断都在里面处理好了。场景 B实时监控直连行情服务器结论每秒都在变的数据只能走在线入口。一行创建客户端要什么取什么quotes()可以传列表多只股票一次网络请求搞定from mootdx.quotes import Quotes client Quotes.factory(marketstd, heartbeatTrue) # 心跳保活 quote client.quotes(symbol[600036, 600519]) # 批量实时行情 bars client.bars(symbol600036, frequency9, offset10) # 10 根日 K print(quote)第一句打印两只股票的实时买卖盘、价格、成交量等字段。核心实现在 mootdx/quotes.py。场景 C基本面研究财报直接下载解析结论不用四处搜集财报 PDF远程财报文件直接拉回来解析成表格from mootdx.affair import Affair files Affair.files() # 远程财报文件清单 Affair.fetch(downdirtmp, filenamegpcw20230630.zip) # 下载 df Affair.parse(downdirtmp, filenamegpcw20230630.zip) # 解析files()的清单里带文件名、大小、哈希parse发现本地缺文件会自动先下载。核心实现在 mootdx/affair.py。 实战演练给数据链路做一次体检目标用 4 个小环节确认你的数据水管不漏顺手把当天快照归档。整套做法通用把股票代码换成你的自选股就可以定时跑了。环节一30 秒环境自检先装依赖再跑内置测速看看行情服务器谁最快pip install -U mootdx[all] python -m mootdx bestip -v预期输出最快的服务器排名最优 IP 会写入 config.json之后创建的行情客户端会优先用它。环节二连通性验证创建客户端一次批量请求三只股票看网络与服务器是否都健康from mootdx.quotes import Quotes client Quotes.factory(marketstd, bestipTrue) # 自动选最快服务器 df client.quotes(symbol[000001, 000002, 600036]) print(not df.empty, len(df)) # 预期输出: True 3看到True 3说明三行行情都回来了在线链路健康结果为空或超时就回到环节一重跑测速。环节三本地与在线数据对表同一只股票用离线、在线各取一次收盘后两边的收盘价应当一致from mootdx.reader import Reader from mootdx.quotes import Quotes reader Reader.factory(marketstd, tdxdirC:/new_tdx) local reader.daily(symbol600036) online Quotes.factory(marketstd).bars(symbol600036, frequency9, offset1) print(local[close].iloc[-1], online[close].iloc[-1])两个数字对得上链路健康对不上先检查本地数据目录有没有刷新到当天。环节四快照归档与定时化批量导出的逻辑不用自己写命令行自带bundle子命令一条命令把多只股票存成 CSV# 批量下载日线并转存 CSV代码之间用英文逗号隔开 python -m mootdx bundle -s 600036,600519,000001 -a daily -o snapshot -e csv预期输出snapshot/ 目录下出现以代码命名的 3 个 CSV。要自动化的话加一行定时任务交易日 15:30 触发# 每个交易日 15:30 自动归档一次 30 15 * * 1-5 python -m mootdx bundle -s 600036,600519 -a daily -o snapshot -e csv到这里数据链路体检 快照归档齐活验连通、验一致性、落盘、定时全链路覆盖。⚡ 避坑清单写代码前该知道的 4 件事frequency 别只记数字K 线周期编码很容易记混9 是日线5 是周线6 是月线0 是 5 分钟线8 是 1 分钟线。不想背的话可以直接传字符串比如frequencyday库会自动换算完整对照表见 docs/api/quote1.md 文档。一次最多 800 根 K 线bars()的offset在源码里被硬性截到800要更长的历史就用start分页拉取或者用Reader在本地一次读全后者更稳。本地目录必须真实存在Reader构造时会校验tdxdir目录不存在会直接抛出tdxdir 目录不存在异常没有任何后手。另外 88** 开头的板块指数放在 sh 目录下这一点 Reader 内部已自动处理不用自己判断。配置文件自动生成IP 不用手写第一次用Quotes时若找不到 config.json 会自动测速生成脚本里也可以集中管理路径与服务器from mootdx import config之后用config.set(TDXDIR, C:/new_tdx)即可不必在多处写死。FAQ新手最常问的 5 个问题Q1行情服务器慢、经常断线怎么办创建时加bestipTrue自动选最快服务器heartbeatTrue保持连接客户端自带自动重试auto_retry断开后会自动重连。网络环境变化后重跑python -m mootdx bestip -v刷新一次即可。Q2期货等扩展市场能读吗可以marketext符号带#市场前缀例如reader.daily(symbol29#A1801)细节见 docs/api/reader.md。Q3不想写 Python 代码能纯命令行跑吗项目内置 CLIpython -m mootdx quotes在线行情、python -m mootdx reader本地数据、python -m mootdx bundle批量导出、python -m mootdx affair财务下载解析、python -m mootdx bestip测速。Q4支持复权吗client.bars()传adjustqfq或adjusthfq前复权、后复权由库自动完成不用自己算因子。Q5库本身免费吗能用于商业用途吗库本身是 MIT 开源协议但 README 里有郑重声明只作学习交流不得用于任何商业目的使用时注意这个边界。下一步把工具变成你的跑通最小示例对照 docs/quick.md 把离线读取和在线行情各跑一遍M1 芯片的 Mac 先看 docs/faq/py_mini_racer.md 里的依赖问题说明换成自己的把体检脚本里的自选股列表换成你自己的股票加上你关心的指标列每天归档翻源码想弄清某个接口怎么实现直接看 mootdx/quotes.pytests/quotes/ 下的测试用例是最好的学习范本。遇到问题想找人聊聊扫描下方二维码加作者微信交流数据链路打通的那一刻你会发现难的从来不是取数而是你想算什么。【免费下载链接】mootdx通达信数据读取的一个简便使用封装项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表