为什么普通人用A股API做量化总亏钱
摘要:
A股API是连接交易软件与量化策略的桥梁,决定了数据速度与交易执行效率。选错接口类型、忽略延迟和合规限制,会让策略从盈利变亏损。理解接口本质比写代码更重要。

你用的A股API到底在帮你做什么
很多人第一次听到A股API,以为是个能自动赚钱的黑盒子。实际它就是个传话的。你的策略程序想买茅台,它负责把“买500股”这个指令送到券商服务器,再把成交回报拿回来。没有API,你就得手动点鼠标,速度慢,情绪还容易上头。
A股API分三种。第一种是行情API,只给你看数据,不能下单。像新浪财经、腾讯财经的免费接口,延迟三五秒,适合看盘不适合交易。第二种是交易API,券商官方提供,能下单能撤单,但通常要资金门槛,五十万起。第三种是第三方平台封装的,像聚宽、米筐,把行情和交易打包,用起来顺手,但中间多了一层,延迟不可控。
做股票的人最爱用行情API跑回测。历史数据免费下载,跑个双均线策略,年化收益看着很美。实盘一上,滑点吃掉大半利润。因为免费行情是快照数据,每三秒一个切片,不是逐笔成交。你回测时假设按收盘价成交,实盘那瞬间价格早跳了。

期货这边更刺激。期货API通常和交易所直连,延迟毫秒级。但期货有夜盘,有主力合约换月。你写策略时用螺纹钢2405合约,忘了移仓换月,到了交割月前保证金翻倍,一个反向波动直接爆仓。API不会提醒你这些,它只负责执行。
延迟到底吃掉你多少钱
延迟分两种。一种是行情到策略的延迟,一种是策略到交易所的延迟。A股散户用公网,从你电脑到券商机房,再到期交所,一来一回至少三十毫秒。机构用专线,五毫秒以内。别小看这二十五毫秒差距。
假设你做个日内突破策略,一天交易二十次。每次因为延迟多亏一个最小变动价位。螺纹钢一跳十块钱,二十次就是两百块。一手保证金四千,一天亏百分之五。一个月二十个交易日,本金亏光。这还没算手续费。
高频交易者把服务器托管在交易所机房,一年托管费几十万。散户没这个条件,那就别做高频。做日线级别趋势跟踪,延迟几十毫秒无所谓。你晚上复盘,第二天开盘挂单,成交价差点就差点。策略逻辑对了,长期能赚。
有人问,那我用券商的极速柜台行不行。行,但极速柜台也是排队。你前面有大户,单子比你早到一微秒,价格优先时间优先,你的单子就挂在后面。API给你的是公平通道,不是优先通道。
接口选型决定策略生死
股票API选型看三点。数据频率、下单速度、合规限制。数据频率要逐笔成交,不要快照。下单速度要支持批量撤单,不要一笔一笔撤。合规限制最要命。A股有T+1,有涨跌停,有最小交易单位一百股。你的API如果没做这些校验,策略发出买入信号,结果股票涨停了,单子废掉。或者你卖了昨天买的股票,API不检查可用数量,直接报错。
期货API选型看四点。合约乘数、保证金比例、交割规则、夜盘时间。合约乘数搞错,螺纹钢一手十吨,你当成一吨,仓位放大了十倍。保证金比例交易所会调,节假日前上调,API如果写死比例,节前就爆仓。交割规则更坑,个人客户不能交割,到了交割月必须平仓。API不会自动帮你平,你得自己写逻辑。
有个做期货的朋友,用CTP接口写了个跨期套利。螺纹钢05和10合约价差回归。策略跑了一年,稳定盈利。去年十月忘了移仓,05合约进入交割月,保证金从百分之十提到百分之二十。他满仓套利,保证金不够,被强平。价差还没回归,策略逻辑没错,死在了规则上。
自己写接口还是买现成的
自己写接口,要处理网络断线、心跳重连、订单状态同步。CTP接口有前置机,断线后要重新登录,查询持仓和挂单。这些逻辑写不好,实盘就出鬼。明明没持仓,API显示有。明明撤单了,API显示还在。你基于错误状态做决策,必亏。
买现成的量化平台,省事但受限制。平台不支持某些合约,或者限制交易频率。你想做股指期货日内,平台说一天最多五百笔。五百笔够不够,看策略。高频不够,中低频够了。选平台前先看它的API文档,重点看错误码。错误码少的平台,遇到问题你都不知道怎么查。
最稳的办法是半自动。行情用免费API,信号自己算。下单用券商官方API,手动确认。牺牲速度换安全。适合资金量不大、交易频率不高的散户。等资金上千万,再考虑全自动。
合规红线不能碰
A股API有个灰色地带。第三方平台提供券商交易接口,属于经纪业务外包。证监会查过几次,罚过几家。你用这类接口,哪天平台被关,资金取不出来。选接口前查清楚,是不是券商官方授权。
期货API更严。程序化交易要报备。你写个策略自动下单,没向交易所报备,查到就限制开仓。报备不难,填个表说明策略类型、交易频率、最大仓位。不报备的代价是账户被监控,频繁报撤单会被认定为异常交易。
还有个坑是API密钥泄露。有人把密钥写在代码里,上传到GitHub。别人拿去下恶意单,赚了归自己,亏了算你的。密钥要加密存储,定期更换。别用简单密码,别共用密钥。
从模拟盘到实盘的最后一公里
模拟盘赚钱实盘亏,九成是滑点和流动性问题。模拟盘按最新价成交,实盘你要排队。你买一百手螺纹钢,盘口就五十手,剩下的五十手得吃更高价。API返回的成交均价,比你信号价高两个点。两个点就是二十块,一手亏二十。
解决办法是拆单。大单拆成小单,分批下单。API支持冰山指令最好,不支持就自己写循环。每次下十手,间隔一秒。但拆单增加撤单次数,可能触发异常交易监控。跟交易所报备时说明拆单逻辑,一般能过。
实盘前跑一个月模拟。模拟盘用实时行情,但成交按对手价加滑点。自己手动加千分之一滑点,看策略还赚不赚。赚了再上实盘,亏了回去改。别信回测曲线,那东西用未来函数能画成直线。
API是工具,不是圣杯。工具用得好,帮你执行纪律。工具用不好,加速亏钱。先搞懂交易规则,再搞懂接口逻辑,最后才是写代码。顺序反了,学费很贵。
声明
转载声明:欢迎分享本文,转载请注明出处!
点击复制: