尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

5分钟上手mootdx:Python通达信数据获取实战指南

5分钟上手mootdx:Python通达信数据获取实战指南 5分钟上手mootdxPython通达信数据获取实战指南【免费下载链接】mootdx通达信数据读取的一个简便使用封装项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx本文速览想用 Python 获取 A 股行情却被各种付费 API、失效接口和混乱格式劝退本文带你用开源库 mootdx 打通通达信数据获取全流程——实时行情、历史 K 线、财务数据一次讲清零基础也能跟着跑通第一段代码。深夜十一点的尴尬晚上十一点你盯着屏幕上的报错信息第无数次复制粘贴请使用正确的 token。这不是什么科幻场景而是每一个想用 Python 分析 A 股的人几乎都踩过的坑免费的行情接口三天两头失效、付费的动辄几千一年、网上找到的历史数据 Excel 打开一看列名全是乱码……好不容易搞定数据源格式又和你手里的回测框架对不上。如果你也有类似的经历那么接下来这个项目可能正是你要找的答案。一句话说清 mootdx 是什么mootdx 是一个纯 Python 实现的通达信数据读取封装库它把通达信客户端的行情、历史和财务数据接口包装成几行就能调用的友好 API而且完全开源免费。它解决的问题很简单让你用最少的代码、最快的速度拿到干净、规范、可以直接进 pandas 的 A 股数据。它能帮我做什么五个问题一次问清Q1我不装通达信软件能用它吗能。mootdx 分在线和离线两条路在线模式直接连接通达信的行情服务器实时报价、K 线、分时全都有不需要安装任何客户端软件离线模式如果你手头有通达信数据目录或从网上同步的本地数据它可以像本地数据库一样快速读取。一句话总结有网拿实时有盘读历史两条路都通。Q2历史 K 线数据怎么拿这是它最常用的能力之一。日线、周线、月线、分钟线一个bars()方法搞定返回的就是 pandas 的DataFrame直接进rolling()、pct_change()这类计算不用做任何格式转换。Q3数据是脏的吗复权怎么办很多免费数据源拿到的都是不复权数据直接算收益率会失真。mootdx 把复权也考虑进去了项目里有现成的复权示例sample/fq.py、sample/basic_adjust.py前复权、后复权都能处理省去你自己写除权除息逻辑的麻烦。Q4财务数据它管吗管。上市公司财报、财务指标这类数据它提供了专门的财务数据模块支持文件列表查询、单个下载、批量解析做基本面分析时非常顺手。Q5我是新手上手难不难不难。核心入口就三个Quotes实时行情、Reader历史数据、Affair财务数据每个类都提供统一的factory工厂方法记住这一个套路就能覆盖绝大多数场景。从零到一跑通你的第一段代码第 1 步安装约 1 分钟推荐直接安装全量依赖省去后面缺库的麻烦pip install -U mootdx[all]如果你习惯从源码研究也可以克隆仓库再本地安装git clone https://gitcode.com/GitHub_Trending/mo/mootdx cd mootdx pip install -e .第 2 步挑选最快的服务器通达信有多个行情服务器速度参差不齐。mootdx 自带测速工具先跑一遍把最快的服务器存进配置python -m mootdx bestip -vv它会逐台测速并给出排行之后每次连接都会优先使用最优节点。这一步是很多人忽略但非常影响体验的关键操作。第 3 步获取第一份实时行情新建一个demo.py写入以下代码from mootdx.quotes import Quotes # 创建行情客户端std 是标准市场股票 client Quotes.factory(marketstd, multithreadTrue, heartbeatTrue, bestipTrue) # 获取实时行情平安银行 quote client.quotes(000001) print(quote.head())运行后你会看到类似这样的输出market code name price ... 0 0 000001 平安银行 11.23 ...一个DataFrame列名规范、类型正确可以直接拿去用。第 4 步拉取历史 K 线# 日线数据frequency 传 9 或 day 都是日线 df client.bars(symbol600036, frequency9, offset30) print(df.tail())frequency支持数字或字符串两种写法常用映射如下数值字符串含义05m5 分钟线4day日线5week周线7 / 81m1 分钟线9day日线与 4 等价如果你本地有通达信数据目录还可以用离线读取from mootdx.reader import Reader reader Reader.factory(marketstd, tdxdirC:/new_tdx) daily reader.daily(symbol600036) # 日线 minute reader.minute(symbol600036) # 分钟线 print(daily.head())到这里你已经完成了安装 → 配置 → 首次运行 → 查看结果的完整闭环。过来人的避坑锦囊性能优化三件事开多线程Quotes.factory(multithreadTrue)批量取数时速度提升明显开心跳heartbeatTrue保持长连接长时间轮询不会被服务端踢下线批量请求尽量一次传入多个股票代码减少往返次数。比如client.quotes([000001, 600036, 600519])。三个高频报错QModuleNotFoundError缺少命令行依赖A你装的是核心包命令行工具需要额外依赖。执行pip install mootdx[cli]即可。QReader读出来的数据是空的A先检查tdxdir是否指向了正确的通达信数据根目录——注意是包含sh、sz等子目录的那一层而不是某个股票文件夹。Qbestip测速时报连接失败A可能是网络环境限制了对行情服务器的访问稍后重试或手动在配置文件里指定服务器 IP 与端口。一个最容易踩的坑frequency参数的值是从 0 开始编号的frequency4才是日线不是 1。新手最容易在这里搞混拿到一堆奇怪周期的数据。上面那张对照表建议收藏。实战集锦三个身份三种玩法 学生党课程作业里的历史回测金融课作业要做一个简单回测数据全部来自本地目录又快又稳from mootdx.reader import Reader reader Reader.factory(marketstd, tdxdir./tdx_data) df reader.daily(symbol000001) # 直接进 pandas 计算作业数据瞬间就绪 df[ma5] df[close].rolling(5).mean() print(df[[close, ma5]].tail()) 量化工程师盘中自选股监控实时盯盘每分钟检查一次自选股的价格变化from mootdx.quotes import Quotes import time client Quotes.factory(marketstd, multithreadTrue, heartbeatTrue) watch [000001, 600036, 600519] while True: df client.quotes(watch) print(df[[code, price]].to_string(indexFalse)) time.sleep(60) # 每分钟刷新一次 分析师批量拉取财报数据季报披露季把全市场财报一次性同步到本地慢慢分析from mootdx.affair import Affair # 查看远程有哪些财务数据文件 files Affair.files() print(files[:3]) # 下载全部财报文件到本地 tmp 目录 Affair.parse(downdirtmp)文件下载到本地后配合mootdx/financial/模块解析成表格基本面研究的数据底座就搭好了。想深入这些资源按需取用资源适合什么时候看docs/quick.md想 30 秒回顾核心用法时sample/basic_quotes.py第一次写实时行情代码时对照sample/basic_reader.py想读本地历史数据时sample/basic_affairs.py处理财务数据时docs/api/需要查具体 API 参数说明时docs/cli/想用命令行快速导数据时tests/想了解官方推荐的调用姿势时sample/fq.py 与 sample/basic_adjust.py需要复权数据时现在动手取你的第一份数据回顾一下mootdx 用三个统一入口Quotes、Reader、Affair覆盖了 A 股数据获取的核心场景返回值直接就是 pandas 结构配好服务器后几行代码就能跑通。它省去的不是写代码的时间而是那些找接口、对格式、做清洗的无效劳动。下一步很简单打开终端pip install mootdx[all]把上面第 3 步的代码跑起来。当你看到第一行行情数据打印出来的那一刻你的 A 股数据 pipeline 就已经开工了。温馨提示mootdx 是开源学习交流项目请合理使用市场数据遵守相关法律法规本文不构成任何投资建议市场有风险决策需谨慎。现在就去试试吧——你的第一个股票数据脚本就差一行pip install。【免费下载链接】mootdx通达信数据读取的一个简便使用封装项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表