- 金融科技
- 数据
- 后端
- MCP 服务
【免费下载链接】eltdx
通达信A股行情协议 Python 库,MCP,支持快照、分时、逐笔、K 线、集合竞价、特殊指标等接口。适合作为量化数据源,支持其他语言通过HTTP或WebSocket调用
想拿到A 股 K 线数据,还要同时搞定分钟线、日 K、周 K、月 K和前复权、后复权?Python 库eltdx把通达信 7709 协议下的 K 线接口封装成了client.bars.get()一个方法:一个period参数切换周期,一个adjust参数切换复权,一行代码即可返回结构化的KlineSeries,是量化数据源的理想选择。
快速上手:一行安装,三行取数
pip install eltdxfrom eltdx import TdxClient with TdxClient(timeout=3) as client: day = client.bars.get("sz000001", period="day", count=200)返回的day是一个KlineSeries对象,.bars里是按时间排序的 K 线列表,每根 K 线都有time / open / high / low / close / volume_lots / amount字段,价格已完成协议差分解码,拿到就能直接用,无需手动换算。
周期怎么选:一个 period 参数覆盖分钟到年线
eltdx 支持 1 分钟到年线的全周期,周期写法还支持简写(day/1d、week/1w、month/1mo均可):
| 需求 | period写法 | 说明 |
|---|---|---|
| 5 分钟线 | "5m" | 分钟级 K 线 |
| 30 分钟线 | "30m" | 分钟级 K 线 |
| 60 分钟线 | "60m"或"1h" | 小时级 K 线 |
| 日 K | "day" | 默认值 |
| 周 K | "week" | 中线策略常用 |
| 月 K | "month" | 长周期趋势 |
| 季/年 K | "quarter"/"year" | 超长周期 |
| 扩展周期 | "10m"、"2d"等 | 以服务端实际支持为准 |
week = client.bars.get("sz000001", period="week", count=100) hour = client.bars.get("sz000001", period="60m", count=48)前复权、后复权:adjust 参数一键切换
复权是新手最容易踩坑的环节。eltdx 的复权由通达信主站直接返回,不需要你在本地算系数,只需在请求里加一个adjust参数:
| 参数 | 含义 |
|---|---|
None/"none" | 不复权(默认) |
"qfq" | 前复权,回测常用 |
"hfq" | 后复权,长期分析常用 |
"fixed_qfq"+anchor_date | 定点前复权,复权锚定到指定日期 |
"fixed_hfq"+anchor_date | 定点后复权 |
qfq = client.bars.get("sz000001", period="day", adjust="qfq", count=200) hfq = client.bars.get("sz000001", period="day", adjust="hfq", count=200) fixed = client.bars.get("sz000001", period="day", adjust="fixed_qfq", anchor_date="2024-06-03")anchor_date支持"YYYY-MM-DD"、"YYYYMMDD"或date对象。
💡 如果你手里已有本地不复权 K 线,想自己计算或核对复权结果,可以改用 本地复权系数接口(
client.corporate.adjustment_factors())拿到每个除权事件的scale + offset系数,在本地做仿射变换。
自动翻页:拉取全部历史 K 线
单页最多 800 根 K 线,要拿一只股票的全部历史日 K,加一个all_pages=True即可,SDK 会自动翻页直到主站返回空页并合并成一条KlineSeries:
history = client.bars.get("sz000001", period="day", all_pages=True, page_size=800) print(history.count) # 合并后的 K 线总数max_pages参数可限制最大翻页数(默认 200),防止意外死循环。
批量取多只股票的 K 线
把code从字符串换成列表,就能并发拉取多只标的,返回以完整代码为键的字典:
many = client.bars.get(["sz000001", "sh600000"], period="day", count=800) first = many["sz000001"].bars[-1]底层由连接池分配到多台主站并发执行,batch_size可控制最大并发数。
一个容易忽略的细节:分钟线时间戳
通达信返回的分钟级 K 线时间戳是开始时间(如最后一根 5 分钟线标11:25)。如果你要和 Tushare、同花顺这类以右端点标注的数据对齐,加一个参数即可:
client.bars.get("sz000001", period="5m", count=48, bar_time="end") # 标成 11:30日线及以上周期只有日期,传bar_time="end"完全不受影响,放心用。
相关文档
- K 线周期线完整参数与字段:docs/methods/7709-K线周期线.md
- 本地复权系数:docs/methods/7709-本地复权系数.md
- K 线 API 实现:src/eltdx/api/bars.py
KlineSeries/KlineBar数据模型:src/eltdx/models/kline.py
从 5 分钟线到年线、从不复权到定点复权,client.bars.get()一个接口全部覆盖——这就是 eltdx 作为量化数据源的效率所在。
- 金融科技
- 数据
- 后端
- MCP 服务
【免费下载链接】eltdx
通达信A股行情协议 Python 库,MCP,支持快照、分时、逐笔、K 线、集合竞价、特殊指标等接口。适合作为量化数据源,支持其他语言通过HTTP或WebSocket调用
相关推荐
如何用finshare获取A股历史K线:日线/周线/月线与前后复权完全解析
如何用finshare获取A股历史K线:日线/周线/月线与前后复权完全解析 做量化分析时, A股历史K线数据 从何而来? finshare https://li
金融科技Path of Building PoE2零基础上手:5分钟搭出第一套流放之路2 Build
Path of Building PoE2零基础上手:5分钟搭出第一套流放之路2 Build 凌晨一点,地上刚掉了一件稀有长袍。你把游戏窗口里的复制内容攥在手上
桌面应用3步装好:一个免费显示职位发布时间的插件,让职位新旧一眼可辨
3步装好:一个免费显示职位发布时间的插件,让职位新旧一眼可辨 Boss Show Time 是一款面向求职者的招聘职位发布时间插件:装上这个 Chrome 插件
前端
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考