做量化或 A 股相关开发的人大概都知道 pytdx ,通达信 TCP 行情协议的 Python 客户端,用了好多年了。问题是这个项目已经很久没人维护了,issue 堆着没人回,最后几次提交还是几年前的事。
我自己平时要用,就 fork 过来接着改。改着改着加了不少东西,干脆换了名字叫 easy-tdx ,重新发到 PyPI 上。目前版本 1.4.0 。
加了个 CLI 工具,装好就有 easy-tdx 命令,默认输出 JSON 。这个设计是给 AI Agent 用的,Claude Code 、OpenClaw 、Hermes 这类工具可以直接调 CLI 拿行情数据,不用写 Python:
easy-tdx kline SZ 000001 --count 30 --table
easy-tdx quote "SZ 000001,SH 600519"
easy-tdx indicator MACD,KDJ,RSI -m SH -c 600519 --table
内置了 30 个技术指标,MACD 、KDJ 、RSI 、BOLL 、DMI 、ATR 这些常用的都有。直接拿 K 线数据算好返回 DataFrame ,不用自己再写一遍指标计算。底层用的是 MyTT (麦语言指标库),可以一次算多个:
from easy_tdx import MacClient, Market
with MacClient.from_best_host() as c:
df = c.get_stock_kline_with_indicators(
Market.SH, "600519",
indicators=["MACD", "KDJ", "RSI", "BOLL"],
count=30
)
技术指标
easy-tdx indicator-list --table # 列出所有可用指标
easy-tdx indicator MACD -m SH -c 600519 --table # MACD
easy-tdx indicator KDJ -m SZ -c 000001 --table # KDJ
easy-tdx indicator RSI -m SH -c 600519 --table # RSI
easy-tdx indicator BOLL -m SH -c 600519 --table # BOLL 布林带
easy-tdx indicator DMI -m SH -c 600519 --table # DMI 动向指标
easy-tdx indicator ATR -m SH -c 600519 --table # ATR 真实波幅
easy-tdx indicator WR -m SH -c 600519 --table # WR 威廉指标
easy-tdx indicator CCI -m SH -c 600519 --table # CCI 顺势指标
easy-tdx indicator BIAS -m SZ -c 000001 --table # BIAS 乖离率
easy-tdx indicator OBV -m SZ -c 000001 --table # OBV 能量潮
# 多指标同时计算
easy-tdx indicator MACD,KDJ,RSI,BOLL -m SH -c 600519 --count 10 --table
# 自定义参数
easy-tdx indicator MACD -m SH -c 600519 --params SHORT=10,LONG=22
# 分钟线指标
easy-tdx indicator MACD -m SH -c 600519 --period 5MIN --count 50
# 仅输出指标值(不含 OHLCV )
easy-tdx indicator RSI -m SZ -c 000001 --no-ohlcv
支持 30 个指标:MACD, KDJ, RSI, BOLL, DMI, ATR, WR, CCI, BIAS, OBV, VR, EMV, MFI, BRAR, ASI, TRIX, DPO, MTM, ROC, EXPMA, BBI, PSY, DFMA, CR, KTN, XSII, MASS, TAQ 。
其他新增的接口:板块汇总、板块排行、资金流向、集合竞价、市场异动、全市场涨跌统计、F10 公司信息、历史资金流向,还有港股美股期货的扩展行情。这些 pytdx 原来基本没有。
板块
easy-tdx board-list --type GN --table
easy-tdx board-list --type HY --count 200
easy-tdx board-members 881001 --table
easy-tdx belong-board SZ 000001 --table
easy-tdx board-summary 881001 --table # 板块汇总(成交额/主力净流入/涨跌家数)
easy-tdx board-summary 881001 --members --table # 含成分股明细
easy-tdx board-ranking --type HY --top 10 --table # 行业板块排行
easy-tdx board-ranking --type GN --sort-by amount # 概念板块按成交额排行
技术方面做了几件事:同步 + asyncio 双接口,strict mypy 类型检查全覆盖,协议编解码层每条命令都有离线 fixture 测试。不依赖通达信客户端,直连行情服务器。
安装:
pip install easy-tdx
GitHub: https://github.com/handsomejustin/easy_tdx
有问题欢迎提 issue 。
我自己平时要用,就 fork 过来接着改。改着改着加了不少东西,干脆换了名字叫 easy-tdx ,重新发到 PyPI 上。目前版本 1.4.0 。
加了个 CLI 工具,装好就有 easy-tdx 命令,默认输出 JSON 。这个设计是给 AI Agent 用的,Claude Code 、OpenClaw 、Hermes 这类工具可以直接调 CLI 拿行情数据,不用写 Python:
easy-tdx kline SZ 000001 --count 30 --table
easy-tdx quote "SZ 000001,SH 600519"
easy-tdx indicator MACD,KDJ,RSI -m SH -c 600519 --table
内置了 30 个技术指标,MACD 、KDJ 、RSI 、BOLL 、DMI 、ATR 这些常用的都有。直接拿 K 线数据算好返回 DataFrame ,不用自己再写一遍指标计算。底层用的是 MyTT (麦语言指标库),可以一次算多个:
from easy_tdx import MacClient, Market
with MacClient.from_best_host() as c:
df = c.get_stock_kline_with_indicators(
Market.SH, "600519",
indicators=["MACD", "KDJ", "RSI", "BOLL"],
count=30
)
技术指标
easy-tdx indicator-list --table # 列出所有可用指标
easy-tdx indicator MACD -m SH -c 600519 --table # MACD
easy-tdx indicator KDJ -m SZ -c 000001 --table # KDJ
easy-tdx indicator RSI -m SH -c 600519 --table # RSI
easy-tdx indicator BOLL -m SH -c 600519 --table # BOLL 布林带
easy-tdx indicator DMI -m SH -c 600519 --table # DMI 动向指标
easy-tdx indicator ATR -m SH -c 600519 --table # ATR 真实波幅
easy-tdx indicator WR -m SH -c 600519 --table # WR 威廉指标
easy-tdx indicator CCI -m SH -c 600519 --table # CCI 顺势指标
easy-tdx indicator BIAS -m SZ -c 000001 --table # BIAS 乖离率
easy-tdx indicator OBV -m SZ -c 000001 --table # OBV 能量潮
# 多指标同时计算
easy-tdx indicator MACD,KDJ,RSI,BOLL -m SH -c 600519 --count 10 --table
# 自定义参数
easy-tdx indicator MACD -m SH -c 600519 --params SHORT=10,LONG=22
# 分钟线指标
easy-tdx indicator MACD -m SH -c 600519 --period 5MIN --count 50
# 仅输出指标值(不含 OHLCV )
easy-tdx indicator RSI -m SZ -c 000001 --no-ohlcv
支持 30 个指标:MACD, KDJ, RSI, BOLL, DMI, ATR, WR, CCI, BIAS, OBV, VR, EMV, MFI, BRAR, ASI, TRIX, DPO, MTM, ROC, EXPMA, BBI, PSY, DFMA, CR, KTN, XSII, MASS, TAQ 。
其他新增的接口:板块汇总、板块排行、资金流向、集合竞价、市场异动、全市场涨跌统计、F10 公司信息、历史资金流向,还有港股美股期货的扩展行情。这些 pytdx 原来基本没有。
板块
easy-tdx board-list --type GN --table
easy-tdx board-list --type HY --count 200
easy-tdx board-members 881001 --table
easy-tdx belong-board SZ 000001 --table
easy-tdx board-summary 881001 --table # 板块汇总(成交额/主力净流入/涨跌家数)
easy-tdx board-summary 881001 --members --table # 含成分股明细
easy-tdx board-ranking --type HY --top 10 --table # 行业板块排行
easy-tdx board-ranking --type GN --sort-by amount # 概念板块按成交额排行
技术方面做了几件事:同步 + asyncio 双接口,strict mypy 类型检查全覆盖,协议编解码层每条命令都有离线 fixture 测试。不依赖通达信客户端,直连行情服务器。
安装:
pip install easy-tdx
GitHub: https://github.com/handsomejustin/easy_tdx
有问题欢迎提 issue 。