Many Strategies are back tested by a trader in order to come up with a system and strategy best suitable for him, many system trading individual traders keep on changing their system when forward testing or the Realtime trading results differ from back testing.
Now I will really appreciate your views on tweaking the system and how often you should do it or is it too early sometimes or too late how you will know?
The only true answer to all ‘technique’ questions is that it comes from the bones and never the Brain. Bones always know it, Brain stops it from happening until either there is no choice, or after finding confirming signals, but this leaves one vulnerable as the confirmations may come late.
But all bone concepts end up becoming “is my red your red?” questions so to avoid misinterpretation its best to also provide some theory along.
System switching is based on these two variables “Desired Outcome” and “Cost of Switch”. These are the usual scenarios one encounters and the usual actions taken accordingly.
Desired Outcome not being met + Cost of Switch low = Tweak
Desired Outcome not being met + Cost of Switch high = Tweak
Sufficient Desired Outcome met + Cost of Switch low = Tweak
Sufficient Desired Outcome met + Cost of Switch High + Difficult to return to previous system = Dont Tweak
Sufficient Desired Outcome met + Cost of Switch High + Easy return to previous system = Optional Tweak
Ideal Desired Outcome met + Any Cost of switch = Don’t Tweak
As it is purely outcome-dependent, how often should one tweak becomes a variable with very little weightage. The answer to this in this model always is "as many times as the system generates a tweak signal "
Found it very useful, I know exactly what you are refereeing to since I have spent considerable effort in back testing but most of the time the Cost Of Switch is low because new system is just an more detailed version / improved version of previous one.
If a strategy parameter set needs to be changed often in forward testing it means the system has not been backtested well. Here is what I keep in mind while backtesting.
Backtest with data containing variety of patterns - Bull market, bear market, volatile market, flat market with different instruments over a large period of time.
Don’t over optimise and curve fit to peak of profitability. Slight change in tested patterns (inevitable in live market) will push the system off the cliff.
Know backtester limitations. Some backtesters confirm condition on current bar and trades on next bar open only. Some are more advanced. But always remember for any candle the backtester cannot know the intra bar movement. Looking in to history it only knows the OHLC values. So it has to make assumptions regarding the price movements. Also some back testers support margin based checking some don’t. Keep a watch over trade and maximum drawdowns also.
Data integrity is important. Splits / Bonus related price variations need to be accounted for. Data holes should be avoided. Real time data fetched during live market may also change after market due to data feed issues which also needs consideration.
Liquidity and circuit freeze issues should be factored in along with transaction costs.
Always ask - is it easy for me to execute trades using the strategy with backtester like discipline ? If not the rules are complex and so live results are likely to deviate from backtester significantly.
Yes, When you Back test you do have to take account above things you mentioned, in fact when you back test long periods like years you get to know about variables which are not in your control as you have noted - markets move in cycle and so does your Performance while back testing but it is a good thing actually that’s how you know your edge.
Low number of trades means you do not have much data. In this case improving system by tweaking has too much risk of optimization. Although i have not traded a system with less trades yet, but when i do - i will probably prefer to get average performance by trading multiple version of the system by using different spaced out params for the system. So as a crude example. use MA 5, 20, 50 rather than the best MA. Otherwise it would be likely that systems will get over optimized around shock events. + ve shocks - large trades /series of trades will be included, -ve shocks - large gap against/ bad dd period etc will get excluded to get perfect looking backtest.
As we trade a system and look at it day by day, its likely that we can get new ideas based on how system has worked recently. Some of these ideas will improve system performance over long term too. There is no reason not to add such things into the system. I have done a series of such changes over time and overall have done better with them. But need common sense too. I prefer to avoid major surgeries that changes things too much, just incremental changes.
I kinda avoided this for some time, but tough year has forced me to look at multiple systems together vs my single system on its own. Trading 2 different systems can make a large reduction in overall risk as DD tend to be at different times. So this is likely much more important vs endlessly improving single system.
Agreed , I have same set of workaround with my system, and actually I have never changed my system Core Philosophy over a period of time just some more robust ideas of managing risk have been part of the changes.
This is something new for me and I would definitely look into it, however for me what has worked is I don’t rely on one single market so if system is giving tough calls in one market its profitable in another so diversification makes sure tough time in one market doesn’t allow me to switch systems
Again I welcome your suggestion it can also be a good strategy need to look into Thanks