5 行代码取到第一根 K 线:mootdx 让 Python 读通达信行情数据【免费下载链接】mootdx通达信数据读取的一个简便使用封装项目地址: https://gitcode.com/GitHub_Trending/mo/mootdxmootdx 是一个 Python 封装库,把通达信客户端的本地行情文件和线上行情服务器统一成 DataFrame 接口,覆盖实时行情、K 线、财务下载和本地文件读取,适合做 A 股量化数据管道。mootdx 管哪些数据:K线、实时行情、财务与本地通达信文件线上 K 线:Quotes.bars()按频率从行情服务器拉历史 K 线,日线 / 分钟线都能取实时行情:Quotes.quotes()拉当前价、量、买一卖一等字段快照,返回 DataFrame财务下载:Affair.files()列远端财务原始文件,Affair.fetch()下载到本地本地文件读取:Reader.daily()/Reader.minute()直接解析vipdoc下的.day/.lc1文件,离线也能跑从 0 到第一次取数:Python 获取 A 股行情的最短路径环境要求 Python 3.8+。装依赖:# 装核心包即可,命令行工具按需加 [cli] pip install mootdx取第一次行情:from mootdx.quotes import Quotes # bestip=True 会自动测速挑一台延迟最低的服务器 client = Quotes.factory(market='std', bestip=True, timeout=15) df = client.quotes('600036') print(df)df是 pandas DataFrame,列名包含price、open、high、low、vol等,直接接进后续计算即可。按任务取数:历史 K 线 / 本地通达信读取 / MA 均线拉一段历史 K 线frequency=9表示日线,offset上限 800 根,start控制从第几根开始:bars = client.bars(symbol='600036', frequency=9, offset=120) bars.head()要更早的窗口,把start往前推,或改走下面的本地读取。读本地通达信日线文件你机器上装过通达信客户端的话,把tdxdir指到含vipdoc的根目录,不需要联网:from mootdx.reader import Reader r = Reader.factory(market='std', tdxdir='D:/new_tdx') r.daily(symbol='600036').tail()分钟线走r.minute(symbol='600036', suffix=1)(1 分钟)或suffix=5(5 分钟),文件缺失时返回None。在数据上算一条 MA 均线拿到 DataFrame 之后就是常规 pandas 操作:bars['ma5'] = bars['close'].rolling(5).mean() bars['ma20'] = bars['close'].rolling(20).mean()跑起来之前先知道这几个坑连接断了→client.reconnect()会基于bestip重建连接;factory(..., heartbeat=True)可让长任务保持连接。返回空 DataFrame→Quotes.quotes()在代码无法识别时返回空表,Reader.daily()找不到文件返回None;判df is None or df.empty再决定跳过还是重试。本地目录配置→Reader要求tdxdir必须存在,默认值C:/new_tdx只适合 Windows,Linux / Mac 下记得改成你自己的路径。缓存文件过旧→ 抛FileNeedRefresh时,走Affair.fetch()拉新文件,或让客户端重下。服务器挑不到→ 首次跑python -m mootdx bestip -vv把低延迟的一台写进config.json。仓库里还埋着什么接口细节看 docs/api/,能直接跑的脚本在 sample/,格式转换、复权、交易日历三个工具分别在 mootdx/tools/tdx2csv.py、mootdx/utils/adjust.py 和 mootdx/utils/holiday.py。先拿bars()的输出跑一版最短的回测,再切到Reader用本地文件做无网环境的对照,两条路的数据应当能对上。【免费下载链接】mootdx通达信数据读取的一个简便使用封装项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
5 行代码取到第一根 K 线:mootdx 让 Python 读通达信行情数据【免费下载链接】mootdx通达信数据读取的一个简便使用封装项目地址: https://gitcode.com/GitHub_Trending/mo/mootdxmootdx 是一个 Python 封装库,把通达信客户端的本地行情文件和线上行情服务器统一成 DataFrame 接口,覆盖实时行情、K 线、财务下载和本地文件读取,适合做 A 股量化数据管道。mootdx 管哪些数据:K线、实时行情、财务与本地通达信文件线上 K 线:Quotes.bars()按频率从行情服务器拉历史 K 线,日线 / 分钟线都能取实时行情:Quotes.quotes()拉当前价、量、买一卖一等字段快照,返回 DataFrame财务下载:Affair.files()列远端财务原始文件,Affair.fetch()下载到本地本地文件读取:Reader.daily()/Reader.minute()直接解析vipdoc下的.day/.lc1文件,离线也能跑从 0 到第一次取数:Python 获取 A 股行情的最短路径环境要求 Python 3.8+。装依赖:# 装核心包即可,命令行工具按需加 [cli] pip install mootdx取第一次行情:from mootdx.quotes import Quotes # bestip=True 会自动测速挑一台延迟最低的服务器 client = Quotes.factory(market='std', bestip=True, timeout=15) df = client.quotes('600036') print(df)df是 pandas DataFrame,列名包含price、open、high、low、vol等,直接接进后续计算即可。按任务取数:历史 K 线 / 本地通达信读取 / MA 均线拉一段历史 K 线frequency=9表示日线,offset上限 800 根,start控制从第几根开始:bars = client.bars(symbol='600036', frequency=9, offset=120) bars.head()要更早的窗口,把start往前推,或改走下面的本地读取。读本地通达信日线文件你机器上装过通达信客户端的话,把tdxdir指到含vipdoc的根目录,不需要联网:from mootdx.reader import Reader r = Reader.factory(market='std', tdxdir='D:/new_tdx') r.daily(symbol='600036').tail()分钟线走r.minute(symbol='600036', suffix=1)(1 分钟)或suffix=5(5 分钟),文件缺失时返回None。在数据上算一条 MA 均线拿到 DataFrame 之后就是常规 pandas 操作:bars['ma5'] = bars['close'].rolling(5).mean() bars['ma20'] = bars['close'].rolling(20).mean()跑起来之前先知道这几个坑连接断了→client.reconnect()会基于bestip重建连接;factory(..., heartbeat=True)可让长任务保持连接。返回空 DataFrame→Quotes.quotes()在代码无法识别时返回空表,Reader.daily()找不到文件返回None;判df is None or df.empty再决定跳过还是重试。本地目录配置→Reader要求tdxdir必须存在,默认值C:/new_tdx只适合 Windows,Linux / Mac 下记得改成你自己的路径。缓存文件过旧→ 抛FileNeedRefresh时,走Affair.fetch()拉新文件,或让客户端重下。服务器挑不到→ 首次跑python -m mootdx bestip -vv把低延迟的一台写进config.json。仓库里还埋着什么接口细节看 docs/api/,能直接跑的脚本在 sample/,格式转换、复权、交易日历三个工具分别在 mootdx/tools/tdx2csv.py、mootdx/utils/adjust.py 和 mootdx/utils/holiday.py。先拿bars()的输出跑一版最短的回测,再切到Reader用本地文件做无网环境的对照,两条路的数据应当能对上。【免费下载链接】mootdx通达信数据读取的一个简便使用封装项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考