
通达信API数据接口到底是个什么东西
很多人第一次听到通达信API,脑子里浮现的是一堆代码和看不懂的文档。把它拆开看就三件事:通达信是个看盘软件,API是软件留给外部程序的一道门,数据接口就是通过这道门把行情数据递出来。
你平时用通达信看K线,是眼睛盯着屏幕。API做的事情是让Python这类程序代替你的眼睛,自动去读那一根根K线、一个个报价。读出来之后,程序可以自己判断该不该买、该不该卖。
散户为什么需要这个接口
手动炒股有个天花板。一个人盯盘最多盯十几只股票,期货夜盘熬到凌晨两点,第二天开盘手都是抖的。情绪一上来,该止损不止损,该止盈想再等等,账户数字就下去了。
通达信API接口把重复动作交给机器。机器不会因为亏钱心跳加速,不会因为连赢三把就飘。你把规则写清楚,它按规则跑。规则垃圾,结果垃圾。规则靠谱,结果就靠谱。

股票和期货在这一点上没有本质区别。股票T+1,期货T+0,接口拿到的数据格式可能不一样,但核心逻辑一样:获取数据、判断信号、执行买卖。
通达信API接口能拿到哪些数据
最基础的是实时行情。每只股票的代码、名称、最新价、涨跌幅、成交量、成交额、买卖五档盘口。期货还有持仓量、结算价、合约月份这些字段。
历史数据更关键。做量化回测没有历史数据就是空谈。通达信本地可以导出日线、分钟线数据,接口能直接读取这些文件。你写一个策略,先拿过去三年的数据跑一遍,看看胜率、最大回撤、夏普比率,心里有个底再上实盘。
财务数据也能拿。市盈率、市净率、每股收益、净利润增长率,这些字段在通达信里都有。做基本面量化的人,靠这些字段筛股票。
通达信API接口的几种实现路径
通达信官方并没有一个公开的、文档齐全的Python API。市面上流传的方案大致分三类。
第一类,读取通达信本地数据文件。通达信安装目录下有个vipdoc文件夹,里面是.day和.lc1文件。Python用struct模块解析二进制,就能把日线和分钟线读出来。这个方案稳定,不依赖网络,缺点是要手动更新数据。
第二类,用pytdx这个第三方库。它模拟了通达信的通信协议,直接连到行情服务器拉数据。优点是实时性好,能拿五档盘口。缺点是服务器地址经常变,需要自己维护。
第三类,通过通达信的公式系统输出数据。你在通达信里写一个指标公式,把结果输出到文本文件,Python再去读这个文件。这个方案最笨,但最不容易被封。
用pytdx拉股票和期货数据的实际代码
from pytdx.hq import TdxHq_API
api = TdxHq_API()
with api.connect('119.147.212.81', 7709):
# 拉上证指数日线,市场代码1是上海,0是深圳
data = api.get_security_bars(9, 1, '000001', 0, 10)
for bar in data:
print(bar['datetime'], bar['open'], bar['close'])
这段代码拉的是上证指数最近10根日线。get_security_bars第一个参数9代表日线,5代表分钟线。市场代码1是上海,0是深圳。股票代码填六位数字。
期货数据用同样的接口。中金所的股指期货,市场代码填1,代码填IF2312这种合约代码。商品期货在上海期货交易所的,市场代码也是1。
数据拿到之后怎么变成交易信号
数据本身不值钱,值钱的是从数据里提炼出的信号。
均线策略最朴素。收盘价上穿20日均线买入,下穿卖出。用pytdx拉出过去60天的收盘价,算一个简单移动平均,今天收盘价大于均线就发信号。
期货趋势策略稍微复杂一点。用ATR衡量波动,用布林带判断突破。价格突破上轨且成交量放大,开多单。价格跌回中轨,平仓。
这些策略写出来不超过50行代码。难的不是写代码,是判断这个策略在当下市场环境里能不能用。2023年小盘股动量策略有效,2024年可能就失效了。
实盘对接券商的坑
通达信API拿到数据,算出信号,下一步是下单。这一步卡住了90%的散户。
通达信本身不提供交易接口。你得通过券商的柜台系统下单。大部分券商不对外开放个人交易API,除非你资金量够大,走机构通道。
变通方案是用模拟点击。Python的pyautogui库可以控制鼠标键盘,模拟你在通达信里手动下单。这个方案能跑,但不稳定。窗口焦点一变,点击位置就偏了。
另一个方案是用券商提供的量化平台。华泰、国金、中泰都有面向散户的量化接口,但通常要求资金门槛,而且不支持通达信的数据格式,需要自己做转换。
期货CTP接口是另一条路
做期货量化的人,最后都会走到CTP。上期技术的综合交易平台,几乎所有的期货公司都支持。CTP有完整的Python接口,行情和交易都能做。
CTP的行情比通达信快。通达信是免费软件,行情经过压缩和延迟处理。CTP是交易所直连,Tick级别数据,延迟在毫秒级。做日内高频,通达信的数据不够用。
CTP的坑在于开户。你需要找一个支持CTP的期货公司,开一个期货账户,申请CTP权限。有些公司要求最低入金,有些公司要求程序化交易备案。
普通散户的务实选择
资金量在50万以下,做股票量化,建议用pytdx拉数据,用通达信公式做信号,手动下单。不追求全自动,追求半自动。程序告诉你该买该卖,你点一下鼠标。
资金量在50万以上,做期货量化,直接上CTP。开一个期货账户,用vnpy这类开源框架,把行情、策略、交易串起来。前期用模拟盘跑三个月,稳定了再上实盘。
不管走哪条路,回测都是第一步。没有回测的策略就是赌博。回测要扣掉手续费和滑点,否则结果虚高。股票手续费万三,期货手续费交易所标准加一分,滑点按一跳算。
数据接口的合规边界
通达信的数据是免费提供的,但用于商业用途需要授权。个人自己写策略跑着玩,没人管。把数据打包卖给别人,或者做成产品对外提供信号,就有法律风险。
期货CTP的数据是交易所授权的,期货公司有义务监控异常交易。短时间内大量报单撤单,会被交易所盯上。程序化交易备案不是走过场,报备了才能合法跑。
通达信API数据接口是一个工具。工具本身没有好坏,看你怎么用。用它来减少情绪干扰,提高执行纪律,是正路。用它来钻市场漏洞,迟早要还。