Full technical detail of the Glixi Quant v22 system architecture: strategy research, portfolio optimization, regime gating, meta-labeling, and execution. Designed for technical due diligence.
The Glixi v22 portfolio is constructed from 16 systematic strategy blocks spanning 7 asset classes: US equity indices (futures + UCITS ETFs), Treasury futures, FX (EUR, JPY), commodities (gold, crude oil), VIX term structure, sector ETFs, and individual liquid equities.
Each block represents a distinct systematic edge documented in academic literature: trend-following, cross-sectional momentum, mean reversion, statistical arbitrage (Avellaneda-Lee residuals), volatility-carry harvesting, calendar effects, and regime-aware allocation.
Blocks were discovered through 87,624 backtest configurations across 11 systematic concepts and 96 instruments. The 16 surviving blocks passed a four-layer validation gate described in section 2.
With 87K backtests, naïve Sharpe selection guarantees false positives via multiple-testing. We apply López de Prado's Deflated Sharpe Ratio (DSR) with Bonferroni-style correction to control the family-wise error rate.
where E[max SR] is the expected maximum Sharpe ratio under the null hypothesis of no skill, given N independent trials, accounting for the skewness and kurtosis of the returns distribution. Strategies passing DSR ≥ 0.99 after this correction are retained.
Result: 383 strategies passed DSR, from which 16 were selected based on additional criteria including correlation profile, capacity, and drawdown characteristics.
The naïve sample covariance matrix is notoriously unstable with limited data. Following Ledoit & Wolf (2003), we replace it with a shrinkage estimator that combines the sample covariance with a structured target (constant correlation), shrinking toward the target by an analytically optimal coefficient.
The optimizer maximizes the Sharpe Ratio or Sortino Ratio under the constraints:
Solved via SLSQP from 20 random Dirichlet starting points to escape local optima. The 15% concentration cap is critical — without it, the prior version (v21) concentrated 38.7% in a single block, creating fragility risk.
Portfolio weights are re-fit periodically using only data available at the fit time. The resulting out-of-sample series is concatenated and evaluated as a single coherent track.
| Parameter | Value |
|---|---|
| Fit window | 504 trading days (2 years) |
| Test window | 63 trading days (1 quarter) |
| Re-fit frequency | Every 63 days (quarterly) |
| OOS aggregation | Concatenated unseen periods |
| OOS years achieved | 12.5 years |
Sensitivity analysis was performed across 4 alternative configurations (252/21, 504/126, 756/126). Resulting OOS Sharpe ranged from 3.44 to 3.76 — within 9% across all configurations, demonstrating that the strategy is not parameter-fragile.
A 3-state Hidden Markov Model fitted via Expectation-Maximization on SPY daily returns identifies the current macro regime: BULL_LOWVOL, NEUTRAL, or BEAR. The model's smoothed marginal probabilities are computed daily.
The regime classification multiplies aggregate portfolio exposure to dampen losses during stress periods and amplify gains during favorable regimes:
| Regime | Exposure multiplier | Interpretation |
|---|---|---|
| BULL_LOWVOL | 1.2× | Increase exposure 20% |
| NEUTRAL | 0.8× | Decrease exposure 20% |
| BEAR | 0.3× | Reduce exposure 70% |
The regime gate is the primary mechanism that allowed Glixi Institutional to remain positive throughout the COVID crash (+3.68%) while S&P lost −34%.
Following López de Prado's Advances in Financial Machine Learning (Chapter 3), we apply a secondary Random Forest classifier on top of primary trade signals. The meta-model does NOT predict direction — it predicts whether the primary signal is likely to be profitable.
Features include: ATR percentile, RSI(5), VIX level & slope, regime state, day-of-week, and prior 5-day return. A trade is taken only if the meta-classifier's probability exceeds the threshold:
| Variant | Meta threshold | Effect |
|---|---|---|
| Institutional | 0.65 | Strict — fewer but higher-precision trades |
| Aggressive | 0.55 | Loose — more trades, higher activity |
The meta-labeling layer empirically removes ~30% of low-precision signals, lifting trade-level precision by approximately 12 percentage points.
Position sizing combines two layers:
Layer 1 — ATR-based risk per trade: initial position size sets risk to a fixed percentage of NAV given the asset's recent realized volatility (14-day ATR).
Layer 2 — Portfolio-level vol targeting: at the portfolio level, exposure is scaled to maintain a constant annualized volatility target.
| Parameter | Institutional | Aggressive |
|---|---|---|
| Vol target (annual) | 30% | 22% |
| Risk per trade | 0.8% | 1.5% |
| Max leverage cap | 8.0× | 8.0× |
| Max margin usage | 85% | 95% |
Production-grade execution and a multi-layered risk control framework:
| Control | Configuration |
|---|---|
| Daily kill-switch | NAV drawdown > −3% → auto-flatten all positions |
| EOD futures flatten | All futures positions closed at session close (no gap risk) |
| Concentration limit | 15% maximum exposure per strategy block |
| Telegram kill-switch | /close command via secured bot (24/7 mobile) |
| Pause mechanism | /pause halts cron execution without liquidating |
| Health check | Sunday 20:00 ES cron · auto-restart bot if dead |
| Backup snapshots | Daily equity + trade log archived to ~/backups/ |
| Component | Implementation |
|---|---|
| Broker | Interactive Brokers (paper trading then live) |
| API bridge | ib_insync (Python ↔ IBKR TWS/Gateway) |
| Trading platform | IB Gateway (port 4002 paper · 4001 live) |
| Daily cron | 22:00 ES (Mon-Fri), post US market close |
| Health-check cron | Sunday 20:00 ES |
| Mobile control | Telegram bot · 9 commands · per-user authorization |
| Public dashboard | Vercel-hosted · daily JSON sync |
| Live tracker | Daily 22:30 ES cron · drift z-score · /tracking |
| Data sources | Yahoo Finance · IBKR historical · CBOE direct (VIX) |
| Compute | Local Mac with caffeinate · planned migration to VPS EU |