This is accurate except I don't recommend using the best parameter values. Using the best parameter values is a very simple approach. The slightly more involved approach of using a set of trading bots and a applying some rules as to how they move within the parameter versus performance space does produce better results. How much better depends on the trading algorithm (indicators and rules). Some algorithms are relatively rigid and won't benefit much from adaptation because the model is making a lot of assumptions.
then the next bar or xx bars later you run this same aproach, look back find parameters adjust parameters run next trade.
This is done on a bar by bar basis as you have described.
i doesnt get more optimized as in your aproach, and what you are doing can be done pretty much in every backtesting software, just not automaticly. that is the only difference imo
I have been considering writing an adaptation engine for AmiBroker. The only barrier that I might face is that AmiBroker will process all bars when I load the system each day. If I am running 10 systems then it might take a substantial amount of time, maybe too long, to generate the signal for the next day. Dakota saves all data to disk every day and then only processes the new days data when the system is loaded again. I have written some indicator add-ins in C++ for AmiBroker, but I'm not that familiar with the app yet. Maybe I can find a way to save all data (indicator arrays etc.) to disk daily and then process one day at a time from then on.
pls explain what is the difference between you running your approach or me brute force optimizing tradestation every bar to find the best parameters ?
There will probably be a very significant difference. Every time I have tried using the best bot in the swarm it has produced significantly inferior results compared to the average of all bots in the swarm. This is not a 1 to 1 comparison because there are a few rules that determine how the bots will move within the parameter space. If you are willing to provide me with tradestation code that does as you describe then I will build an equivalent system in Dakota so that we can compare results.
i have no idea how one could call your approach/strategy adaptive
If a trader has noticed that the daily moves are strongly mean reverting and trades on that basis for say a few years until he notices that the opposite is now true (after a losing streak) and so he modifies his strategy accordingly then we would say that he has adapted to the change in that particular market regime. If a trading system basically does the same then I would say that the trading system has adapted. This is a simple and somewhat extreme example. There are numerous examples, should we be buying or selling new 3 day lows, 7 day lows or 10 days lows and should we take profits when the price exceeds a 3 day SMA, 5 day SMA etc.
A strictly non-adaptive trading model will never change it's parameter values and trading rules. It is written in stone and doomed. An adaptive trading model will change it's parameter values and trading rules in reaction to changes that have occurred in the market. A super smart model would predict changes in market regimes and adapt accordingly. Now that would be awesome.
To what degree a system is able to adapt depends very much on the model. Every model has built in assumptions and those assumptions can mean that the model will only work under certain general conditions no matter how wide the model parameters are set. It's not easy, at least I don't find it easy.
By the way, I no longer use short lookback periods for measuring trade bot performance. All of my current systems use a lookback period of 1,000 trading days. Also, I use as much historical data as possible to cover a good variety of market regimes on all time scales.
I think I have answered the question. In summary, an adaptive model is adaptive because it changes in reaction to changing market behavior. The ways in which a model can be changed depend on the model. I started this thread to discuss various and hopefully new ways to enable adaptation.
Regards,
James