Search This Blog

Tuesday, 18 November 2014

ALTERNATIVES TO TRADITIONAL OPTIMIZATION

There are two major alternatives to traditional optimization: walk-forward optimization and self-adaptive systems. Both of these techniques have the advantage that any tests carried out are, from start to finish, effectively out-of-sample. Examine the performance data, run some inferential statistics, plot the equity curve, and the system is ready to be traded. Everything is clean and mathematically unimpeachable. Corrections for shrinkage or multiple tests, worries over excessive curve-fitting, and many of the other concerns that plague traditional optimization methodologies can be forgotten. Moreover, with today’s modem computer technology, walk-forward and self-adaptive models are practical and not even difficult to implement.

The principle behind walk-forward optimization (also known as walk-forward testing) is to emulate the steps involved in actually trading a system that requires periodic optimization. It works like this: Optimize the system on the data points 1 through M. Then simulate trading on data points M + I through M + K. Reoptimize the system on data points K + 1 through K + M. Then simulate trading on points (K + M) + 1 through (K + M) + K. Advance through the data series in this fashion until no more data points are left to analyze. As should be evident, the system is optimized on a sample of historical data and then traded. After some period of time, the system is reoptimized and trading is resumed. The sequence of events guarantees that the data on which trades take place is always in the future relative to the optimization process; all trades occur on what is, essentially, out-ofsample data. In walk-forward testing, M is the look-back or optimization window and K the reoptimization interval.

Self-adaptive systems work in a similar manner, except that the optimization or adaptive process is part of the system, rather than the test environment. As each bar or data point comes along, a self-adaptive system updates its internal state (its parameters or rules) and then makes decisions concerning actions required on the next bar or data point. When the next bar arrives, the decided-upon actions are carried out and the process repeats. Internal updates, which are how the system learns about or adapts to the market, need not occur on every single bar. They can be performed  at fixed intervals or whenever deemed necessary by the model.

The trader planning to work with self-adapting systems will need a powerful, component-based development platform that employs a strong language, such as Cf f, Object Pascal, or Visual Basic, and that provides good access to thirdparty libraries and software components. Components are designed to be incorporated into user-written software, including the special-purpose software that constitutes an adaptive system. The more components that are available, the less work there is to do. At the very least, a trader venturing into self-adaptive systems should have at hand genetic optimizer and trading simulator components that can be easily embedded within a trading model. Adaptive systems will be demonstrated in later chapters, showing how this technique works in practice.

There is no doubt that walk-forward optimization and adaptive systems will become more popular over time as the markets become more efficient and difficult to trade, and as commercial software packages become available that place these techniques within reach of the average trader.

No comments:

Post a Comment