第一日做回测时开仓记录:
第二日做回测的开仓记录:
问题在这里就是,为什么我相同的代码相同的回测时间段的开仓时间点不一样??(两次20150202开仓股票不一样是因为对开仓过了的股票不进行开仓)
此主题相关图片如下:%hro3%0@{jewl%e54be1d1.png
而我的逻辑是首先对股票的多个因子进行综合排序,然后根据其每日排名每隔5日开一次仓,在自定义数据那里明明每个股票已经有排名了,但是回测的时候他却没有按固定的时间开仓
(比如20150130已经有排名了但是它到0150202才开仓),下单代码如下
我想问的是,是否是代码没有正确读取到:
综合排名: REF(SELFDATA('综合排名'),1);
这一个函数
导致当其综合排名<11时仍没有进行开仓???
如果不是综合排名的这里的问题的话可能就是我:
DAYCOUNT=1 OR DAYCOUNT=6 OR DAYCOUNT=11 OR DAYCOUNT=1
这里每五日开一次仓这里代码的问题,
调仓周期设为5日一次有没有更好的方法????
此主题相关图片如下:)38{9dqlo_hrgi)f$njv48y.png
调试了下,可能是我daycount这部分函数的问题,
在图表上显示0130日daycount=8,并非5n+1,也就是未达到我预设的开仓信号但是在回测计算的时候它却被触发了,
也就是在图标回测中与图表现实中daycount计算存在差异,回测时其值应该并非为8而是1或6,11,16
请问金字塔回测的时候的内部机理是吧回测设置的起始第一个交易日作为有效值吗
试了勾选与不勾选两种情况,测试结果都一样,看来是回测试程序并没有按照
if startday=20150101 then begin
daycount:=0;
end
daycount:=daycount+1;
运行,daycount这个主要计算开仓时间点的参数无法正确按预定时间初始化;
老师有没有什么好的建议,可以设置成固定一个时间点后,后面每5个(或n个)交易日进行一次调仓?(这里主要是想保证每次相同代码相同设置回测的结果均一直,后期是实盘时也可追朔)