The Grail Forum
October 17, 2017, 03:05:40 pm *
Welcome, Guest. Please login or register.

Login with username, password and session length
News: Coming soon!! Oct 2017: Ant Strategy Explorer with powerful Data mining capabilities. Read more at http://nextgentrading.com
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: GGO / GWFO - FAQ's (continued)  (Read 9994 times)
Wouter
Administrator
Hero Member
*****
Posts: 920



View Profile Email
« on: August 20, 2009, 03:24:53 pm »

42. How do I select the best/most robust system/parameters using GWFO?
43. I get an "Array out of bounds error" when using Concurrent genetic walk-forward?
44. How can I verify the WFO result?
45. In GWFO, how do you determine the parameter names for the suggested values to be used for x number of days?
46. When I run GWFO I get all zero parameters for a specific/all runs?
47. What happens to the data in the WFO data folder if I run the same optimization with a different fitness number?
48. What exactly is Walk Forward robustness based on?
49. Can I specify different fitness functions when walk forward testing ?
50. I'm getting a robustness of >100% on one of my systems. Is that possible?
51. What is the difference between a rolling and anchored walk-forward?
52. How does GWFO calculate the in/out-of-sample windows?
53. How can I audit the GWFO OptimizationSummary and WalkForwardSummary?
54. Should look inside bar back testing resolution be turned on?
55. When using GGO, I get an error "Exception EInOutError in Module gadll.dll. Read beyond end of file"
56. Why does some traders select parameters as per the GGO optimization report instead of simply using the parameters suggested by the GWFO?
57. What is the difference between the OOS testing during a regular GGO optimization and the OOS testing done by the GWFO?
58. Where can I read more about walk-forward analysis?
59. Is there an efficient way to use GGO to do some Quick Screening of Strategies?
60. How do I set final input values for my GGO optimized strategy, to be used in real-time?
61. Why are there fewer GWFO trading history files than the number of GGO Iterations performed?
62. My concurrent walk-forward produces results with lots of zeros?
63. What factors mostly influence the execution speed of GGO/GWFO and how much can the GGO/GWFO benefit from multithreads/multi-cores?
64. Can I perform a cluster analysis for the Concurrent walk-forward method?

42. How do I select the best/most robust system/parameters using GWFO?
How do one select the best/most robust system when using the Walk-Forward Optimizer (GWFO)?
First of all one should remember that the main function of GWFO is to perform a detailed walk-forward analysis on all the systems that were either selected by the genetic optimizer (GGO) or tested during an exhaustive optimization in TS (if GGO was not used).
Thus one is using GWFO in the first instance to determine if a system is robust at all and is capable to pass the test criteria as defined by the user under Test Criteria Settings. If a system fails the walk-forward analysis, then you do not even have to worry about which parameter combination is the best, because GWFO tells you that the system is not sufficiently robust.
Once a system has passed the walk-forward ananlysis test, you can start worrying about which parameter combination is the best to use.
In this regard there are two different ways how GWFO could be used:
1) You could select the parameters that most frequently appeared on the WalkForwardSummary tab,
2) You could simply use the suggested parameters for the next XX days to trade the system. (the last line on the OptimizationSummary tab)
This method is being used by traders that believe in constant reoptimization at fixed intervals

When you do a walk-forward analysis with GWFO, it validates whether the system is overall robust enough to be implemented in real-time.
If you have excluded a significant portion of the data during genetic optimization and your system pass the walk-forward test, then the next step is to determine which parameters to use.
Here is some other methods that you also could have used:

If you are using GGO together with GWFO then during the genetic optimization you got results that can be viewed using the GGO SmartEditor on the Optimization report tab.
It is important to realize that GGO and GWFO is looking at the same system from different angles and thus, the moment results from the two angles confirm each other, we have more assurance.

First we could identify within GWFO the parameters that appeared to be most robust over different periods as well as the parameters that came out on top during the last walk-forward run. We write down these parameters and then continue our selection in the GGO SmartEditor. You can rank the results on several different fields but will most probably use the Fitness function as ranking criteria.
Now we are looking to see if we can find any of the parameter combinations suggested by GWFO in the top 50 of GGO. (We are saying top 50, but 50 is just an arbitrary figure to indicate that you should not be only looking at the best 5 for example) What is important is the quality of the results taking into account your own specific requirements.
If only the first 20 ranked systems have very good results in terms of the fitness function and other performance statistics that are important to you, then you would only look at the top20. Now you are trying to see if you can
find any of the systems (as suggested by GWFO) also being highly ranked in GGO. If you can find any such system, then you have so much more assurance because now that system has been confirmed by two different approaches.

Traders who strictly follow an approach of re-optimization at fixed intervals would simply use the parameters of the last walk-forward run on the Walk-ForwardSummary tab.
Personally I would follow the above selection methods and then from my final shortlist of favourable parameter combinations, select the one that satisfies most of the critieria that you have defined for yourself.

43. I get an "Array out of bounds error" when using Concurrent genetic walk-forward?
It could happen that you experience an "array out of bounds" error when doing a concurrent genentic walk-forward.
There is a quick solution as explained in GGO Help, Contents, Troubleshooting:
When a concurrent walk-forward is done, by default the arrays for INSTrades and OOSTrades are limited to cater for an anticipated number of in-sample and out-of-sample trades, e.g.
Array: INSTrades[1000](0),OOSTrades[250](0);
(There is no way that GGO can know beforehand how many trades your strategy is going to generate)
If you get an out of bounds error, it means your strategy has generated more trades than what the array definitions can currently handle and thus you should simply increase the array sizes as follow, e.g. (doubling the sizes):
Array: INSTrades[2000](0),OOSTrades[500](0);

44. How can I verify the WFO result?
For each run displayed in the OptimizationSummary and WalkForwardSummary you will find the parameters (inputs) that were used are displayed in the Parameters column.
The trading history file that was used to generate the statistics for that run will be found in the
C:\Program files\TheGrailWFO\Data\Symbol_Interval_Strategynam e folder.
The history files are named as follow:
Symbol_Interval_Strategyname_Input1_Input2_Input3 .......txt
You can then open the applicable file (thus the file with the same inputs as listed in the parameters column of the GWFO report) using any text editor.
Then simply identify all the trades with dates that fall in between the start and end date as listed in the Period column of the OptimizationSummary or WalkForwardSummary report.
If you sum the P&L's of those trades, you should arrive at exactly the same figure as listed in the GWFO.
All other statistics (MaxDD,#Trades etc) will also be only for those trades that fall inbetween the applicable start and end date.
You should repeat this process for each individual run, since each run would most probably have used a different history file (with a different parameter combination).

45. In GWFO, how do you determine the parameter names for the suggested
values to be used for x number of days?

One cannot view the parameter names in GWFO although they are displayed in exactly the same order as in the original strategy or one can use the GGO output as you did.
In the folder C:\Program files\TheGrailGGO you will find a file called YourStrategyName.DEF that list all the inputs used.
Another easy method would be to load the appropriate GGO Optimization report as follow:
Set GGO to 'Evaluate strategy' mode.
Then use File, Open Optimization report to load the applicable report. This report will show all the input names in the same order as used by GWFO.

46. When I run GWFO I get all zero parameters for a specific/all runs?
Please check in the applicable subfolder of folder C:\Program Files\TheGrailWFO\Data if there is not a trading history file with all zero's in the filename. Thus the filename will look something like this:
Symbol_Interval_StrategyName_0_0_0_0_0_0_0_0_....t xt
If so, delete this file manually because it most probably only contains junk data that is causing GWFO to malfunction.
This file sometimes gets created automatically when TradeStation recalculates the trading strategy right at the end of a genetic optimization (when you were using the Genetic Optimizer). Then all parameters are reset
to zero and as a result a file is created that contains the trading history for a system where all the parameters were zero, which is usually nonsense.
After you have deleted the file with all zero's in the filename, you should re-run your walk-forward analysis and the results should be fine.

47. The GGO reports folder has the fitness number in the folder name, but the WFO data folder does not use the fitness number in the folder name.What happens to the data in the WFO data folder if I run the same
optimization with a different fitness number?

The GWFO data folder contains the trading history files generated during the genetic optimization.
It does not matter if you optimize the same strategy with different fitness numbers, because all what will happen is that the GWFO Data folder will contain the trading history files of several optimizations using different
fitness functions.
The different GGO reports (named according to fitness) will only access the trading history files generated by that specific optimization.

48. What exactly is Walk Forward robustness based on?
The WalkForwardSummary provides a summary of the out-of-sample window performances. This table also calculates and compares annualized rates of return for the in-sample and out-of-sample results. This statistic is the Robustness Index (also called the walk-forward efficiency)
RI = OOS Annualized Profit / INS Annualized Profit x 100%

thus

Robustness Index = Annualized P&L on WalkForwardSummary / Annualized P&L on OptimizationSummary x 100%

where

Annualized P&L on WalkForwardSummary =
Total Net Profit on WalkForwardSummary x 365 / Total days on WalkForwardSummary

Annualized P&L on OptimizationSummary =
Total Net Profit on OptimizationSummary x 365 / Total days on OptimizationSummary

49. Can I specify different fitness functions when walk forward testing ?
Note that GWFO does its walk-forward using the trading history files created in the
C:\Program files\TheGrailWFO\Data folder.
Since the trading history files only contain P&L information for every single trade, one cannot choose a fitness function for the walk-forward test and thus the NetProfit is the default fintess function.
The trading history files, were created as a result of whatever fitness function you have selected in GGO. Different fitness functions will produce different parameter combinations to be tested and thus different sets of trading history files. Note however, that GGO simply writes all trading history files to a folder with the name of the symbol and strategy. Thus if you perform two GGO optimizations after each other on the same symbol and strategy, but using different fitness functions,
then the C:\Program files\TheGrailWFO\Data\Subfolder will contain all the trading history files for both fitness functions and should you then perform a walk-forward analyses, it would actually be a walk-forward on both the fitness functions used in GGO.


50. I'm getting a robustness of >100% on one of my systems. Is that possible?
The GWFO cluster analysis will be able to tell you if it is an abboration or not. If the 100%+ figure is not surrounded by other similar high figures, then it would suggest that it is an abboration. Note that even the cluster analysis can only be trusted if you have used a sufficient amount of data in the first place.

51. What is the difference between a rolling and anchored walk-forward?
The GWFO performs each run completely on its own and each line of results displayed in the GWFO OptimizationSummary and WalkForwardSummary represents only the results of that specific run.
However, although the out-of-sample windows (on the WalkForwardSummary) will never overlap, the cutoff periods (start and end dates) of the different in-sample runs (on the OptimizationSummary) will overlap.
This is not only the case with anchored walk-forward but also with rolling walk-forward you will find that the different in-sample windows overlap to some extent.
Even though the in-sample windows overlap, each different run is evaluated on its own.

Graphically it would look like this:

Rolling Walk-forward OOS=20%:

Run #1 |--------- In-sample 80% ---------| OOS 20% |

Run #2 ............... |---------- In-sample 80% ---------| OOS 20% |

Run #3 ................................. |---------- In-sample 80% ---------| OOS 20% |

Anchored Walk-forward OOS=20%:

Run #1 |--------- In-sample 80% ---------| OOS 20% |

Run #2 |----------------- In-sample ----------------------| OOS 20% |

Run #3 |---------------------------- In-sample -------------------------| OOS 20% |

(With anchored walk-forward the length of the 20% OOS is calculated according to the first run)

52. How does GWFO calculate the in/out-of-sample windows?
GWFO uses bars to calculate the walk-forward window lengths and not dates.
The number of bars per walk-forward run is calculated as follow:

TotalBarsPerRun = Total number of bars / (Walk-forward runs * Out-of-sample% + In-sample%)
InSampleBarsPerRun = TotalBarsPerRun * In-sample%
OutOfSampleBarsPerRun = TotalBarsPerRun * Out-of-sample%

For example, if all the data has 10000 bars and we apply an out-of-sample%=20% with 10 walk-forward runs, then for a Rolling walk-forward we get:

TotalBarsPerRun = 10000 / (10 * 0.2 + 0.8 ) = 3571 bars
InSampleBarsPerRun = 3571 * 0.8 = 2857 bars
OutOfSampleBarsPerRun = 3571 * 0.2 = 714 bars

Thus we get:

In-sample Out-of-Sample
StartBar EndBar StartBar EndBar
Run#1 1 2857 2858 3572
Run#2 715 3571 3572 4286
Run#3 142 4285 4286 5000
Run#4 2143 4999 5000 5714
Run#5 2857 5713 5714 6428
Run#6 3571 6427 6428 7142
Run#7 4285 7141 7142 7856
Run#8 4999 7855 7856 8570
Run#9 5713 8569 8570 9284
Run#10 6427 9283 9284 9998

GWFO also adds a rule to the calculation to enforce the last out-of-sample window always to continue until the last bar (bar no 10000 in this case) to compensate for cumulative rounding errors.
(resulting in missing out on the last 2 bars in this case, as can be seen from the above example)
For an anchored walk-forward, the in-sample startbar would simply
have been fixed at 1.

53. How can I audit the GWFO OptimizationSummary and WalkForwardSummary?
To audit the GWFO OptimizationSummary and WalkForwardSummary, you can do the following:
For each run displayed in the OptimizationSummary and WalkForwardSummary you will find the parameters (inputs) that were used as displayed in the Parameters column.
The trading history file that was used to generate the statistics for that run will be found in the
C:\Program files\TheGrailWFO\Data\Symbol_Interval_Strategyname folder.
The history files are named as follow:
Symbol_Interval_Strategyname_Input1_Input2_Input3 .......txt
You can then open the applicable file (thus the file with the same inputs as listed in the parameters column of the GWFO report) using any text editor.
Then simply identify all the trades with dates that fall in between the start and end date as listed in the Period column of the OptimizationSummary or WalkForwardSummary report.
If you sum the P&L's of those trades, you should arrive at exactly the same figure as listed in the GWFO.
All other statistics (MaxDD,#Trades etc) will also be only for those trades that fall inbetween the applicable start and end date.
You should repeat this process for each individual run, since each run would most probably have used a different history file (with a different parameter combination).
Thus you will not be able to verify the GWFO report's by simply looking at an individual trading history file.
You should be able to agree an individual trading history file with the trades list as produced by TradeStation when using the exact same parameters and slippage & commission settings as was used when the trading history file was created.

54. Should look inside bar back testing resolution be turned on, when using GGO/GWFO?
When evaluating a trading signal for a given bar, TradeStation assumes the following:
If the Open of the bar is higher than the Close, then TS assumes the High of the bar was made before the Low.
If the Open of the bar is lower than the Close, then TS assumes the Low of the bar was made before the High.
The assumptions are not always true in real life, especially if the open and close was relatively close to each other indicating a bar with sideways market action.
Thus, using these assumptions can then lead to inaccurate backtesting results.
To be prudent and to ensure that you have accurate backtesting results at all times, we recommend that Grail users should ALWAYS use look inside bar back testing if the strategy has any intrabar entries or exits.. (While there are means of protecting yourself against the TS assumptions, it is a very advanced topic and not recommended for the typical user).
Using look inside bar back testing will result in the optimization being a bit slower, but at least you know for sure you can trust the results.

55. When using GGO, I get an error "Exception EInOutError in Module gadll.dll. Read beyond end of file"
The "Read beyond end of file" error is because on that computer, you still have an old GAData.bin file that was created by GGO V1.05.46 or earlier.
First of all, make sure you have installed GGO V1.05.48 (Goto GGO Help, About to check the version)
Then goto C:\Program files\TheGrailGGO and delete the file GaData.bin and your problem will be solved!

56. Why does some traders select parameters as per the GGO optimization report instead of simply using the parameters suggested by the GWFO?
GGO/GWFO caters for a wide range of traders with different approaches.
If you follow an approach on consistent re-optimization, then you could simply use the parameters as suggested by GWFO.
However, some traders prefer to select parameters themselves using the GGO optimization report to manually filter results and to look at equity curves etc.etc.
Traders who prefer using GGO to select their final parameters, should still use GWFO to validate overall model stability of the strategy under scrutiny.

57. What is the difference between the OOS testing during a regular GGO optimization and the OOS testing done by the GWFO?
When you select 'Exclude first x% and last y% of data' or
'Exclude data before xxxx and after yyyy' on the GA Settings tab of GGO, the genetic optimizer will exclude that portion of data during the optimization. Thus for each parameter combination, you are doing a SINGLE walk-forward test on a portion of unseen data.
When using the walk-forward optimizer, the GWFO simulates MULTIPLE walk-forward periods where each walk-forward period has its own in-sample and out-of-sample portion. Graphically it looks as follow for a rolling walk-forward:

Rolling Walk-forward with OOS=20%:

Run #1 |--------- In-sample 80% ---------| OOS 20% |

Run #2 ................. |---------- In-sample 80% ---------| OOS 20% |

Run #3 .................................... |---------- In-sample 80% ---------| OOS 20% |

A walk-forward analysis consisting of MULTIPLE walk-forward runs, provides higher statistical significance than a single walk-forward on a single piece of unseen data.

58. Where can I read more about walk-forward analysis?
The GWFO implements most of the ideas described in the book:
"Design, Testing and Optimization of trading systems" by Robert Pardo.
Mr. Pardo explains in great detail what a walk-forward analysis really is about, and why it is so significant.

Any serious system trader should read this book BEFORE taking on the markets. This little book is pure gold!

59. Is there an efficient way to use GGO to do some Quick Screening of Strategies?
To be able to do some "Quick Screening of Strategies" we recommend that one
should use GGO at its most basic / "introductory" level.
Thus no stress testing, no walk-forward testing or anything else.
Then the genetic optimization will only have 2000 tests.
Thereafter you goto the GGO SmartEditor, open the optimization report and simply look at the "Avg Fitness for the Top100" in the upper right hand corner.
You can write down these values for the different Ranking criteria and compare for different markets/bar intervals.
These values would be able to give you a preliminary indication of whether the system is able to perform on that market or not.

60. How do I set final input values for my GGO optimized strategy, to be used in real-time?

In the GGO SmartEditor, set Mode to 'Evaluate strategy' and then load the GGO Optimization Report using
File, Open Optimization Report menu option.
Then use the GGO Optimization Report to identify the most profitable solution that best fit your trading style.
(for each iteration, you can also view an equity graph on the EquityGraph tab)
When evaluating a GGO modified strategy,
it is important to note that the GGO Optimization Report completely replaces the TradeStation Strategy Optimization Report.
You will NOT be using the TS Strategy Optimization Report report at all, since the TS report does not contain the input values (and during the optimization the actual values for the inputs were generated by GGO at run time, thus TradeStation does not know these values and will not be able to generate an accurate strategy performance report).

To use the modified GGO strategy itself in real-time, you should change the values of your strategy inputs (which has been changed to variables) to the values obtained from the GGO optimization report (or the TS 'Print Log/Debug' window). Verify strategy again and set Iteration=0 to use strategy in real-time.

IMPORTANT: We recommend that you should use the modified GGO strategy only to optimize the strategy and to generate the GGO Optimization Report. Then once you have identified the optimal parameter values, you can simply set the inputs in the original strategy that you will be using for real-time trading purposes.

61. Why are there fewer GWFO trading history files than the number of GGO Iterations performed?
During the genetic optimization, GGO generates several duplicate permutations, i.e. identical parameter combinations.
The difference between the number of trading history files (e.g. 2000-3000) and total Iterations (e.g. 6000) are all duplicates.
Note that GGO automatically keeps track of all permutations previously evaluated and save time by not re-evaluating duplicates.

62. My concurrent walk-forward produces results with lots of zeros?
The problem is most likely that your system generates too few trades per in and out-of-sample period as to produce any figure that makes sense when a concurrent walk-forward is performed.

The Concurrent genetic walk-forward was a very specific request by some users and we designed the method to cater specifically for their needs. The concurrent method is much more time consuming than the Genetic sample method because more iterations must be performed in TradeStation. When short term data is used (e.g. 5 minute intervals), then the number of bars increases dramatically as well as the computing time and then the Genetic Sample method becomes even more attractive.

VERY IMPORTANT: For a walk-forward to make any sense, once needs a minimum of 30 trades within each in-sample period. The 30 is not a figure grabbed from the air, but is the statistical minimum amount of trades required as to provide meaningful results.

So as long as you have 30 or more trades in each in-sample period, you are ok, but if you have a strategy that does not generate at least 30 trades per in-sample period, then you can not rely on the Walk-forward optimization approach, and then you should fall back to rely on the Genetic optimizer only.

If you have a strategy that generates less than 30 trades in the in-sample periods of a concurrent walk-forward then do not be disappointed, because you should still be able to use the Genetic sample method, as long as you have at least 30 trades in each in-sample period.

Also note that with the Concurrent method, there is no graphs to view within the GWFO. You can only view equity graphs if you should open a specific trading history file, i.e. those sitting in the C:\Program files\TheGrailWFO\Data folder.

Our recommendation to users is to use the Genetic sample method as a first choice. This method should be able to provide you with a reliable analysis even if you are using daily data with relative low number of trades. Once you are using a strategy that generates hundreds of trades, then you can again re-look at the concurrent method.

It must be noted that the Genetic sample walk-forward method is the approach that made The Grail Walk-forward optimizer famous.  Our estimate is that about 95% of Grail users uses the Genetic Sample method.


63.What factors mostly influence the execution speed of GGO/GWFO and how much can the GGO/GWFO benefit from multithreads/multi-cores?

The Grail Genetic Optimizer (GGO) provides a clever method of selecting parameters (i.e. input values) to be used during optimization.
In other words, GGO recommends parameter values to be used during optimization, so that one can arrive at a near optimal solution by only evaluating a fraction of the number of possible permutations (# of tests), but GGO cannot increase the speed of individual tests as they are executed by the TradeStation platform.

The speed at which a single optimization test/iteration is performed, is determined by the speed at which the TradeStation EasyLanguage (EL) interpreter can execute the EL strategy and GGO does not affect that speed.
A GGO modified strategy will at the end of each test, make a quick call to the GGO dynamic-link library (DLL) as to determine what parameters to use for the next test,
but all EL strategy calculations will continue to be within TradeStation.
Of the total time taken to perform a genetic optimization, more than 99% of the time is spent by the EasyLanguage interpreter executing the strategy and less than 1% of the time is spent on calls to the GGO to recommend new parameter combinations.
Since less than 1% of the total time of the optimization is spent on actual calls to the GGO DLL, it matters very little whether the DLL uses multi-cores or not.
On the other hand, since TradeStation is responsible for more than 99% of the calculations performed, the ability of the TradeStation platform/EL interpreter to utilize multi-cores will have a significant effect on the actual time to perform each test.

The Grail Walk-Forward Optimizer (GWFO) supports two methods of walk-forward:
1)   Genetic sample walk-forward
2)   Concurrent walk-forward

With the genetic sample method, the GGO will in a clever way select parameter permutations and the GGO modified strategy will export complete trading history for each permutation so that the GWFO can afterwards perform a walk-forward analysis on those trading history files. (Select menu option Recalculate, Genetic Sample Walk-forward) Thus with this approach, all walk-forward calculations takes place within the GWFO stand-alone software. Since the GWFO stand-alone executes much faster than the EL interpreter, the Genetic sample walk-forward method is much faster than the Concurrent method.
It should be noted that with GWFO V2.00, we have performed careful profiling and re-written significant portions of the code as to remove/solve previous bottlenecks. While GWFO V2.00 does not yet fully utilize multi-cores, GWFO V2.00 performs a genetic sample walk-forward typically between 5-10 times faster than the older V1.04.40.
Should a user want to fully utilize multi-core availability, it can be achieved by running more than one instance of GWFO, as long as each is performing its own analysis on different trading history folders.

With the Concurrent method, all walk-forward calculations are performed within TradeStation and the GGO modified strategy will export a final report containing the walk-forward analysis statistics. This report is then viewed within GWFO (select menu option File, Open Concurrent Genetic Optimization report) and very little calculations takes place within GWFO.  Since the EL interpreter is much slower than the GWFO stand-alone and while most calculations for the concurrent method takes place within TradeStation, the Concurrent walk-forward method is much slower than the Genetic sample method.

64. Can I perform a cluster analysis for the Concurrent walk-forward method?
The cluster analysis feature (i.e. building a matrix of multiple WFA's automatically) is only available for the Genetic Sample Walk-Forward method.
Thus, in GWFO you cannot perform an automated cluster analysis if you are doing a concurrent walk-forward (but you can still build a matrix by manually varying the values of WalkForwardRuns and OutOfSamplePerc).
This is because the concurrent walk-forward takes place within TradeStation/MultiCharts, while the genetic sample walk-forward is calculated by the GWFO standalone software. (Refer FAQ 63)
So the Concurrent Walk-forward will only allow you to do a concurrent walk-forward analysis for a single number of WF runs & OOS% window at a time.
To perform a concurrent walk-forward:
In GWFO, on the GASettings tab you will select for example:
Out-of-sample window = Concurrent Rolling walk-forward with 10 Walk-forward runs and OOS window of 20%
Then you will optimize the strategy within TradeStation by optimizing Iteration between 1...6000 (if StresstestSize=3) and optimizing WFCnt  1...RequiredNumberOfWalkForwardRuns, for example 10.
Then after that step, within GWFO you will select 'File, Open Concurrent Genetic Optimization report' and then select the 'Recalculate, Concurrent Genetic Walk-forward' menu option.
The results of the concurrent walk-forward will then be displayed on the OptimizationSummary, WalkForward and TestResults tab.
But these results will only be for 10 walk-forward runs and an OOS window of 20%.
If you now want to run another concurrent walk-forward for let's say 15 walk-forward runs and OOS window of 25%, then you need to go back to TradeStation,  and do the following:
1) change the name of your strategy to something else (so that you do not overwrite the report for 10 WF runs!) and
2) change the values of WalkForwardRuns and OutOfSamplePerc to the new required value  e.g.
 
Var: WalkForwardRuns(15);  { Set number of Walk-Forward runs }
Var: OutOfSamplePerc(25);  { Set Out-Of-Sample data window (OOS%) }

3) Verify strategy
4) then optimize WFCnt 1..15 this time, while Iteration is again optimized 1...6000.
 
If you then go back to GWFO and load the Concurrent Genetic Optimization report for the strategy you have just optimized, you will now see the concurrent results for 15 walk-forward runs and an OOS window of 25%

Using this method, you can build your own matrix to perform a cluster analysis, but you have to do it manually and it is going to take much longer than the genetic sample cluster analysis that is fully automated.
« Last Edit: December 10, 2009, 07:20:22 am by Wouter » Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!