16 strategies × 3 years of real data. Here's who won, who lost, and what that means.
We just finished a grid-optimized backtest on all 16 strategies against 3 years of OANDA daily bars. The Sharpe rankings will surprise you. Markov Switching came first (1.40) — above XGBoost. Pre-FOMC drift, the anomaly we added last month on the strength of a Journal of Finance paper, came dead last (-1.28 Sharpe). Here's the full scoreboard and what it tells us.
By Li Tan
Today we flipped on a new version of the /performance page that covers all 16 strategies OpenAlpha now ships. The results are sobering in some places and surprising in others. I want to walk through them honestly because most of what makes this platform worth paying attention to is whether we tell you the truth when the data is unflattering.
The scoreboard
Ranked by Sharpe (OOS, grid-optimized parameters, 3-year window through 2026-04-16):
- 1. MSR (Markov Switching): Sharpe 1.40, return +25.8%, max DD −4.9%, 36 trades
- 2. TSMOM (time-series momentum): Sharpe 0.94, return +29.7%, max DD −11.1%, 22 trades
- 3. Carry Trade (FRED rates): Sharpe 0.83, return +11.9%, max DD −7.0%, 9 trades
- 3=. VIX Filter (on Carry): Sharpe 0.83, return +11.9%, max DD −7.0%, 9 trades
- 5. XGBoost ML: Sharpe 0.67, return +10.1%, max DD −5.0%, 55 trades
- 6. Cross-Asset Pairs: Sharpe 0.80, return +1.6%, max DD −0.9%, 4 trades (low exposure)
- 7. Risk Parity (on TSMOM): Sharpe 0.47, return +4.7%, max DD −4.3%, 24 trades
- 8. Cross-Sectional Momentum: Sharpe 0.22, return +4.1%, max DD −11.3%, 20 trades
- 9. HMM Regime: Sharpe 0.04, flat (+0.2%), max DD −7.9%, 19 trades
- 10. Kalman Pair: Sharpe 0.03 (effectively zero), return −1.2%, max DD −18.3%, 627 trades
- 11. Cointegration Basket: Sharpe −0.35, return −0.9%
- 12. Donchian Breakout: Sharpe −0.36, return −3.9%, 114 trades
- 13. Pair Trading: Sharpe −0.63, return −1.8%, 20 trades
- 14. NFP Drift: Sharpe −0.85, return −1.2%, 36 events
- 15. CPI Drift: Sharpe −1.15, return −1.2%, 36 events
- 16. FOMC Drift: Sharpe −1.28, return −2.4%, 23 events
Six strategies at positive Sharpe ≥ 0.5, five more flat-ish, five outright negative. That's roughly the distribution you should expect from any honest quant platform — 'everything works' is the signature of either snake-oil marketing or fatal overfitting.
Three things I didn't expect
1. MSR beat XGBoost by a full Sharpe point.
If you told me a year ago that the best-Sharpe strategy in our stack would be a two-regime Gaussian Markov switch with literally four fitted parameters (mean and variance per regime, plus the transition matrix), and that it would beat a gradient-boosted tree with 30+ features on the same data, I would have politely disagreed. But that's what happened: MSR Sharpe 1.40, XGBoost Sharpe 0.67.
The lesson is not 'simple models beat complex ones' — that's too glib. The lesson is that ML models pay a tax for every feature they fit, and if the underlying dynamics are well-captured by a small number of latent states, a parametric model that directly encodes those states will win. The assets MSR traded (SPX, XAU, EUR/USD, USD/JPY) have visible regime structure — bull periods and bear periods with distinct means. XGBoost has to reconstruct that structure from noisy features; MSR models it directly.
2. All three event-driven strategies lost money.
This one stings a bit. The pre-FOMC drift anomaly from Lucca & Moench (2015) was a good paper, a real finding, and a well-documented market inefficiency. 1994-2011 data showed the S&P 500 earning ~49 bps over the 24 hours before scheduled FOMC announcements, with t-statistics that would make any academic comfortable. We implemented it mechanically and ran it on 2023-2026.
Result: Sharpe −1.28 on FOMC drift, −0.85 on NFP drift, −1.15 on CPI drift. All three event calendars produced worse-than-random performance.
What changed? The Fed's 2022-2023 hiking cycle. Every FOMC in our test window either raised rates or signaled further hikes, which is the opposite of the 1994-2011 regime that produced the original anomaly. The pre-announcement drift was premised on markets being positioned long heading into each meeting, then getting rewarded for that positioning when policy either cut rates or held dovish. In a tightening cycle, pre-announcement positioning flipped defensive, and the drift went with it.
The strategy isn't broken. The regime is different. In the next easing cycle the anomaly may well return. But for now, we're running a paper-derived strategy that produces losses, and we're reporting that honestly instead of hiding it.
3. Kalman Pair did 627 trades and ended basically flat.
This is a classic over-trading signature: 627 round trips in 3 years (that's almost a trade per two trading days) and a Sharpe of 0.03. The Kalman filter is catching every transient mis-pricing in the innovation series, opening and closing positions faster than the real mean-reversion plays out, and paying the bid-ask spread on every cycle. The fix is probably to widen the entry/exit bands or to add a minimum holding period. I'll report back after running the parameter sweep.
What we're shipping because of this
Two things went live today along with the results:
- The Performance page now shows all 16 strategies, grouped into 6 thematic buckets (Trend-Following, Mean-Reverting, Carry, Regime / Adaptive, Event-Driven, Portfolio Overlays). No hiding of the losers.
- Subscription tiers gained real differentiation: Learner ($29) now gets 8 core strategies in real-time; Pro ($99) adds the 8 advanced ones (XGBoost, MSR, Kalman, Risk Parity, VIX Filter, all three event-driven). The advanced bucket isn't better on average — in fact half of it is negative — but it's where the experimental and research-grade tools live, and that's what justifies the higher tier.
One honest note on tier design: we put the event-driven strategies in Pro even though they're currently losing. The reason isn't 'Pro users deserve losses' — it's that event-driven requires calendar maintenance (FOMC dates, BLS releases), periodic parameter tuning during regime shifts, and the kind of nerdy curiosity that justifies a $99 seat. If they come back into favor in 2026-2027, Pro users will be first to see it.
If you're trying to decide which tier to pay for: look at the Sharpe column above. Seven of the top eight strategies by Sharpe are in the Learner tier. Pro's pitch is not 'better signals' — it's 'more tools, more optimization, more room to customize'.
I'll run this exact comparison again in 6 months. Markets rotate, regimes shift, and I want to see whether MSR holds its Sharpe, whether FOMC drift climbs back up, and whether the losers get fixed or sunset. See you in October.
Like this kind of analysis? Upgrade to Learner for weekly articles, real-time signals, and full educational content.
See Learner plan