量化研究 | 如何让回测更加贴近实盘?

松鼠Quant
2024-06-27
图片
量化策略开发,高质量社群,交易思路分享等相关内容



『正文』

ˇ

大家好,俱乐部里经常有人问如果策略通过指数数据(000)计算信号,怎么让回测结果更贴近实盘。指数数据是通过各个合约加权计算的,如果是主力合约与次主力成交量差距小,那么指数信号的计算就会失真。


其实方法有两种:

1.直接用主力连续复权数据(888)计算信号回测,这个是最直接有效的方法。

2.叠加两个数据源:1.指数数据2.主连数据
如下图:

图片

指数与主连数据放在同一个单元格下,然后在Rang[0:0]也就是第一个图层里写策略逻辑。这样的话就是指数数据计算信号,然后再下单的时候用data函数调取图层2,也就是使用主力数据的下单函数下单。
































































//------------------------------------------------------------------------// 简称: index_trade// 名称: index_trade// 类别: 公式应用// 类型: 用户应用// 输出: Void//------------------------------------------------------------------------Params
Vars   Series<Numeric> ma1;   Series<Numeric> ma2;   Global Numeric KG;   Series<Bool> cond1;   Series<Bool> cond2;
Events   //初始化事件函数,策略运行期间,首先运行且只有一次,应用在订阅数据等操作   OnInit()   {    //与数据源有关    Range[0:DataCount-1]    {      //=========数据源相关设置==============      AddDataFlag(Enum_Data_RolloverBackWard());   //设置后复权
      AddDataFlag(Enum_Data_RolloverRealPrice());   //设置映射真实价格
      AddDataFlag(Enum_Data_AutoSwapPosition());   //设置自动换仓
      //AddDataFlag(Enum_Data_IgnoreSwapSignalCalc());   //设置忽略换仓信号计算    }
  }

  OnBar(ArrayRef<Integer> indexs)   {    Range[0:0]    {      ma1=Average(C,5);      ma2=Average(C,10);      cond1=CrossOver(ma1,ma2);      cond2=CrossUnder(ma1,ma2);      if(cond1[1])      {        //Buy(1,open);        Data1.Buy(1,Data1.open);      }      if(cond2[1])      {        //SellShort(1,open);        Data1.SellShort(1,Data1.open);      }    }   }
//------------------------------------------------------------------------// 编译版本   2024/06/11 172813// 版权所有   songshu123// 更改声明   TradeBlazer Software保留对TradeBlazer平台//      每一版本的TradeBlazer公式修改和重写的权利//------------------------------------------------------------------------

图片

绩效比较

同一个策略及参数,我们对比一下回测绩效

  1. 指数回测

图片

图片

图片

2.指数信号映射到主力复权连续数据下单

图片

图片

图片

结果:

指数回测,亏损:13000

指数映射到主连复权数据下单,亏损19000

简单计算一下,真实信号的绩效与指数信号的绩效他们偏差在30%左右,当然只是一个粗略估计,实盘根据主力和次主力的成交量差距成反比。不是说指数不能交易,换月前后差距比较明显,实盘时要心里有数。OK,评论区欢迎讨论,也可以提出其他研究课题,一起进步。

   

新高 | 2024年发布的CTA策略跟踪

欢迎加入2024松鼠俱乐部,获得量化需要的策略源码,培训视频,行情数据。

1.原创策略源码,每月至少1期新策略源码。

2.专属数据库(国内商品数据每日更新)

3.个性化工具类-波动率跟踪

4.松鼠分享会(培训视频每月1期)

图片

本策略仅作学习交流使用,实盘交易盈亏投资者个人负责,内容受原创保护,未经授权禁止转发、倒卖策略源码。

图片

咨询详情

长按下方二维码

加客服“小松鼠-松鼠宽客”

图片

微信号: viquant01(人工)

聊天框发送 VIP 咨询加入

(例如:俱乐部加入→回复VIP)

加入松鼠VIP俱乐部


分享