Great post but come on, cherry picking much.
Good point
nooby_mcnoob (and thanks for liking the post)
The optimization process is the first step of many before settling on a trading strategy.
Backtesting out of sample (OOS), and on different underlyings gives more confidence the strategy can be replicated.
To test OOS you would set a date range to find a strategy, and test that strategy in a different date range, for example, testing from 2007-2017 with OOS of 2018-2019.
You can also test OOS with a staggering function we call EntryDays where you specify how many days you wait until the next trade in addition to the automatic rolls the backtester does by default.
It is preferable to do both of the above OOS testing but since I tested initially on the entire date range, I'll present the findings from the staggering.
You can stagger any amount of days but I chose 30 days here. I have used staggering down to 1 day in other tests.
The best backtest in the initial testing in terms of annual return at 5.19% and 0.84 Sharpe and in the staggered testing OOS had 4.36% annual return and 0.82 Sharpe. The Sharpe held up well but the annual return suffered OOS down 16%.
The best backtest in terms of Sharpe at 0.95 with an annual return at 3.68%, in the staggered OOS came in at 0.91 Sharpe and 3.62% annual return. The Sharpe down 4.2% seems okay to me especially with the annual return holding up well.
If anyone is interested in seeing how the strategy performed on other index ETFs I would prepare those.