在之前的文章中,我们对样本外递进检验进行了概念和参数的介绍。今天就以案例的形式,详细了解一下该功能的具体流程。
一、新建优化任务
用户在策略交易中新建了一个策略单元,数据源是000001的日线,公式是系统公式dualma。选中策略单元右键选择新建优化任务。
然后在工具栏打开策略优化界面可以看到优化任务的属性。
双击对应任务可以设置属性。
二、应用案例场景描述
我们对双均线dualma优化第一个参数。数据源的时间为2019/01/01-2019/10/31。
样本外递进检验的参数如图设置为:
单位样本数:1月;这样样本每个自然月为一份,分割总份数为10份
优化样本份数:3;启用优化累计上限为3
检验样本份数:1;启用检验累计上限为3
启用开始时间:暂不启用;间隔份数:0
三、算法流程图
下面两张图是算法的总体流程图和单次具体说明。
优化的过程如下:
1)切分样本,确定单元样本的大小。
总数据有10个月。一个月一份,总共有10份。
我们以样本1,样本2,样本3……样本10 表示每段样本。
2)取第一份优化样本,进行优化
第一份优化样本为3个单元样本,即样本123。优化确定最优参数比如是。
3)应用优化参数到,第一份检验样本,即样本4。
因为指标的计算需要历史数据,所以在真正要检验的样本前面,需要多运行历史样本。
真正要检验的样本是1份,即样本4;累计检验样本是3个月,所以多运行的历史样本是两份,即样本2和3。那么检验的时候,运行的是2月份到4月份。最后截取4月份这一段的资金曲线。
4)以真正检验的样本份数为步长(本案例是1份),移动窗口,确定下一次的优化样本的数据区间。
第二次优化,则优化样本取3份,从第2份到第4份。
5)重复上面2-4的过程.直到最后检验完所有数据。
最后一次的优化样本是7-9,即7月份到9月份,检验样本总共运行的是8月份到10月份,截取的资金曲线是10月份这一段的。
每一次的样本份数如下:
四、优化结果查看
运行完优化任务之后,双击策略单元可以弹出如下的优化报告。
优化报告会显示优化过程中各个阶段的分段报告和最后的报告汇总。
在分段报告的前面几个字段的简介。
“序号”:是第几次优化。点开则显示优化、检验和提取的三个报告明细。
参数段:显示本次优化选中应用于检验样本的最优参数
“时间段”:显示样本检验所使用的样本(包括预检验的样本)。
最后的汇总则是把每次的检验样本(不包含预检验的样本)的测试报告截取的汇总。
五、单位样本设置的更改
在进行样本外递进检验的时候,切分样本的方式有很多种。
如下图所示,可以按照bar,也可以按照自然时间周期。
六、间隔的作用
如果用户设置间隔份数为1,那么实际运行结果如下所示:
我们可以对比间隔份数为0的情形可以发现,检验样本相比之前都往后推后了一个月。
比如间隔份数为0,第一次优化,优化样本1-3月,检验样本2-4月,提取4月;
比如间隔份数为1,第一次优化,优化样本1-3月,检验样本3-5月,提取5月。
七、启用开始时间设置具体解释
启用开始时间则会复杂一点,比如我们设置启动开始时间为2019/02/06。那么设置如下图所示:
优化结果如下图:
我们可以对照下列的表格进行理解。
首先样本份数的确定,可以看到因为设置了启用开始时间为2019/02/06,所以2月份会被拆成两部分,2019/02/01-2019/02/11和2019/02/11-2019/02/28。这里注意2019/02/06是个休息日,2019/02/11是2019/02/06之后的第一个交易日。
第一次优化时,优化样本则不是用设置的3份,而是截止到开始时间为止。所以优化样本只有两份,分别是2019/01/02-2019/01/31和2019/02/01-2019/02/11。而检验样本也不是3份,而是只取了接下来的一份,2019/02/11-2019/02/28。提取样本就直接提取了这一段2019/02/11-2019/02/28。
第二次优化时,优化样本则使用了3份,2019/01/02-2019/02/28。检验样本也使用了3份,2019/02/01-2019/03/29。提取样本直接提取了最后一份2019/03/01-2019/03/29。
第三次到最后和第二次的结构一样,依次进行。
领取专属 10元无门槛券
私享最新 技术干货