There is no need for a relationship between the size of in-sample (used to develop the strategy) and out-of-sample testing. Although Pardo does recommends an out-of-sample size of 10-20% of the optimization data. This seems arbitrary to me.
My approach is to specify the size of the out-of-sample data set independently of the size of the training set.
1. Define the minimally statistically significant sample size one requires, take you pick: 25, 30, 35, 50, or 100+. The larger the better, but at least 25.
2. Count the number of if statements in the strategy that result in trading decisions. You want the size of the out-of-sample test to generate a number of trades >= MinSampleSize*NbrIfStatements.
3. Better yet, you want the number of trades to be >= SampleSize for each path through your strategyâs decision tree. You will have to instrument you strategy during the in-sample optimization to get the fraction of trades that follow any given path. The path with the least fraction of trades then determines the size of the out-of-sample data set: NbrOfTrades > MinSampleSize/SmallestFraction. The number of bars required for the out-of-sample test = NbrOfTrades*AveNbrBarsPerTrade, where AveNbrBarsPerTrade is also collected by the in-sample instrumentation.
#3 is harder to implement but is superior to #2 because one gets a statistically significant number of trades to test on each path though your decision tree.
My approach is to specify the size of the out-of-sample data set independently of the size of the training set.
1. Define the minimally statistically significant sample size one requires, take you pick: 25, 30, 35, 50, or 100+. The larger the better, but at least 25.
2. Count the number of if statements in the strategy that result in trading decisions. You want the size of the out-of-sample test to generate a number of trades >= MinSampleSize*NbrIfStatements.
3. Better yet, you want the number of trades to be >= SampleSize for each path through your strategyâs decision tree. You will have to instrument you strategy during the in-sample optimization to get the fraction of trades that follow any given path. The path with the least fraction of trades then determines the size of the out-of-sample data set: NbrOfTrades > MinSampleSize/SmallestFraction. The number of bars required for the out-of-sample test = NbrOfTrades*AveNbrBarsPerTrade, where AveNbrBarsPerTrade is also collected by the in-sample instrumentation.
#3 is harder to implement but is superior to #2 because one gets a statistically significant number of trades to test on each path though your decision tree.
