Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,30 +1,37 @@
# InverseVolatility-Rank (HandsOn Ex11)

**Asset class:** Futures (12 contracts)
**Cloud project ID:** 29463533
**Cloud project ID:** 37313767 (version dépôt, mesurée 2026-10-03) · 29463533 (version code Cloud, voir avertissement ci-dessous)

## Description

Ridge regression inverse volatility ranking on 12 futures contracts. Predicts next-month volatility and allocates inversely.
Ridge regression inverse volatility ranking on 12 futures contracts. Predicts next-week volatility (6 trading days) and allocates inversely.

## How to Run

**Lean CLI:** `lean backtest "MyIA.AI.Notebooks/QuantConnect/projects/InverseVolatility-Rank"`
**QC Cloud:** Project 29463533. Research notebook not yet executed on QC Cloud (research node unavailable, 2026-05-11). `execution_count` set, outputs pending re-execution.
**QC Cloud:** Project 37313767 (« HandsOn-Ex11-InverseVolatility-Rank-repo ») = copie exacte du `main.py` du dépôt.

## Backtest Metrics

> **Deux versions, deux fenêtres (#19018).** Le projet Cloud historique 29463533 ne contient pas le `main.py` du dépôt : il démarre 2018-12-31 et n'a pas de brokerage model. Les chiffres Sharpe 0.124 / CAGR 4.13 % / MaxDD 41.0 % publiés auparavant décrivent ce code Cloud, pas le fichier commité ici. La version du dépôt (ci-dessous) a été mesurée séparément sur un projet Cloud dédié. Lecture honnête : PSR 3.34 % — l'edge reste statistiquement non significative sur les deux fenêtres ; l'écart de Sharpe (0.529 vs 0.124) vient de la fenêtre (2015-2018 inclus) et du brokerage IBKR, pas d'un changement de signal.

| Metric | Value |
|--------|-------|
| Sharpe Ratio | 0.124 |
| CAGR | 4.13% |
| Sharpe Ratio (version dépôt) | 0.529 |
| CAGR (version dépôt) | 14.86 % |
| Max Drawdown (version dépôt) | 40.5 % |
| Probabilistic Sharpe (version dépôt) | 3.34 % |
| Fenêtre mesurée (version dépôt) | 2015-01-01 → 2024-04-01 (2865 j. tradeables), IBKR MARGIN, projet Cloud 37313767 |
| Sharpe Ratio (code Cloud 29463533) | 0.124 (fenêtre Cloud 2018-12-31 → 2024-04-01, sans brokerage, même cash 100 M$) — pour référence |
| Model | Ridge |
| Universe | 12 futures contracts |
| Rebalance | Monthly |
| Rebalance | Weekly (`date_rules.week_start`) |
| Leverage | `weight_multiplier` 2.0, cap `max_position_pct` 15 % |

## Files

- main.py - Strategy (v1.0, inverse vol futures)
- main.py - Strategy (v1.0, inverse vol futures) — la source mesurée ci-dessus
- research.ipynb - **awaiting QC Cloud execution** (project 29463533). Research node unavailable on 2026-05-11 ("No spare research nodes"). Ridge regression: 12 futures indices/energy/grains, vol features 60/90/180d, inverse-vol allocation vs equal-weight, lookback sensitivity.

## References
Expand Down
4 changes: 2 additions & 2 deletions docs/qc/qc-strategies-status.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ Backtests cross-stratégies 2022–2024 (stress test) — un visiteur peut antic
| `Vol-GARCH-Target` | `projects/Vol-GARCH-Target/` | Vol (GARCH) | **Needs-improvement** | 2018–2025 (1761 j.) ; Sharpe 0.325 ; CAGR 6.97 % ; MaxDD 10.8 % ; PSR 14.9 % ; NP 60.3 % ($56 709) — modeste, plafond structurel |
| `Vol-Ensemble-Conservative` | `projects/Vol-Ensemble-Conservative/` | Vol ensemble | **Needs-improvement** | 2018–2025 (1761 j.) ; Sharpe 0.265 ; CAGR 6.14 % ; MaxDD 10.4 % ; PSR 13.6 % ; NP 51.8 % ($50 438) — modeste, plafond structurel |
| `HAR-RV-Kelly` | `projects/HAR-RV-Kelly/` | Volatility / Kelly | **Needs-improvement** | pleine période (2516 j.) ; Sharpe 0.146 ; CAGR 4.23 % ; MaxDD 12.8 % ; PSR 3.0 % ; NP 51.3 % ($50 666) — quasi-baseline, edge nul |
| `InverseVolatility-Rank` | `projects/InverseVolatility-Rank/` | Risk-parity inversé | **Needs-improvement / near-BROKEN** | pleine période (1629 j.) ; Sharpe 0.124 ; CAGR 4.13 % ; **MaxDD 41.0 %** ; PSR 1.9 % — drawdown inacceptable, edge nul |
| `InverseVolatility-Rank` | `projects/InverseVolatility-Rank/` | Risk-parity inversé | **Needs-improvement / near-BROKEN** | code Cloud 29463533, fenêtre Cloud 2018-12-31 → 2024-04-01 (1629 j., sans brokerage) : Sharpe 0.124 ; CAGR 4.13 % ; **MaxDD 41.0 %** ; PSR 1.9 % — drawdown inacceptable, edge nul. **Version dépôt (#19018)** : 2015-01-01 → 2024-04-01 (2865 j., IBKR MARGIN, projet Cloud 37313767) : Sharpe 0.529 ; CAGR 14.86 % ; MaxDD 40.5 % ; PSR 3.34 % |

#### Vérifié (tranche 3, backtests QC Cloud via MCP) (5)

Expand Down Expand Up @@ -406,7 +406,7 @@ Backtests cross-stratégies 2022–2024 (stress test) — un visiteur peut antic
|-----------|--------|------|--------|------------------------------------------------------------------------|
| `Options-VGT` | `projects/Options-VGT/` | Options income (covered-call OTM tech single-names vs benchmark VGT) | **Needs-improvement** | 2020–2026 (1552 j., 655 ordres) ; **Sharpe 0.507** ; CAGR 14.19 % ; MaxDD 16.20 % ; **PSR 17.51 %** (max cohorte) ; NP 127.16 % ($76 641) — **best Sharpe cohorte** + meilleur PSR + drawdown contenu (16.20 %) ; `GainStrategy` couvre NVDA/ORCL/CSCO/AMD/QCOM avec options OTM ~30 j ; edge non significative |
| `Trend-Following` | `projects/Trend-Following/` | Trend AQR 12-momentum multi-actifs | **Needs-improvement** | post-#2801 verify, 1630 baseline (2516 j., 451 ordres) ; **Sharpe 0.407** ; CAGR 7.89 % ; **MaxDD 14.60 %** ; **PSR 8.68 %** ; NP 113.82 % ($93 177) — profil « momentum prudent » : drawdown contenu 14.6 % (2e min cohorte) ; Sharpe décevant post-#2801 (vs 1.07 historique, downgrade documenté PR #2988) — edge non significative |
| `PCA-StatArbitrage` | `projects/PCA-StatArbitrage/` | Stat-arb factoriel PCA multi-paires | **Needs-improvement** | 2015–2026 (tradeableDates=0 affiché, 3694 ordres) ; **Sharpe 0.165** ; CAGR 5.34 % ; MaxDD 35.90 % ; **PSR 0.18 %** ; NP 78.72 % ($772 239) — `tradeableDates=0` red flag (le count est-il sur le backtester ?), NP absolu record $772K MAIS PSR quasi-nul = **edge statistique nulle** ; MaxDD 35.9 % élevé ; profil « leverage sur facteur PCA » ne suffit pas à valider un edge |
| `PCA-StatArbitrage` | `projects/PCA-StatArbitrage/` | Stat-arb factoriel PCA multi-paires | **Needs-improvement** | fenêtre du code Cloud 29461658, 2015-01-01 → 2026-03-01 (#19018 : le `main.py` dépôt s'arrête au 2024-01-01 — mesures par fenêtre dans le README du projet) (tradeableDates=0 affiché, 3694 ordres) ; **Sharpe 0.165** ; CAGR 5.34 % ; MaxDD 35.90 % ; **PSR 0.18 %** ; NP 78.72 % ($772 239) — `tradeableDates=0` red flag (le count est-il sur le backtester ?), NP absolu record $772K MAIS PSR quasi-nul = **edge statistique nulle** ; MaxDD 35.9 % élevé ; profil « leverage sur facteur PCA » ne suffit pas à valider un edge |
| `TermStructureCommodities-QC` | `projects/TermStructureCommodities-QC/` | Term structure commodités roll-yield | **BROKEN** | 2018–2025 aligned (2129 j., 468 ordres) ; **Sharpe −0.244** (négatif) ; CAGR **−31.48 %** ; **MaxDD 96.80 %** ; **PSR 0.007 %** (quasi-nul) ; NP **−92.93 %** ($−929 294) — **effondrement systématique** sur la fenêtre alignée 2018-2025 : la courbe terme commodités post-2020 (Covid super-cycle 2020-2022 puis normalisation 2022-2024) ne fournit pas le signal directionnel roll-yield attendu ; perte ≈ capital initial ; edge nul à tous les seuils |


Expand Down
Loading