策略写完不等于能上实盘。上线前把这 5 项过一遍,能挡掉大部分"上线第一天就出事"。
1. 代码后缀对了吗
上交所股票有的平台写 .SH,有的写 .SS;深交所是 .SZ。
为什么放第一位:写错不会报错,只会让取数静默返回空列表,然后你以为是接口挂了,排查半天。
怎么验证:取一只你熟悉的票的日线,打印出来看有没有值。
(后缀对照说明)
2. 实时行情订阅了吗
很多终端默认不主动推行情,要显式订阅。
为什么危险:不订阅的结果不是报错,是数据一直空着。你会以为行情接口有问题,其实是没订阅。
怎么验证:订阅一只票,等几秒,看有没有 tick 进来;再打印最新价和买一卖一,跟行情软件对一下。
(实时行情怎么取)
3. 定时函数在回测里跑吗
很多平台的定时/调度函数只在实盘模式执行,回测里根本不跑。
后果是双向的:回测里没验证过的逻辑,实盘才第一次跑;或者你以为实盘会定时跑的东西,回测里从没跑过。
怎么验证:在定时函数里打一条日志,回测跑一遍,看日志出不出来。
(回测不跑定时函数的排查)
4. 下单之后,查得到委托和成交吗
下单函数返回成功,只代表委托提交了,不代表成交。
要点:下单时带一个前后一致的策略名(或类似标识),这样查询委托/成交明细时才筛得出自己的单。
怎么验证:实盘只下 1 手,然后分别查 ORDER(委托)、DEAL(成交)、POSITION(持仓),三个都要能看到。
(委托回调与成交查询)
5. 开盘第一分钟会下单吗
集合竞价刚结束、快照还没到的时候发单,容易失败。
怎么改:判断"数据到了"再发,而不是判断"时间到了"就发。
另外:限价小数位也要确认——股票一般 2 位,可转债和 ETF 常见 3 位,写错会直接拒单。
(9:30 下单失败怎么处理)
上线第一天的最小动作
- 只下最小手数,先把"下单 → 委托 → 成交"三个环节验证通;
- 每条决策都打日志:时间、用到的数据时点、目标仓位、实际下单结果;
- 确认策略进程能稳定跑满整个交易时段(别用笔记本,合盖休眠就断了)。
一句总结
这 5 项没有一项跟"策略好不好"有关,全是环境能不能用的问题。但实盘里最先出事的,通常就是这些。
查接口和报错我平时用 kimiquant.cn 的 API 速查 和 问题库。
写策略、排查报错我常用 WorkBuddy 辅助:WorkBuddy 邀请链接 |