
通达信API是什么,为什么散户需要它
很多股民每天盯着屏幕手动翻股票,翻完自选翻涨幅榜,翻完涨幅榜再看资金流向。一整天下来眼睛累得不行,还经常错过最佳买卖点。通达信API就是帮你把这件事交给电脑的工具。它是一套编程接口,让你的程序能直接向通达信客户端要数据、发指令,不用你在界面上点来点去。
说得更直白一点,通达信API相当于给你开了一个后门。通达信软件本身积累了全市场最全的行情数据,包括股票、期货、期权、可转债。以前你只能通过软件界面看这些数据,现在你用Python写几行代码,就能把实时价格、历史K线、财务指标全部拉出来,存到自己的表格里慢慢分析。

通达信API能拿什么数据
普通散户最关心的几类数据,通达信API基本都能覆盖。
股票实时行情:最新价、涨跌幅、成交量、成交额、买卖五档盘口、逐笔成交明细。做短线的人尤其看重逐笔数据,因为大单买入还是卖出,往往决定当天的方向。
历史K线数据:日线、周线、月线、分钟线,复权和不复权都有。你要做回测,没有干净的历史数据就是空谈。通达信自带的本地数据文件可以直接通过API读取,省去从网页爬数据的麻烦。
期货行情:国内四大期货交易所的合约报价,包括上期所、大商所、郑商所、中金所。期货和股票不一样,有夜盘、有主力合约切换,用API自动处理这些细节,比手工切换合约靠谱得多。
财务和基本面数据:市盈率、市净率、每股收益、股东人数变化。做价值投资的人用这些数据筛股票,比看研报摘要更及时。
自定义板块和自选股:你在通达信里设置好的自选股,API可以直接读出来,不用重新手动录入。
两种常见玩法,选适合自己的
通达信API的调用方式大致分两类,一类是读本地数据文件,一类是通过DLL或网络接口实时通信。
读本地数据文件适合做历史回测。通达信安装目录下有个vipdoc文件夹,里面按市场分上海、深圳、北京,每个市场下面又分日线、分钟线。这些文件格式是通达信私有的,但社区已经有成熟的Python库能解析。你装好库,指定路径,就能把一只股票十年的日线数据读成表格。速度很快,几秒钟搞定几千只股票。
DLL接口实时通信适合做盘中监控和程序化交易。通达信提供了一套DLL函数,你用Python的ctypes或者pywin32去调用,可以实时获取行情推送,也可以发送买入卖出指令。这需要你的券商支持通达信交易接口,部分券商默认开放,部分需要单独申请。开通之前先问清楚客户经理,免得白折腾。
动手之前,先搞清楚几件事
数据延迟和权限问题
通达信免费版行情有延迟,通常是几秒到十几秒。做日线级别交易完全够用,做高频或者日内抢帽子就不行了。想要毫秒级推送,需要开通付费行情源或者券商VIP通道。别小看这几秒延迟,涨停板排队的时候,差一秒就是成交和不成交的区别。
通达信API本身不收费,但券商交易接口可能有限制。有的券商要求账户资产达到一定门槛才给开程序化交易权限,有的限制每秒请求次数。动手写代码之前先确认自己的账户权限,不然程序跑起来一堆报错。
股票和期货的接口差异
股票和期货共用一套底层通信机制,但字段定义不同。期货合约有到期日、有保证金、有夜盘交易时段,这些在API里都有专门的字段。用股票接口去拉期货数据,字段对不上会返回空值。写代码的时候做好市场类型判断,股票用股票的市场代码,期货用期货的市场代码,别混着来。
期货还有一个坑是主力合约切换。螺纹钢的主力合约每隔几个月就换一次,你的程序如果写死了合约代码,换月之后数据就断了。正确做法是每天开盘前用API查询主力合约代码,动态更新。
代码示例:拉取股票日线数据
下面这段Python代码演示如何用开源库pytdx读取通达信本地日线数据。pytdx是社区维护的免费库,pip install pytdx就能装。
from pytdx.reader import TdxDailyBarReader
reader = TdxDailyBarReader()
# 通达信安装目录下的日线文件路径
df = reader.get_df('C:/new_tdx/vipdoc/sh/lday/sh600000.day')
print(df.tail(10))
这段代码读出浦发银行最近十个交易日的开盘价、最高价、最低价、收盘价和成交量。路径里的sh代表上海市场,sz代表深圳市场。如果你用的是自定义安装目录,把路径换成你自己的就行。
从API到实战,中间还差什么
拿到数据只是第一步。真正把通达信API用出价值,需要搭一个简单的处理流程。
建立一个自动选股监控
假设你想监控所有A股中当天涨幅超过5%且成交量放大一倍的股票。用API每秒拉一次全市场快照,写个循环过滤条件,把符合条件的股票代码存进列表。再用另一个接口拉这些股票的逐笔成交,看大单净买入占比。整个过程电脑自动完成,你只需要在收盘后看一眼结果。
这个流程的关键是控制请求频率。通达信接口对高频请求有保护,一秒钟发几百次会被断连。合理设置间隔,比如每三秒拉一次全市场快照,既不会漏掉行情,也不会被服务器拉黑。
期货夜盘监控的注意点
期货有夜盘,晚上九点到次日凌晨两点半。用API做夜盘监控,程序要能自动判断当前时段属于哪个交易日。晚上九点之后的成交算下一个交易日,这个规则如果搞错,K线日期会错位。
另外期货行情波动大,止损止盈要写在程序里。别指望人盯着夜盘,困了打个盹可能就错过止损点。程序化交易的核心纪律就是让机器执行规则,人负责制定规则。
给普通人的三条实在建议
第一条,先从读数据开始,别急着下单。 用API拉一个月历史数据,算算均线、看看量价关系,把整个流程跑通再说交易。下单接口一旦出bug,亏损是真金白银。
第二条,用模拟盘验证策略。 通达信支持模拟交易,API也能对接模拟账户。把你的选股逻辑写成程序,在模拟盘跑两周,看看胜率和回撤。模拟盘赚钱不代表实盘赚钱,但模拟盘亏钱的策略实盘大概率也亏。
第三条,保持简单。 通达信API能做的事情很多,但散户不需要搞得太复杂。一个均线交叉策略加上成交量过滤,严格执行,效果可能比几十个因子的机器学习模型更稳定。工具是帮你省时间的,不是让你炫技的。
通达信API的门槛没有想象中高。会写几行Python,懂基本的股票常识,就能把日常盯盘的大部分工作自动化。把省下来的时间用来研究行业和公司基本面,这才是散户相对机构的真正优势。