Sunday afternoon and waiting for the Superbowl, I thought I'd run an algo that is one of the most common techniques employed by hedge fund quants on equity market neutral strategies, Statisical Artbitrage. To be complete and fair, I must mentioned that it is actually a two part process. The first part is a carefully crafted stock selection filtering process using fundamental data that focuses on, among other things, company valuation, earnings quality, price momentum, etc. In this example, I just did a very simple fundamental filtering, QTU as base universe filtered for profitable and market cap to focus more on the second part of the process which is Stat Arb. The purpose of Stat Arb is to exploit mispricings. There are several mathematical routines that does different flavors of Stat Arb but almost always does some sort of regression to determine mispricings. From simple distance measure linear regression to more complex ones such as dimension reduction (PCA), cointegration or copulas. The one I used here is my own proprietary routine (aka secret sauce). The implementation is quite simple, long undervalued stocks and short overvalued stocks which is in a way a mean reversion strategy.
I ran an 11 year backtest to illustrate what kind of risk adjusted returns are to be expected with this kind of approach and to see if it passes Q stress tests through its contest constraints and thresholds requirements.
I just want to highlight that it did pass all requirements except for this:
Checking investment in tradable universe...
FAIL: Investment in QTradableStocksUS (2nd percentile) of 94.70% is < 95.0%.
This one baffles me because my base universe is QTradableStocksUS, so I'm assuming it is a bug or something in QTU that is not captured during the early years.