量化策略的实盘跟踪方法

量化模型完成后,需要进行小规模的实盘跟踪,确保模型的可执行性。
模型的是否可以长期执行,受到两部分影响:

  • 损耗(也就是冲击成本)
  • 逻辑偏差(回测可以交易,但是实盘不行,比如:非一字涨停股票可以开盘买入,非一字跌停可以卖出,集合竞价能成功买入)
    比如股票的高换手策略,对于冲击成本的要求及其苛刻,同时由于涨跌停以及行权停牌等影响,会导致回测结果会有偏差,除了对实盘的滑点进行统计,还需要统计其他情况对整体曲线的影响。
    一方面,这是对模型有效性的验证,同时也可以作为收益归因的基础数据(比如某个交易日,实盘和回测之间的差距较大,需要有数据去说明,这是当如滑点过大造成的 或者是 当日模型受到不可控因素没有按照策略执行交易造成的)

对于此类需求,可以参考以下三条曲线进行分析:
1.实盘曲线
2.回测曲线
3.冲击曲线

实盘曲线就是实盘账户的净值曲线;
回测曲线是根据量化模型生成的模拟交易,加上固定的冲击成本生成的曲线;
冲击曲线是根据实盘流水获取交易动作,加上固定的冲击成本生成的曲线;

以股票策略为例,该策略开盘集合竞价买入,次日收盘卖出,滑点设置为单边千2:
1.实盘账户净值曲线
2.模型回测曲线
3.获取实盘账户当日流水,将流水价格进行替换(买入价格替换为 开盘价+千2, 卖出价格替换为 卖出价格-千2)

进行实盘分析时,通过对比3条曲线之间的差异,可以找到影响实盘执行的因素。
A. 1与2对比,若有较大差距,说明冲击成本不止千2,或者当日实盘交易与模型有逻辑性偏差,进行下一步比较。
B. 1与3对比,若有较大差距,则说明冲击成本不止千2,需要检查模型是否的确是在策略要求的时间点买入(开盘买,收盘卖),若的确符合策略意图,则要计算实际滑点,重新验证该策略能否在该冲击成本下运行。
C. 若1与3接近,说明冲击成本影响不是很大,那问题一定是实盘交易的执行逻辑与模型策略不符,2与3的差距就是当日的损耗(比如说 有某些票因为可用资金不足没有买入)

posted @ 2022-08-24 15:41  LazyTiming  阅读(312)  评论(0编辑  收藏  举报