ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

还在手动刷行情?用 Python 读取通达信数据,3 分钟搭好你的 A 股数据获取管道

还在手动刷行情?用 Python 读取通达信数据,3 分钟搭好你的 A 股数据获取管道 还在手动刷行情用 Python 读取通达信数据3 分钟搭好你的 A 股数据获取管道【免费下载链接】mootdx通达信数据读取的一个简便使用封装项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx一句话场景你盯盘靠 F5 刷新复盘靠截图数据清洗靠复制粘贴 Excel……如果这正是你的日常那么这篇 mootdx 使用教程就是为你准备的。传统方法 痛点 免费接口 说挂就挂延迟感人 付费服务 钱包疼文档更疼 通达信本地 数据是拿到手了可解析格式能把人逼疯上面这张表是我做量化测试这三年踩坑的浓缩版。免费行情接口动不动就限流、丢字段付费方案一年的账单能买一台不错的笔记本而本地落盘的通达信数据虽然全但二进制格式、字段缩写、复权规则……光是搞清楚这些就足够写一本书。后来我把目光转向了mootdx——一个专注通达信数据读取的 Python 封装库。它把上面的麻烦全部打包隐藏起来让你用几行代码就能完成Python A 股数据获取从实时行情到历史 K 线从财务指标到除权除息一步到位。旧思路为什么走不通三座大山在聊解法之前先看看老办法到底卡在哪。第一座山接口薛定谔的可用性。很多免费数据源今天能调通、明天就 403周末维护更是直接失联。你做监控系统最怕的就是它在你最需要的时候宕机。第二座山格式永远在惊喜。同一家公司的不同接口字段名一会儿是vol一会儿是volume时间戳有时是字符串有时是毫秒数。清洗数据的功夫比写分析逻辑还长。第三座山本地数据的黑盒。通达信客户端的.day、.lc1、.lc5文件看着亲切但它们是专有的二进制结构直接读出来全是乱码没人愿意为这个自己造轮子。而 mootdx 的存在恰好把这三座山一次性铲平在线行情走通达信官方服务器离线数据直接解析本地文件两边输出的都是规整的 Pandas DataFrame。mootdx 是什么一句话 三件事mootdx 是通达信行情与数据文件的统一封装层让你用面向对象的方式拿数据而不是跟协议和二进制格式搏斗。它能帮你做到这三件事在线实时行情股票报价、盘口、日/周/月/分钟 K 线、指数、分时、分笔成交一个Quotes客户端全部搞定离线本地数据直接读取通达信数据目录里的日线、分钟线、五档历史文件顺便把复权因子也算好扩展能力自定义板块管理、本地财务数据下载、数据导出 CSV/Excel以及一套开箱即用的命令行工具。听起来很丰满下面我们用拿到第一份数据这个目标把流程完整走一遍。3 分钟跑通第一个示例拿到第一份行情第 1 步准备环境约 1 分钟建议先建一个干净的虚拟环境再安装git clone https://gitcode.com/GitHub_Trending/mo/mootdx cd mootdx pip install mootdx[all][all]会把行情、财务、命令行等全部依赖一次装齐省心。第 2 步拉取实时报价约 1 分钟新建一个demo.py粘贴下面这段from mootdx.quotes import Quotes # 创建标准 A 股行情客户端 client Quotes.factory(marketstd) # 查询平安银行实时行情 row client.quotes(000001)[0] print(f名称: {row[name]}) print(f最新价: {row[price]}) print(f涨跌幅: {row[change_percent]}%) print(f成交量: {row[volume]})运行后你会看到控制台直接打印出平安银行的名字、最新价、涨跌幅和成交量——没有任何协议解析、没有字段映射数据已经是规整的 DataFrame。第 3 步拉取历史 K 线约 1 分钟from mootdx.quotes import Quotes client Quotes.factory(marketstd) # frequency9 表示日线offset50 表示最近 50 个交易日 df client.bars(symbol600036, frequency9, offset50) print(df.tail()) # 只看最后 5 行运行后你会看到一张带open / high / low / close / volume标准列名的表格索引自动转换成了日期时间格式直接就能丢给 pandas 做后续计算。到这里你的Python A 股数据获取管线已经通了。在线部分就这么简单那离线数据呢进阶一步用 Python 读取通达信本地数据如果你手头已经有一份通达信数据目录比如tdx_data/里面有vipdoc/sh/lday/这样的结构用 Reader 读它同样轻快from mootdx.reader import Reader # 指向本地通达信数据目录 reader Reader.factory(marketstd, tdxdir./tdx_data) # 读取招商银行的日线 daily reader.daily(symbol600036) print(f共获取 {len(daily)} 条日线记录) print(daily.head())运行后你会看到本地二进制.day文件被解析成同样的 DataFrame 结构字段和在线接口完全一致。这意味着你可以先用在线接口做验证再用本地数据做回测两套数据源无缝切换。实战故事朋友阿凯的盯盘自由阿凯是位程序员他的烦恼很具体盯盘靠人肉。他想在贵州茅台涨到某个价位时第一时间收到提醒为此研究过各种付费推送服务最后被我安利了 mootdx 的轮询方案。他的核心代码只有这么点import time from datetime import datetime from mootdx.quotes import Quotes def 盯盘(代码, 目标价): client Quotes.factory(marketstd, heartbeatTrue) while True: quote client.quotes(代码)[0] now datetime.now().strftime(%H:%M:%S) print(f[{now}] 最新价 {quote[price]}) if quote[price] 目标价: print(f {代码} 已到目标价 {目标价}该动手了) break time.sleep(30) 盯盘(600519, 1800)运行后你会看到每 30 秒打印一次最新价一旦触及 1800 元立即提示。heartbeatTrue是长连接保活避免盯盘中途断线。我还把同一个思路用在了每日数据自动归档上下班前跑一段脚本把自选股的日线批量导出成 CSV存进网盘——第二天到公司打开文件就能做复盘再也不用手动去通达信里另存为了。避坑锦囊六个高频疑问一次说清Q1装完包却提示缺少命令行依赖A多半只装了核心依赖。补一条pip install mootdx[cli]即可。Q2连服务器总超时数据偶尔为空怎么办A让 mootdx 自动挑最快的服务器Quotes.factory(marketstd, bestipTrue)或者命令行跑python -m mootdx bestip -vv手动测速。网络差的环境建议把超时调大一点。Q3K 线返回的数据是空的A先检查代码前缀和频率参数。A 股代码带市场前缀如600036频率 9 是日线、8 是一分钟线、0 是五分钟线传错就查不到。Q4离线 Reader 报tdxdir 目录不存在A路径要指到包含vipdoc的根目录而不是vipdoc本身。目录结构长这样tdx_data/ ├── sh/ ├── sz/ └── vipdoc/ ├── sh/lday/ └── sz/lday/Q5想拿除权除息和财务数据Aclient.xdxr(000001)拿除权除息记录client.finance(000001)拿财务快照client.F10(000001)拿公司资料目录。这些都是现成方法不用自己拼接口。Q6本地数据很多能批量转成 csv 吗Amootdx 自带了 tdx2csv 工具配合命令行python -m mootdx quotes -s 600000 -a daily -o out.csv也能直接把在线行情落盘成 CSV/Excel归档任务交给它就行。写在最后你的 A 股数据获取之旅从今天开始回看这一路我们只做了三件事装一个库、写十行代码、跑通在线与离线两条数据通道。没有复杂的协议学习没有痛苦的格式清洗Python A 股数据获取的复杂度被 mootdx 压到了一个几乎不可见的位置。接下来的路你可以按这个节奏走把示例跑起来感受Quotes与Reader的 API 手感参考项目里的示例脚本sample/basic_quotes.py、sample/basic_reader.py扩展自己的功能动手做一个小工具——价格提醒、数据归档、简单回测什么都行关键是今天就跑起来。数据在流动策略才能生长。别等了打开终端把第一份行情数据拉下来你的量化之路就从这一行pip install开始。有问题想一起讨论扫码加入社区和更多用 Python 读通达信数据的朋友交流心得。【免费下载链接】mootdx通达信数据读取的一个简便使用封装项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表