企业微信

通达信到底有没有数据API

很多刚接触量化交易的朋友,都会碰到一个很实际的问题:我平时看盘用通达信,现在想写程序自动获取行情数据,通达信有没有现成的API可以调用。

直白讲,通达信官方没有面向个人用户的公开数据API服务。它本质上是一个行情交易终端软件,核心功能是看盘、画线、编写指标公式,不是给程序员做数据接口用的。你在网上搜到的所谓“通达信API”,绝大多数是第三方开发者通过逆向工程或者读取本地文件做出来的非官方方案,稳定性和合规性都得打个问号。

那为什么有人觉得通达信能接程序

通达信在本地运行的时候,会把行情数据缓存成文件。常见的是vipdoc文件夹下面的.day.lc1.lc5这些格式。懂编程的人可以直接解析这些二进制文件,把历史K线读出来用。

通达信有数据api服务吗?散户和量化新手怎么获取行情数据


# 用Python读取通达信本地日线文件(简化示意)

import struct

def read_tdx_day(filepath):

    data = []

    with open(filepath, 'rb') as f:

        buf = f.read()

    for i in range(0, len(buf), 32):

        record = buf[i:i+32]

        date, open_, high, low, close, amount, vol, _ = struct.unpack('<IIIIIfII', record)

        data.append({

            'date': date,

            'open': open_ / 100,

            'high': high / 100,

            'low': low / 100,

            'close': close / 100,

            'volume': vol

        })

    return data

这段代码能把本地历史数据读出来,但只能读到你已经下载到电脑上的数据。盘口实时行情、逐笔成交这些,本地文件里没有,还是得另想办法。

官方接口藏在券商那边

通达信给很多券商做交易终端。部分券商在开通量化权限之后,会提供自己的API,底层走的可能就是通达信的通道。这类接口不叫“通达信API”,叫某某券商量化接口。门槛通常是资金量要求,五十万到几百万不等,普通散户很难够到。

期货这边情况类似。期货公司也有自己的CTP接口,跟通达信没有直接关系。想做期货量化,直接申请CTP权限更实际,商品期货一般没有资金门槛,金融期货会要求五十万。

个人做量化,数据从哪来更靠谱

既然通达信官方API这条路走不通,个人投资者完全可以用下面几种方案替代。

免费开源库:AkShare、Tushare、BaoStock这些Python库,覆盖A股、港股、美股、期货、期权、基金数据。AkShare完全免费,接口丰富,适合散户练手。Tushare有积分制,基础数据够用。


# AkShare获取股票日线行情

import akshare as ak

df = ak.stock_zh_a_hist(symbol="000001", period="daily", start_date="20240101", end_date="20241231")

print(df.head())

期货数据专用:天勤量化TqSdk提供免费的期货行情和交易接口,支持模拟和实盘。VNPY也是老牌量化框架,对接CTP、飞马等多个柜台。

交易所直连:上期所、大商所、郑商所都有公开的数据下载页面,日线、分钟线、持仓排名都能拿到。适合做历史回测,实时性差一些。

期货量化的数据坑要注意

股票数据相对单纯,期货数据有几个细节容易踩坑。

主力合约换月。期货合约有到期日,回测的时候不能用单一合约拉长周期,得做主力连续或者指数连续。不同数据源拼接方式不一样,价格跳空处理不好,回测结果会严重失真。

夜盘归属。国内商品期货有夜盘,晚上九点到凌晨两点半的行情算哪个交易日,各家数据源处理方式不同。做日内策略的时候,这个细节直接影响信号触发时间。

复权问题。股票有前复权后复权,期货没有复权概念,但主力连续合约的价差调整逻辑,本质上跟复权是一回事。

量化交易选数据源的三个原则

第一,稳定比免费重要。实盘跑策略,数据断流一次可能就造成真金白银的损失。免费数据源用于研究可以,上实盘之前一定要测试稳定性。

第二,历史数据长度够用就行。做日线级别策略,五年数据足够验证。做高频或者日内, Tick级数据存储和清洗成本很高,个人玩家没必要一开始就追求全市场全历史。

第三,接口文档要清晰。很多小众数据源便宜甚至免费,但字段定义模糊,遇到问题找不到人问,时间成本反而更高。

通达信是很好的看盘工具,但把它当数据API服务来用,方向就偏了。量化交易的数据获取,股票用AkShare、Tushare,期货用天勤、VNPY,实盘走券商或期货公司的官方接口,这条路径对个人投资者更友好,也更可持续。