I have a strategy. Call it "W0". I set up the Training like this
StartDate = 20110101;
EndDate = 20121231;
BarPeriod = 60;
Weekend = 1;
LookBack = 600;
Hedge = 2;
DataSplit = 85;
set(TESTNOW);
set(PARAMETERS+FACTORS);
NumOptCycles = 2;
The backtest results are like
Profit 149$ MI 80$ DD 23$ Capital 572$
Trades 13 Win 46% Avg +10.6p Bars 30
AR 169% PF 3.94 SR 3.07 UI 19% R2 0.70
This is my starting point.
I add
Call this "W1".
The behavior of the Training is the same. The performance report is identical. I'm not sure what I was expecting. But, I wanted to point out that these two settings are equivalent
NumWFOCycles = 0; // default[
NumWFOCycles = 1; // equivalent
Alright, on to
< NumWFOCycles = 1;
---
> NumWFOCycles = 2;
call this "W2".
The difference in the performance report is interesting. The numbers and date ranges are the same (good!). We gain glyphs indicating per asset x algo performance in our only cycle.
< Out-of-Sample Test w1 portfolio - performance report
---
> Walk-Forward Test w2 portfolio - performance report
3a4
> Simulation period 15.11.2010-31.12.2012
6,7c7,8
< Out of sample test 1868 bars (16 weeks)
< Training period 10585 bars (91 weeks)
---
> WFO test cycles 1 x 1868 bars (16 weeks)
> Training cycles 2 x 10585 bars (91 weeks)
55c56
< Portfolio analysis OptF ProF Win/Loss Wgt%
---
> Portfolio analysis OptF ProF Win/Loss Wgt% Cycles
57,69c58,70
< EUR/USD avg .999 2.37 12/15 95.9
< GBP/USD avg .000 0.00 0/2 -0.6
< USD/JPY avg .499 1.54 6/5 4.7
<
< EUR/USD .999 2.37 12/15 95.9
< EUR/USD:L .999 3.28 7/6 69.6
< EUR/USD:S .999 1.66 5/9 26.3
< GBP/USD .000 0.00 0/2 -0.6
< GBP/USD:L .000 0.00 0/1 -0.5
< GBP/USD:S .000 0.00 0/1 -0.1
< USD/JPY .999 1.54 6/5 4.7
< USD/JPY:L .999 5.23 5/1 9.1
< USD/JPY:S .000 0.32 1/4 -4.4
---
> EUR/USD avg .999 2.37 12/15 95.9 /
> GBP/USD avg .000 0.00 0/2 -0.6 \
> USD/JPY avg .499 1.54 6/5 4.7 X
>
> EUR/USD .999 2.37 12/15 95.9 /
> EUR/USD:L .999 3.28 7/6 69.6 /
> EUR/USD:S .999 1.66 5/9 26.3 /
> GBP/USD .000 0.00 0/2 -0.6 \
> GBP/USD:L .000 0.00 0/1 -0.5 \
> GBP/USD:S .000 0.00 0/1 -0.1 \
> USD/JPY .999 1.54 6/5 4.7 X
> USD/JPY:L .999 5.23 5/1 9.1 /
> USD/JPY:S .000 0.32 1/4 -4.4 \
But, what is surprising about this is the Training time. W0 and W1 finish in 43 seconds. W2 takes almost twice as long, 84 seconds.
Looking at the train.log, it appears that W2 (NumWFOCycles=2) spends time to create a second w2.par file. But this calculation has no effect on the performance report compared to NumWFOCycles={0,1}.
Can you elaborate?