量化交易接口(券商QMT、PTrade这类程序化接口)具备错误处理机制,但报错的详尽程度分接口类型、报错场景,并不是所有失败都能给到通俗易懂的文字原因。
当报单参数非法、账户权限不足、标的无交易权限、价格超出涨跌停、委托数量不符合规则这类前置校验失败,接口会直接返回错误码与对应描述,会明确告诉你是价格超限、数量错误、权限未开通、账户状态异常等,程序可以捕获返回码,做重试、日志记录、告警处理,这一类场景信息比较清晰。
而已经把报单送到交易所之后发生的拒单,部分情况信息会相对简略。交易所返回的是标准化错误代码,券商接口做一层转发,有些场景只会提示“交易所拒单”,不会把底层细节完整翻译成大白话,需要对照错误码文档去排查,比如可卖数量不足、持仓已经被冻结、集合竞价阶段不支持该类委托等。
还有一类特殊情况,网络抖动、链路中断,会出现报单状态未知,接口收不到交易所应答,此时不会返回明确错误,也不知道是成交、拒单还是还在排队。这种不能简单重复下单,必须额外写查询逻辑,主动查询委托状态,避免重复报单造成重复委托。
另外实盘接口和回测环境差异很大,回测几乎不会出现网络、柜台风控类报错,实盘柜台还会有券商风控拦截,比如触及单账户流速限制、两融维持担保比例不满足、触发券商自定义风控阈值,这部分拦截的报错信息,不同券商封装的详细程度不一样,有的会明确标注风控原因,有的仅返回通用拒绝提示。
做量化程序时,不能只依赖接口返回的错误提示,需要配套日志记录、委托查询、状态未知的处理逻辑,区分参数错误、柜台风控、交易所拒单、网络异常不同情形,不要遇到失败就直接无脑重试。
我司为正规上市老牌券商,足不出户就能线上完成开户操作,并且佣金很优惠,欢迎联系。
同花顺量化交易接口,麻烦科普一下
怎么了解券商的量化交易接口的调用频率限制,会不会限制每秒的下单次数?
问一问流程:
1.提交咨询
2.专业一对一解答
3.免费发送短信回复