In a prior post I discussed the performance of a system I’ve been trading live for over two years (and whose algobot is running as we speak). For the purposes of this discussion, I’ll refer to this system as “System A”.
As mentioned in the post, System A performs well but has a known weakness: It is very susceptible to Black Swans (outlier market shocks) and can generate some uncomfortable drawdowns when they hit. The system usually recovers from these drawdowns reasonably fast, but they’re certainly no fun to sit through when you’re trading with real $$$.
These Black Swans seem to be hitting the market with increasing frequency, so after surviving the most recent crash (August 2011), I started experimenting with a variation of System A (we’ll call it “System B”) that temporarily moves to the sidelines the moment it senses a crash is imminent.
The backtesting results of System B are encouraging. Here is the equity curve from an 8-year trading simulation run (click to zoom):
In this particular run, the system generated 14,637 trades (about 10 trades per day) and had an annualized return of 40% with a -6% maximum peak-to-trough drawdown. This translates into a Calmar Ratio of 7:1, which isn’t bad considering the events of the past four years. Note that these returns and drawdowns are at 1:1 leverage so – depending on your risk tolerance – you could ratchet up them to a much higher absolute level.
The Buy and Hold return during the same 8yr period was +19% with a -51% max drawdown (vs +40%/-6%), so on both an absolute and risk adjusted basis System B’s returns were quite respectable.
I’m particularly happy with the performance during the 2008 meltdown, which sent the S&P 500 down almost -60%. System B chugged right along with only a -5% drawdown, which it recovered from in less than a month. It also cleared +35% for calendar 2008.
The system was optimized using GA and Monte Carlo sampling techniques on the most recent 4 years of data, and the above equity curve was generated by running the final winning chromosome over the entire 8-year data set.
Thus, while the above results are at least partially in-sample, they were not curve fit to the particular path of the 8 year dataset. Also, the trades / parameters ratio is also quite high (over 3000:1), which helps one have more confidence that the results are not spurious.
Plan of Attack
The next step for me is to code the actual trading bot that will connect to my brokerage and run the strategy in real time. Once the bot is written, I’ll test it for a few days using my broker’s simulator mode to make sure there’s no bugs, then go live with a small account and scale in my equity over time as the system (hopefully) performs as expected. I’ll be posting blog updates on my progress as things proceed. I’m cautiously optimistic; Fingers crossed!