Friday, June 18, 2010

Five Common Mistakes in System Optimization

I believe that one of the most important aspects of system design and use is system optimization. This step in system design is vital since it allows us to adjust a given trading system so that it can more efficiently exploit the market inefficiency it is based on. When done correctly, the optimization of a trading system gives you a more profitable version of your logic with better profit and risk targets in long term performance and a very robust strategy which is not likely to fail even if market conditions change significantly. When done incorrectly, optimization leads to curve-fitted systems which are "fit" to test profitably in the past but fail to profit in the same way in the future. What is the difference between correct and incorrect optimization ? On today's post I will talk to you about this very important aspect of system design and what mistakes system designers and traders usually make that make their optimizations invalid and the resulting trading system useless.

In the end, there is a good way and a bad way to optimize a strategy and definitely all systems can be adequately optimized if certain precautions are taken into account so that the most important "curve-fitting pitfalls" are avoided. I will now describe the five most common and dangerous mistakes made when optimizing and I will attempt to give some solutions to these very usual and sadly lethal blows to long term profitability.

1. Optimization period length. I think that the most common mistake when doing optimization is -without a doubt- the length of the testing period used to optimize. Strictly speaking, optimizations are not bound to be meaningful fit they are done within periods of less than 5 years given that smaller periods of time are not statistically relevant according to long term changes in market volatility. So if you want to optimize your system and avoid curve fitting, use a period of at least five years. Using a smaller period will most likely "fit" your strategy to very specific market conditions and will make it unable to perform correctly as the market changes.

2. Reliability of the simulations. It is very important to note that in order for optimizations to be valid, simulations need to be valid. Optimizing a scalper or a similar strategy which cannot be simulated accurately does not make any sense since the trading results - and thus the optimization results - are not going to represent live testing to any accurate extent. Designing systems that explicitely control one minute bar opening and that use adequate profit and risk targets - large enough to avoid interpolation errors - is critical for adequate optimization.

3. Ignoring the result's surroundings. One of the most important aspects of system optimization is to take into account the results "around" the most profitable result you found. For example, if the optimal value for an indicator period for your strategy is 20 when doing a 5 year optimization what happens when the indicator value is changes to 19 or 21, what about 18 or 22 ? It is very important to consider the surrounding since they give you an idea of the possible changes of profitability you will get if the market changes enough so that your "optimal" settings are no longer that good. If your system is very profitable with 20 and then loses 70% of its profitability with 19, then the strategy is not robust enough and it IS bound to fail in the future as market conditions may drift - even if only slightly - from your set results.

4. Fine grid optimizations. Another common problem with optimizations is the use of very fine grids when optimizting. In general, the coarser the optimization the less risk there is to curve fit a strategy since the fitting is done in a "lose way" and results that may over estimate profits and underestimate future draw downs are also avoided to a good extent. In general you should not optimize to any grid lower than 2% and better 5% so if you are doing an optimization of a strategy's SL from 20 to 200 do not use steps smaller than 4 to accomplish this.
--
5. Reoptimizing after Optimizing. When you optimize a parameter for given strategy, then optimize another one and then reoptimize the first one to the new profitable results you are most likely doing a sort of "fine grid" optimization in the sense that you are "fine tuning" the first variable to the second's "best results". This is similar to doing a fully correlated optimization (although less computationally intensive) but it has similar dangers in the sense that increased correlation and probably further curve fitting is introduced. My advice here is to only optimize variables from a first set of parameters in order and avoid reoptimization of a variable after it has been optimized once.

As you see, these common mistakes in optimization are made by most people who want to improve their automated trading systems and all of them are bound to generate very good results using optimizations that are possibly going to be an over estimation of profit and underestimation of draw down in the long term. In a future post I will give you a diagram for optimizations explaining a little bit how I optimize my systems and what "general procedures" I follow so that my systems end up being robust, profitable and with a high like hood of maintaining their risk and draw down characteristics in the long term.

If you would like to learn more about my journey in automated trading and how you too can start to design and program your own likely long term profitable strategies please consider buying my ebook on automated trading or joining Asirikuy to receive all ebook purchase benefits, weekly updates, check the live accounts I am running with several expert advisors and get in the road towards long term success in the forex market using automated trading systems. I hope you enjoyed the article !

No comments:

Daniel Fernandez's Expert Author Email Alerts
Sign up to receive email alerts of Daniel Fernandez’s latest articles from EzineArticles.com!

Email Address: