A股程序化交易到底能用哪些API接口

企业微信

券商官方API接口

做A股程序化交易,最正统的路子是走券商提供的官方接口。国内大小券商超过一百家,但能开放程序化交易接口的不到二十家。这些接口底层对接的是券商柜台系统,报单直接进入交易所,延迟低、成交确定性强。

常见接口形态分三类。一类是券商自己开发的极速交易系统,像华泰的MATIC、国信的GTA,对外提供C++或Python的API,支持股票、ETF、可转债的买卖撤查。另一类是券商采购恒生、金证、顶点等柜台后包装出的接口,通常叫“量化交易终端”或“算法交易接口”,功能全但速度一般。第三类是小券商为了揽客,把接口开放给个人投资者,门槛低但稳定性参差不齐。

开通券商API通常需要满足几个硬条件。资产门槛普遍在50万到100万之间,部分券商要求日均资产达标。交易经验要求半年到两年不等。还要签一份程序化交易风险协议,承诺不进行异常报单、不干扰交易所系统。费率方面,程序化交易佣金一般比普通散户高,万二到万三常见,部分券商能谈到万一点五。

券商API的优势是合规、稳定、直接。劣势是开通麻烦,有些券商只给机构或专业投资者用,个人散户很难拿到。另外不同券商的API标准不统一,换券商就得重写代码。

A股程序化交易到底能用哪些API接口

第三方平台接口

不想折腾券商API,可以用第三方量化平台。这类平台自己对接了多家券商的柜台,给用户提供统一的编程接口。聚宽、米筐、优矿是早期做在线量化研究的,现在也支持实盘交易,但实盘需要绑定合作券商的账户。

聚宽的实盘接口叫JQTrade,支持Python,绑定券商后可以下单。米筐的RQData提供数据,RQPro提供研究环境,实盘走的是券商通道。优矿类似。这些平台的好处是数据全、回测方便、社区活跃,坏处是实盘依赖平台服务器,平台宕机你就没法交易。佣金也比直接走券商API高一点,因为平台要抽成。

还有一类是量化终端软件,像交易开拓者TB、文华财经、金字塔决策交易系统。它们主要做期货,A股支持有限。TB支持股票需要额外开通,文华财经的A股接口基本停掉了。金字塔支持股票但接口老旧,速度慢。

第三方平台适合刚入门的量化爱好者,资金量不大、策略不复杂、对延迟不敏感。资金超过500万,或者做高频、做T+0,第三方平台就不够用了。

模拟交易接口

实盘之前先用模拟接口跑策略,这是标准流程。券商和第三方平台基本都提供模拟环境。券商的模拟接口跟实盘接口一模一样,只是报单不进交易所,成交按行情撮合。第三方平台的模拟环境更友好,有可视化界面,能手动干预。

模拟接口的最大价值是测试代码逻辑和风控模块。很多人策略回测漂亮,一上实盘就亏,问题出在代码bug、网络延迟、报单被拒。模拟环境能暴露这些问题。建议模拟跑至少三个月,覆盖震荡、趋势、极端行情。

模拟接口的坑也不少。模拟成交太理想化,市价单基本都能成交,实盘可能滑点严重。模拟环境没有真实的市场冲击,大单在模拟里随便下,实盘一挂就影响价格。模拟接口的行情延迟比实盘大,做高频策略测不准。

期货CTP接口

A股程序化交易接口门槛高,期货反而更开放。国内期货市场统一走CTP接口,上期技术开发,所有期货公司都支持。CTP接口有C++、Python、Java版本,个人投资者只要开个期货账户就能申请。

CTP接口的优势是标准统一、文档齐全、社区庞大。学会CTP,换期货公司不用重写代码。CTP支持商品期货、股指期货、国债期货,股指期货跟A股联动强,可以做对冲、套利。

CTP接口的劣势是只做期货,不能直接买股票。想做股票得再开券商API。另外CTP接口需要自己处理行情、报单、风控、结算,开发量大。很多个人开发者用vn.py、ctpbee这类开源框架,省去底层开发。

期货CTP接口的费率比股票低,没有印花税,保证金交易。做量化策略,期货比股票灵活,多空都能做,T+0交易。股指期货的保证金较高,一手IF要十几万,适合资金量大的投资者。

接口选择的实战建议

资金50万以下,先用第三方平台的模拟接口练手,跑通策略再考虑实盘。资金50万到200万,找一家支持程序化交易的中小券商,开通官方API,同时用期货CTP做对冲。资金200万以上,直接跟券商谈机构通道,拿极速交易系统,同时接入多个期货公司的CTP做跨市场策略。

不要一开始就追求低延迟。散户做程序化交易,最大的敌人不是速度,是策略逻辑和风控。延迟从100毫秒降到10毫秒,对日内策略影响有限,对高频策略才关键。高频策略需要机房托管、FPGA硬件、专线网络,成本每年几十万,不适合个人。

接口稳定性比速度重要。券商API在开盘集合竞价、收盘前几分钟容易堵单。第三方平台在行情剧烈波动时可能断连。期货CTP在夜盘切换时偶尔掉线。写代码必须加异常处理,报单失败要重试,行情断连要报警。

合规红线不能碰。程序化交易不能虚假申报、不能频繁撤单、不能影响交易所系统安全。交易所对异常报单有监控,一旦触发,轻则限制账户,重则移交证监会。策略里要加撤单频率控制、报单量控制、自成交防范。

代码演示

用Python通过CTP接口获取行情并报单的简化示例。这里用vn.py框架,它封装了CTP底层细节。


from vnpy_ctp import CtpGateway

from vnpy.trader.constant import Exchange, Direction, OrderType

from vnpy.trader.object import OrderRequest

from vnpy.event import EventEngine

from vnpy.trader.engine import MainEngine

# 初始化事件引擎和主引擎

event_engine = EventEngine()

main_engine = MainEngine(event_engine)

# 添加CTP网关

ctp_gateway = main_engine.add_gateway(CtpGateway)

# 配置CTP连接信息

ctp_setting = {

    "用户名": "your_username",

    "密码": "your_password",

    "经纪商代码": "9999",

    "交易服务器": "180.168.146.187:10130",

    "行情服务器": "180.168.146.187:10131",

    "产品名称": "simnow_client_test",

    "授权编码": "0000000000000000"

}

# 连接CTP

main_engine.connect(ctp_setting, "CTP")

# 订阅行情

req = SubscribeRequest(symbol="rb2310", exchange=Exchange.SHFE)

main_engine.subscribe(req, "CTP")

# 报单:买入开仓一手螺纹钢

order_req = OrderRequest(

    symbol="rb2310",

    exchange=Exchange.SHFE,

    direction=Direction.LONG,

    type=OrderType.LIMIT,

    volume=1,

    price=3800

)

main_engine.send_order(order_req, "CTP")

这段代码连上SimNow模拟环境,订阅螺纹钢行情,挂一个限价买单。实盘要把CTP设置换成期货公司给的正式账号。报单前要检查账户资金、持仓限额、品种是否可交易。

结尾

A股程序化交易接口有路可走,只是门槛比期货高。散户想玩量化,期货CTP是最佳起点,策略跑通了再转股票。券商API和第三方平台各有优劣,根据资金量和策略频率选。模拟接口必须用,别拿实盘试错。合规底线守住,程序化交易才能长久。

转载请注明出处:https://www.lianghuajiaoyi.top/wenzhang/Agu-chengxuhua-jiaoyi-API-jiekou-947.html