通达信官方API怎么调用才能做量化交易?

企业微信

通达信官方API到底是个啥

很多刚接触量化交易的朋友,都听说过通达信。看盘软件用着顺手,就想能不能直接调用它的数据来做自动化交易。网上搜“通达信官方API”,跳出来一堆教程,点进去发现要么是卖课的,要么代码跑不通。

先给结论。通达信官方并没有对外开放一套像券商柜台那样、能直接下单查持仓的API。你花钱买的通达信软件,不管什么版本,它本质上是一个行情展示和公式计算的终端,不是一个给程序员调用的服务器。

通达信官方API怎么调用才能做量化交易?

那为什么市面上有那么多文章讲通达信API?讲的是两件事。第一件,通达信的数据文件格式和公式系统,可以被第三方工具读取或模拟。第二件,有些券商采购了通达信内核,自己包装了一层接口给量化客户用。这两件事都不是“官方API”,只是挂着通达信的名字。

行情数据怎么拿到手

做股票和期货量化,第一步是拿到K线、分笔、财务数据。通达信本地会缓存行情文件,后缀是.day和.lc5之类。有人写程序直接读这些文件,速度快,不依赖网络。问题是文件格式加密,通达信版本一升级就可能变,维护成本高。

更稳的办法是用pytdx这个开源库。它模拟了通达信的通信协议,连到通达信的行情服务器上,把数据拉回来。用起来不复杂,几行代码就能取到日线。


from pytdx.hq import TdxHq_API

api = TdxHq_API()

with api.connect('119.147.212.81', 7709):

    data = api.get_security_bars(9, 0, '000001', 0, 10)

    for bar in data:

        print(bar['datetime'], bar['close'])

上面这段代码干的事,就是连上通达信的一个免费行情服务器,取平安银行最近10根日K线。9代表日线周期,0代表深圳市场。期货数据也能取,把市场代码换成对应的就行。

pytdx不是官方出品,但它是目前散户做通达信数据量化最常用的轮子。缺点也明显,行情服务器是公开的,偶尔连不上,历史数据深度有限,财务数据字段不全。

交易下单绕不开券商

数据解决了,下单怎么办。通达信软件里有个“交易”按钮,点开输入账号密码就能买卖。这个功能是券商提供的,通达信只是画了个界面。想用程序自动下单,必须走券商给的接口。

国内期货量化,主流是CTP接口。几乎每家期货公司都支持,用C++或者Python的ctpbee、vnpy都能接。股票量化,券商接口就五花八门了。有恒生电子的UFT、华锐的ATP、宽睿的OMS,也有券商自己封装的HTTP接口。这些接口通常有资金门槛,五十万到几百万不等,不是随便就能开通。

有人问,能不能模拟通达信客户端的交易操作,实现自动下单。技术上可以,用pywinauto这类工具抓窗口句柄,模拟鼠标键盘。这种做法极不稳定,窗口一弹错就废了,而且违反券商协议,被风控抓到可能封账户。拿它跑实盘,等于埋雷。

通达信公式系统是另一条路

通达信自带的公式系统,其实是一种领域特定语言。你写MA、CROSS、REF这些函数,它能算出信号,还能在图上画箭头。这套东西能回测,能预警,但不能自动下单。

想把公式信号变成实盘交易,得用通达信的“预警”功能输出信号到文件,再用Python读文件下单。链路长,延迟大,只适合做日线级别、对速度不敏感的股票策略。期货高频或者日内策略,这条路走不通。

公式系统里有个坑。很多人用未来函数,比如ZIG、PEAK,回测曲线漂亮得不行,实盘一跑就亏。未来函数会引用之后的数据,当下那一刻根本不知道。做量化回测,第一件事就是检查公式里有没有未来函数。

期货量化的数据源选择

期货和股票不一样,期货有夜盘,有主力合约换月,数据连续性要求高。通达信看盘可以,取期货历史数据,pytdx也能用,但主力合约拼接得自己处理。

更专业的做法是用交易所的Level-2数据,或者买商业数据源。上期所、大商所、郑商所都有公开的日线数据下载,质量比通达信缓存靠谱。做期货CTA策略,数据频率至少要到分钟线,日线级别很难做出差异化。

避开几个常见的坑

第一个坑,把通达信公式回测当成实盘依据。公式回测用的是收盘价,实盘你未必能拿到那个价格。滑点和手续费一加,盈利策略可能变亏损。

第二个坑,用网上随便找的“通达信API”破解版。这类东西经常带木马,盗你的券商账号。量化交易第一原则是资金安全,别为了省事把密码交给来路不明的程序。

第三个坑,忽略交易接口的并发限制。券商接口一般有每秒报单次数限制,期货CTP也有流控。策略逻辑写得再快,报单被拒也是白搭。实盘前一定要做压力测试。

给普通人的实操建议

想用通达信的数据做量化,最务实的路径是pytdx取行情,用pandas做回测,信号确认后手动下单。等策略稳定了,再去券商开通正式接口。期货直接上CTP,股票找支持量化接口的券商。

不要追求“官方API”这个名头。通达信官方没给散户开这个门,市面上能用的方案都是曲线救国。把数据质量、滑点控制、风控逻辑做好,比纠结接口是不是官方的重要得多。量化交易拼的是执行和细节,不是接口的名字。

转载请注明出处:https://www.lianghuajiaoyi.top/wenzhang/tongdaxin-API-lianghua-jiaoyi-786.html