券商数据api如何接入交易系统
摘要:
券商API提供实时行情和交易接口,支持CTP、QDP等协议,开发者需申请权限并集成SDK实现行情订阅、委托报单及风控管理。

券商API的核心功能
券商数据API是连接交易系统与证券交易所的核心桥梁,主要提供两类服务:
行情数据服务
实时推送股票、期货的买卖盘口(Level-1/Level-2数据)
支持历史K线查询(分钟线、日线等)
市场深度数据(期货持仓量、资金流向)
交易执行服务
委托下单(限价单、市价单、条件单)
持仓查询与资金监控
撤单及订单状态跟踪
主流券商API协议类型
CTP协议(综合交易平台)
由中国期货市场监控中心主导开发,广泛用于国内期货公司。特点包括:
采用TCP长连接通信
支持C++/Java/Python语言
需通过
ThostFtdcTraderApi实现交易指令行情接口使用
ThostFtdcMdApi
# Python调用CTP行情接口示例
from thostmduserapi import MdApi, CThostFtdcMdSpi
class CMdSpi(CThostFtdcMdSpi):
def OnFrontConnected(self):
print("行情服务器连接成功")
req = {}
self._api.ReqUserLogin(req, 0)
def OnRtnDepthMarketData(self, pDepthMarketData):
print(f"最新价: {pDepthMarketData.LastPrice}")
md_api = MdApi.CreateMdApi()
md_spi = CMdSpi()
md_api.RegisterSpi(md_spi)
md_api.RegisterFront("tcp://180.168.146.187:10131")
md_api.Init()
QDP协议(量化交易平台)
部分券商自研协议,适用于股票量化交易:

提供WebSocket或RESTful API
支持高频行情(毫秒级延迟)
内置策略回测沙盒环境
API接入流程
资质申请
向券商提交机构/个人开发者认证
签署API使用风险协议
获取
AppID与Auth Token环境配置
安装券商提供的SDK(如华泰的
hts、中信的citics_api)配置网络白名单(实盘环境需专线接入)
功能集成
初始化连接并实现回调接口
处理行情数据解析与订单状态机
# QDP协议委托下单伪代码
import qdp_sdk
def place_order(symbol, price, volume):
trader = qdp_sdk.TraderAPI(api_key="YOUR_API_KEY")
order = {
"symbol": "IF2309",
"direction": "BUY",
"price": price,
"volume": volume,
"order_type": "LIMIT"
}
resp = trader.submit_order(order)
if resp["code"] == 0:
print(f"委托成功! 订单ID: {resp['order_id']}")
风控与合规要求
流量控制
单账户每秒请求上限(通常≤50次/秒)
行情订阅标的数量限制(如≤500只证券)
异常行为监控
撤单率超过80%触发警报
同向订单短时频次检测(防程序化异常交易)
数据使用规范
禁止转售行情数据
实时行情需延迟15分钟方可公开
量化交易应用场景
套利策略
利用API获取跨市场价差:
# 股指期货与ETF套利监控
if futures_price - etf_price > threshold:
sell_futures_buy_etf()
做市商策略
通过Level-2盘口数据计算订单簿不平衡度:
$$
Imbalance = \frac{BidVolume_{top5} - AskVolume_{top5}}{TotalVolume}
$$
当$|Imbalance|>0.7$时触发反向报价
常见问题解决方案
- 连接不稳定
使用双链路备份(如同时接入CTP和QDP)
- 数据丢包
实现行情数据重传机制(SeqNo连续性校验)
- 订单状态同步
启动独立线程轮询GetOrder接口
注意:实盘环境需通过券商压力测试方可上线,测试用例需覆盖断网重连、大并发请求等极端场景。
声明
转载声明:欢迎分享本文,转载请注明出处!
点击复制: