我们注意到当大盘择时空仓时,如果所持股涨停,并且策略设置了调仓日交易时涨停涨停不卖的话,可能存在盘中所给交易指令与盘后数据更新所得到的执行结果不一致的问题。
具体来说,假设这么一个场景:当前大盘择时空仓,股票A涨停,股票B也涨停,股票A满足卖出条件,股票B不满足卖出条件,并且策略设置了涨停不卖的逻辑。
这时候在盘中我们给到的指令是:股票A 和股票B都不会卖出
而盘后数据更新,或者在回测里:
对于股票A因为满足卖出条件,所以会走 “卖出条件-不卖条件”的逻辑判断路线,由于不卖条件的优先度大于卖出条件,所以股票A不会被卖出。
而股票B不满足卖出条件,所以会直接走“大盘择时卖出”,大盘择时的优先度高于不卖条件,所以股票B会被卖出。
为了保持一致性,我们调整了盘后更新以及策略回测中的处理逻辑:当大盘择时仓位为0时,卖出股票全部需要考虑"调仓日交易时涨停"。
这样能与盘中所给到的指令“股票A和B均不卖出”保持一致了。
注意:该项改动可能会造成部分策略的历史及当前持仓发生变化,望用户知悉。
