资讯动态

Mootdx 完整教程:三步跑通通达信 K 线数据,离线与在线行情一网打尽

发布时间:2026/10/21 10:41:55 来源:尧图企业网站定制
Mootdx 完整教程三步跑通通达信 K 线数据离线与在线行情一网打尽【免费下载链接】mootdx通达信数据读取的一个简便使用封装项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx当你准备写一个双均线策略时第一件事是把贵州茅台600519的日线行情拉到手里。Mootdx 是一个通达信数据读取的 Python 封装一行Quotes.factory连上在线行情一行Reader.daily解析本机通达信目录里的 .day 文件拿到的都是标准 pandas DataFrame。这篇教程带你从安装、第一次拉取 K 线到算出可用的均线信号顺带讲清缓存与重试这些工程细节。一、它把 5 步流程压缩成 1 步不借助 Mootdx从行情软件里拿一份干净的日线数据通常要绕好几道打开通达信 → 菜单导出数据 → 得到一堆 txt 文件 → 手动清洗成 csv → 用 pandas 读入并调整列名中间任何一步格式有出入都得重来。用 Mootdx 之后这条链路缩成两步以内在线client.bars(symbol600519)一次调用返回最近 800 根日 K离线Reader.factory(marketstd, tdxdirC:/new_tdx).daily(symbol600519)直接把安装目录vipdoc/sh/lday/下的二进制 .day 文件变成 DataFrame。复权、分笔、板块、财务文件这些常用数据也都有现成方法不用自己写解析。二、三步完成安装装包、建客户端、拉第一根 K 线环境要求Python 3.8Windows / macOS / Linux 均可。如果打算连用命令行工具推荐一步装全pip install -U mootdx[all]装好后用下面这段最小示例拉取茅台最近的 10 根日 K。预期输出是一个带open/high/low/close/vol列、按日期索引的 DataFramefrom mootdx.quotes import Quotes client Quotes.factory(marketstd, quietTrue) df client.bars(symbol600519, frequency9, offset10) # 9 日K print(df.tail())frequency常用取值9日 K、05 分钟、3小时、5周 K、6月 K。跑通这段你就可以正式开工了。三、能力地图它到底能读什么模块方法能拿到什么Quotes在线bars/k/index个股、指数 K 线支持adjustqfq/hfq复权quotes多只股票实时五档快照transaction/transactions当日与历史分笔成交xdxr/finance除权除息、公司财务指标stocks/stock_count全市场代码列表、数量Reader离线daily/minute/fzline本机 .day/.lc 文件的日 K、1 分钟、5 分钟线block/block_new内置板块、自定义板块读写Affair财务files/fetch/parse通达信财务 zip 文件下载与解析CLImootdx quotes / reader / bundle / bestip / affair免写代码的行情导出与服务测速各方法的完整参数说明见 docs/api/可直接运行的用例在 sample/ 目录。四、完整工作流从拉取行情到生成均线信号这一节只做一件事用 600519 的日 K 算出 MA5 上穿 MA20 的金叉信号。整个流程四步全部在一个脚本里。拉数据offset上限 800 根足够一年以上的日 K取窗口策略只需要最近 60 根先切片再计算算指标rolling().mean()得到两条均线找信号金叉 当日 MA5 MA20 且昨日 MA5 ≤ MA20。from mootdx.quotes import Quotes client Quotes.factory(marketstd, quietTrue) df client.bars(symbol600519, frequency9, offset800) data df.tail(60).copy() data[MA5] data[close].rolling(5).mean() data[MA20] data[close].rolling(20).mean() cross (data[MA5] data[MA20]) (data[MA5].shift(1) data[MA20].shift(1)) signal_date data.index[cross] print(signal_date if len(signal_date) else 近60根内无金叉)运行后会打印出触发金叉的交易日或提示没有信号。把symbol换成任何 A 股代码这套流程都成立。五、工程化技巧缓存、重试与选服务器把示例搬进日常任务时有三个点值得留意结果缓存重复请求同一个 DataFrame 是浪费。项目自带文件级缓存装饰器给函数加一行pd_cache()结果会 pickle 到.pd_cache/过期自动失效from mootdx.utils.pandas_cache import pd_cache pd_cache(expired3600) # 缓存 1 小时 def moutai_bars(): return Quotes.factory(marketstd, quietTrue).bars(symbol600519)失败重试底层已用 tenacity 处理了部分请求但对长批量任务建议自己再包一层例如对bars按 3 次指数退避重试失败的代码单独落表补拉。选最优服务器连接慢或不稳定时先测速并把结果写进配置文件之后所有客户端自动生效python -m mootdx bestip -vv另外注意bars单次最多取 800 根需要更久历史时用start参数分段翻页而不是一次把offset调大。六、高频问题3 个症状与解法1. 连接超时 / 一直重试后报连接错误症状Quotes.factory后第一次请求就卡住或抛异常。原因默认服务器对你的网络不可达或网络波动。解法运行python -m mootdx bestip -vv测速选优或初始化时加bestipTrue让它每次自检。2. Reader 读不到数据提示文件不存在症状FileNotFoundError或返回空 DataFrame。原因tdxdir填的是 .day 文件所在目录而不是通达信安装根目录其下应能看到vipdoc和T0002。解法tdxdir指向安装根目录如C:/new_tdx确认vipdoc/sh/lday/下确实存在对应股票的 .day 文件。3. 命令行报缺少命令行依赖症状执行mootdx quotes等命令时被提示安装依赖。原因只装了核心包pip install mootdx。解法补装pip install -U mootdx[cli]或直接用mootdx[all]。七、下一步通读 docs/ 中 api/ 与 cli/ 两节把Quotes、Reader、Affair的方法参数对照一遍按 sample/ 里的basic_quotes.py、basic_reader.py顺序跑一遍离线与在线各跑一次执行python -m mootdx bestip -vv固化一台最优服务器减少日常连接波动想参与开发时克隆仓库git clone https://gitcode.com/GitHub_Trending/mo/mootdx测试代码在tests/下本地 fixture 数据已备齐无需联网即可跑 Reader 相关用例。【免费下载链接】mootdx通达信数据读取的一个简便使用封装项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑