2020-04-26
If you're anything like me, you've probably spent at least a few hours researching backtesting tools only to find yourself not fully satisfied with what's on offer.
Why? Quite a few reasons. Let's briefly touch on two of them today.
It is paramount that your backtesting and live-trading software be as similar as possible.
The true ideal is having them be the same thing with nothing more than a button press or small configuration change to switch between the two.
The reasons for this are twofold.
The first is that you need the algorithm you have used in your backtesting to be EXACTLY the same one you use when trading live. When algorithms are relatively simple, this is a relatively painless hurdle to translate between languages and frameworks.
But profitable algorithms rely on an increasing-number of parameters that could easily introduce minor implementation differences that add up to a completely different execution profile to your backtest. Bad.
The other issue? Look-ahead bias.
This insidious little problem sneaks itself into your life after hours and hours of research on your backtesting platform. You've got your Sharpe ratio squared away and your Compound Annual Growth Rate pleases you. You start trading live and pow, you're losing money in a way that makes no sense. Uh oh, your backtest was ACCIDENTALLY using data from the future to determine its daily signals.
Happens ALL the time.
Check out the blueprint below to get a head start on the mental model for a trading engine: