有一个策略回测的想法,一直没有实现,今天翻帖子发现一个跟我思路很接近的方法,但是还有一些想不明白,特来请教。
交易系统开仓信号比如5、10日均线金叉,卖出信号:持有两日就卖出;
我想实现的功能:
针对上证和深证来说,每天的信号都有好多,不可能全部买入,这样回测也没有意义,
我新建一个排名统计公式, 比如用KDJ的K值作为排名,取符合买入条件的所有信号中K值排名前5的信号买入
那帖子《利用金字塔的自定义数据横向排名统计功能实现策略回测的方法和步骤 》http://www.weistock.com/bbs/dispbbs.asp?boardid=10&Id=137635
中描述的方式就不适用了,因为每天的开仓信号都是不一样的,所以也就不可能去建立一个固定板块去刷新里面的自定义数据排名,然后取前5买入。
请问大神,这种情况该怎么处理啊。
或者这么说:符合买入信号的K值排名在整个市场中分的比较散, 前中后都有, 利用selfdata("K值排名")<=5就取的不是我想要的信号了
1 MA1:=MA(CLOSE,5);
2 MA2:=MA(CLOSE,10);
3 //交易条件
4
5 开多条件:=CROSS(MA1,MA2);
6
7 //交易系统
8 ENTERLONG:filter(开多条件,2-1);
9
10 EXITLONG:ref(ENTERLONG,2-1)=1;//开仓一天后平仓
11
以上代码是我需要进行回测的交易系统,针对A股市场进行回测,按照这个简单的开仓条件,那每天的信号都是很多的,可能都在100个以上,如图所示
此主题相关图片如下:qq图片20161113105619.png
但是这100个信号我不可能全部买入,不然测试结果将变的没有意义。
因此在回测的时候需要对这些信号股先做一个筛选,再买入,筛选条件就是对这100多个符合开仓条件的K值进行排序,只选择前5个买入,在测试明细中每天最多的买入数量就是5个了