I just found a good example of what happens with curve fitting.
Before my vacation last month I ran optimized my strategy up until 12/4/2008 and I got values for the indicators I use. I copied them to excel for future reference.
So today 1 month later I reran optimized through jan 2 and I got different values. Very different. I couldn't see how this was possible, so I re-optimized to 12/4 and got the old values again. This confirmed that I hadn't copied it wrong when I put it in excel.
Then I ran the backtest for 12/4 - 1/2/2009 using the values obtained 12/4 and guess what? There was an $800 loss during this time! So when I optimized through jan 2, other parameters were determined to be optimal which eliminated this bad trade!!
I'm kind of stuck here because I don't know what to do. If I use the new values, it's possible to have a bad trade come up that wouldn't have been chosen had I kept the original values. If I use the original, the reverse is possible.
My thinking is to use the new values. I think we can't know either way which set are the best and only forward testing will tell. So my idea is to always use the values obtained from the most comprehensive data (longest timespan).
But if one optimizes every month then won't the system be more and more curve fitted? Would that be a bad thing?
Just for discussion, imagine a system that we can backtest for the past 10 years. It would seem that after 10 years we have the "optimal" values (let's assume that the market conditions don't change!). So it would seem that optimizing every month during the 10 years would move the system more and more towards the optimal values.
However the market conditions change and what worked before may stop working.
This is all very confusing to me. I'm afraid that my strategy won't work as well in the future as it did in the past. That is to be expected I think. If it will work similar then i'll be happy. If it doesn't work at all I'll be very disappointed.
Final question: How many trades should one have in the backtest in order to have confidence that it isn't just curve fitted? Is 100 enough?
Thanks in advance for sharing your point of view.
Before my vacation last month I ran optimized my strategy up until 12/4/2008 and I got values for the indicators I use. I copied them to excel for future reference.
So today 1 month later I reran optimized through jan 2 and I got different values. Very different. I couldn't see how this was possible, so I re-optimized to 12/4 and got the old values again. This confirmed that I hadn't copied it wrong when I put it in excel.
Then I ran the backtest for 12/4 - 1/2/2009 using the values obtained 12/4 and guess what? There was an $800 loss during this time! So when I optimized through jan 2, other parameters were determined to be optimal which eliminated this bad trade!!
I'm kind of stuck here because I don't know what to do. If I use the new values, it's possible to have a bad trade come up that wouldn't have been chosen had I kept the original values. If I use the original, the reverse is possible.
My thinking is to use the new values. I think we can't know either way which set are the best and only forward testing will tell. So my idea is to always use the values obtained from the most comprehensive data (longest timespan).
But if one optimizes every month then won't the system be more and more curve fitted? Would that be a bad thing?
Just for discussion, imagine a system that we can backtest for the past 10 years. It would seem that after 10 years we have the "optimal" values (let's assume that the market conditions don't change!). So it would seem that optimizing every month during the 10 years would move the system more and more towards the optimal values.
However the market conditions change and what worked before may stop working.
This is all very confusing to me. I'm afraid that my strategy won't work as well in the future as it did in the past. That is to be expected I think. If it will work similar then i'll be happy. If it doesn't work at all I'll be very disappointed.
Final question: How many trades should one have in the backtest in order to have confidence that it isn't just curve fitted? Is 100 enough?
Thanks in advance for sharing your point of view.
