
搞懂a股实时api先要明白数据从哪来
普通人看行情用炒股软件,输入代码就能看到分时图一跳一跳。这个跳动的数字背后是交易所的撮合系统在源源不断吐出成交记录。a股实时api干的事,就是把这股数据流从机房直接引到你自己的程序里。
交易所本身不直接对外提供api,它把数据授权给持牌的信息服务商。信息服务商再把数据打包,通过专线或者互联网分发给券商、量化机构和普通开发者。市面上你能买到的a股实时api,大多是这些信息服务商或者第三方数据公司做的二次封装。
明白这个链条很重要。数据从交易所到你的代码,中间每多一层转发,延迟就增加一点,断线的风险也大一点。选api本质上是在选数据通道。
免费的和付费的差在哪
搜索引擎里搜a股实时api,能出来一堆免费选项。这些接口用起来确实不要钱,但代价藏在细节里。

免费接口通常有几个硬伤。数据延迟从几秒到几分钟不等,拿来做日线复盘勉强够用,想做日内交易就是送钱。调用频率限制得很死,一天几百次,跑一个全市场扫描就没了。稳定性靠运气,行情火爆的时候服务器扛不住,直接返回错误码。
付费api的收费模式一般分两种。按调用次数计费,适合低频策略或者只盯少数几只股票的场景。按月或按年订阅,适合需要全市场实时数据的量化团队。价格从每月几十块到上万块都有,差距体现在延迟等级、并发连接数和历史数据深度上。
挑付费服务的时候,别只看宣传页上的“毫秒级”。要问清楚是交易所直连还是第三方转发,高峰期实际延迟是多少,有没有备用线路。
股票和期货的api不是一回事
做股票和做期货,对实时api的要求完全不同。
股票市场是撮合制,tick数据里包含买卖五档盘口和逐笔成交。a股还有涨跌停限制,api需要能正确推送涨停板上的封单量。股票没有杠杆,保证金监控不是重点。
期货市场是保证金交易,api除了行情数据,还得接入交易接口和风控接口。期货有夜盘,api必须支持连续交易时段不中断。主力合约会换月,程序要能自动处理合约切换。
市面上有些api号称股票期货通吃,实际用起来会发现它在某一端明显偏弱。股票接口的盘口深度不够,期货接口的保证金计算不准。稳妥的做法是分开选,股票用一家,期货用另一家。
用代码验一验api的成色
拿到api文档和测试账号后,别急着写策略。先用一段最小代码验证基本连通性和数据格式。
下面这段python代码演示如何用websocket接收实时行情,统计每秒收到的tick数量。这能帮你判断api的实际推送频率和稳定性。
import websocket
import json
import time
count = 0
start = time.time()
def on_message(ws, message):
global count
data = json.loads(message)
count += 1
if count % 100 == 0:
elapsed = time.time() - start
print(f"已接收 {count} 条,耗时 {elapsed:.2f} 秒,速率 {count/elapsed:.1f} 条/秒")
def on_error(ws, error):
print(f"错误: {error}")
def on_close(ws, code, msg):
print(f"连接关闭: {code} {msg}")
ws = websocket.WebSocketApp(
"wss://api.example.com/quote",
on_message=on_message,
on_error=on_error,
on_close=on_close
)
ws.run_forever()
跑上十分钟,看速率波动大不大。如果每秒收到的tick数忽高忽低,或者经常断线重连,这个api就不适合实盘。
再做一轮压力测试。同时订阅几百只股票,看api的并发处理能力。有些接口单只股票跑得挺好,一上全市场就丢包。
实盘前必须确认的几件事
选好api只是第一步,真正用它赚钱之前,有几个坑得提前填上。
数据对齐问题。api返回的时间戳是交易所时间还是本地时间,精度到秒还是毫秒。不同数据源的时间戳对不齐,回测结果和实盘会差出十万八千里。
复权处理。股票除权除息后,历史价格会跳空。api如果只提供不复权数据,你的均线策略会突然发出错误信号。确认api是否支持前复权或后复权,以及复权因子怎么获取。
合约换月。期货主力合约每隔一两个月就换一次。api需要能推送主力合约代码,或者你自己写规则去判断。换月当天流动性会转移,程序要能自动跟上。
限流规则。看清楚api文档里写的每秒最大请求数,是硬限制还是软限制。硬限制超了直接封ip,软限制会返回排队等待。实盘时把请求频率控制在限制的七成以内,留出余量应对突发。
组合方案比单点依赖更靠谱
把全部身家押在一个api上,风险太高。信息服务商偶尔会维护,网络偶尔会抖动,交易所偶尔会调整数据格式。
成熟的量化团队通常同时接入两到三家api。主用一家低延迟的,备用一家稳定的。程序里写好切换逻辑,主通道连续几次超时就自动切到备用通道。
股票和期货分开选供应商。做股票的用专注股票数据的api,做期货的用期货公司或者专业期货数据商的接口。让专业的人干专业的事,数据质量才有保障。
最后提醒一句,api再快也快不过交易所机房里的托管服务器。普通散户用api做量化,赚的是纪律和速度的钱,不是拼毫秒级抢单的钱。选一个延迟稳定、数据准确、价格透明的a股实时api,把策略逻辑跑通,比追求极限速度实在得多。