SPB Git

Repository Public Research preview

REVIEW-REPORT.md 14.6 KB 132 lines markdown

1# REVIEW REPORT — editorial board (volatilité réalisée, prévision, économétrie financière, ML), 2026-10-1723**Papier** : WP 12 — *Forecasting Realized Volatility Across Asset Classes: HAR, GARCH, and Machine Learning in a Unified4Multi-Asset Horse Race, 2013–2026* (Simon-Pierre Boucher). **Version reçue** : 0.1 (brouillon, 9 p., août 2026) — introduction,5résultats, robustesse, valeur économique, conclusion et résumé **absents** ; pipeline jamais exécuté au-delà des prévisions brutes.6**Version rendue** : 0.2 (octobre 2026) — pipeline exécuté (version complète pour l'économétrie, le pooled, l'évaluation, la robustesse7légère et la valeur économique ; prévisions ML/deep de l'auteur réutilisées), sections rédigées à partir des sorties réelles.8Journal d'audit : `docs/CHANGELOG-REVISION.md`. Revues cibles : IJF, J. Econometrics, JFEC, JBF, JEF, Quantitative Finance.910## 1. Diagnostic par section (v0.1)1112### Résumé / introduction13- **Faiblesse majeure** : `\WPabstract` provisoire (« TO BE WRITTEN… ») et `introduction.tex` vide, contrairement au README (« introduction … written »).14- Corrigé : introduction rédigée (motivation, désaccord Christensen et al. 2023 / Zhang et al. 2024 vs Branco et al. 2024, design, aperçu15  des résultats produit à partir de `results/reproduced/`, contributions, plan) ; résumé de 150 mots écrit à partir des chiffres de la v0.2.1617### Revue de littérature18- **Forces** : couverture solide des mesures réalisées (ABDL, BNS, BNHLS, LPS 2015), de HAR et ses extensions, de l'évaluation (Patton 2011, HLN 2011).19- **Faiblesses** : (i) aucune évidence contradictoire sur ML vs HAR ; (ii) « five HAR variants » alors que six spécifications sont estimées ;20  (iii) rien sur la qualité des données crypto ni sur la transférabilité en volatilité (Zhang et al. 2024) ; (iv) le DM est cité sans justifier21  son usage en fenêtre roulante (GW 2006 vs West 1996) ; (v) Rahimikia-Poon 2020 codé comme un article de revue.22- Corrigé : 16 références ajoutées et intégrées à l'argument (pas de « citation dump »), toutes vérifiées (DOI dans le .bib).2324### Données25- **Forces** : univers large et liquide, 93,8 M de barres, mesures multiples (RV 1-min, RV 5-min sous-échantillonné, noyau réalisé, BV, TQ, RQ, semivariances),26  statistiques descriptives réelles (vérifiées : moyennes de vol. 7,9 / 15,9 / 16,8 / 108 %, médiane crypto 68,9 %, jours de sauts 3,7 → 14,8 %).27- **Erreurs trouvées** : (i) « crypto day = calendar day in UTC » est **faux** — le client API ne convertit aucun fuseau (`api_client.py`), tous les28  horodatages sont en heure de l'Est ; (ii) « AC(1) 0,70–0,82 » → recalcul : 0,70 (FX), 0,74 (equity), 0,77 (futures), **0,86** (crypto) ;29  (iii) README « five classes » vs papier « four » ; (iv) `config.yaml → min_intraday_bars: 30` n'est pas lu par le code (seuils réels 250/700).30- **Problème de données non résolu** : jours de RV implausible dans les flux crypto (BTC 2013-04-10 : 2 530 % annualisé ; XRP 2017-12-13 : 1 996 % ;31  ADA/XRP 22-23 fév. 2021 : 1 400–1 800 % ; 962 jours-actifs crypto > 300 %, dont la plupart avant 2018). Aucun nettoyage des ticks n'est appliqué.32  Le papier le reconnaît désormais explicitement et une analyse de sensibilité (exclusion des jours > 500 %) est ajoutée (§3 ci-dessous).33- 2 jours ADA avec RV = 0 (prix plats) : neutralisés par `clip(lower=1e-12)` dans les features, sans effet visible.3435### Méthodologie — verdict point par point (§3 du master prompt)36| Point | Verdict | Détail |37|---|---|---|38| Spécification justifiée | **Oui** | HAR/HARQ/SHAR/HAR-CJ/log-HAR, GARCH/GJR/EGARCH, Realized GARCH, 12 apprenants tabulaires, LSTM, Transformer, pooled, 2 combinaisons ; couverture au-dessus du standard du domaine. |39| Hypothèses d'estimation explicites | **Oui après révision** | QML gaussienne, fenêtre 1 000 j / ré-estimation 22 j, projection directe, filtre d'insanité, re-transformation (lognormale pour log-HAR, Duan pour ML) : tout est maintenant écrit en équations. |40| Variables correctement définies | **Oui après révision** | Cible eq:target ; 15 (et non 14) prédicteurs étendus ; TQ, RQ, RS± sur grille 5-min (offset 0) — précisé ; note : RS⁺+RS⁻ = RV 5-min simple ≠ RV^ss (vérifié : égalité exacte), ce qui est documenté. |41| Dépendance temporelle | **Oui** | DM à bande de Bartlett h−1 ; MCS par bootstrap stationnaire (bloc moyen 10) ; GR fluctuation ; MZ et encompassing HAC. |42| Erreurs-types | **Oui** | HAC partout ; inférence par actif puis synthèse cross-section (parts d'actifs). |43| Construction de l'échantillon transparente | **Oui après révision** | Échantillon d'évaluation commun par (actif, horizon) — v0.1 comparait des pertes sur des dates différentes. |44| Robustesse adressant de vraies menaces | **Partiel** | Sous-périodes, mesure de RV, outliers crypto, transférabilité, stabilité GR : faits. Fenêtre d'estimation : non exécutée (temps). |45| Interprétation des coefficients | **Oui** | Ratios QLIKE, parts d'actifs significatifs, parts MCS, β de MZ, b₂ d'encompassing, Sharpe, Δ d'utilité en pb : chacun est défini. |46| Significativité statistique vs économique | **Oui** | Sections 5 (statistique) et 7 (économique) séparées ; les gains d'utilité et la VaR sont rapportés même lorsque les pertes sont indistinguables. |47| Langage causal | **Non applicable** | Aucune affirmation causale ; les mécanismes (bruit de mesure, pooling, régimes) sont présentés comme des interprétations plausibles. |4849**Erreurs de code démontrables corrigées avant exécution** (détail dans le CHANGELOG, C1–C4) : (1) prévisions GARCH figées 22 jours et décalées50d'un jour — aurait pénalisé la famille GARCH d'une manière artefactuelle ; (2) filtre Realized GARCH décalé d'un jour ; (3) studentisation du T_max51du MCS incohérente avec HLN 2011 ; (4) absence d'échantillon commun. Les tests unitaires (18) restent verts.5253**Vérifications d'équations** : eq:rk, eq:bv, eq:bns (θ = π²/4 + π − 5), TQ (μ_{4/3}), eq:cj, eq:semivar, RQ = (n/3)Σr⁴, HARQ (RV·RQ^{1/2}),54QLIKE, DM/NW, récursion multi-pas du Realized GARCH (π = β + γφ, σ²_η = τ₁² + 2τ₂² + σ_u²), Duan, utilité FKO, LR de Kupiec et55Christoffersen : toutes conformes au code (`realized_vol.py`, `models_econ.py`, `evaluation.py`, `backtest.py`).5657## 2. Littérature — références vérifiées / ajoutées / retirées58Voir CHANGELOG §4 et `docs/bib-verification.csv` : 57 entrées vérifiées (DOI de revue ajouté sur 53), 16 ajoutées (DOI), 0 retirée.59Quatre entrées n'ont pas de DOI parce qu'il n'en existe pas (chapitre NBER 1969, trois actes NeurIPS).6061## 3. Résultats empiriques (v0.2) — ce qui a été produit et comment le lire62- **Échantillon commun** : 59 323 jours-actifs à h=1 (59 201 à h=5, 58 776 à h=22), 27 prévisions chacun ; début déc. 2016 (FX, futures),63  janv.–févr. 2017 (actions/ETF), sept. 2019 (ETH), févr. 2020 (XRP), nov. 2021 (ADA), févr. 2024 (SOL, 894 j) ; fin 29 juill. 2026.64- **Classement (ratio QLIKE à HAR, h=1/5/22, moyenne des moyennes par actif — `losses_overall.csv`)** : Ridge-X 0,70/0,61/0,79 ;65  ElasticNet-X 0,70/0,61/0,79 ; LASSO-X 0,71/0,61/0,80 ; Comb-InvMSE 0,72/0,61/**0,77** ; LogHAR 0,75/0,63/0,79 ; Ridge-H 0,75/0,63/0,80 ;66  Pooled-LGBM 0,77/0,70/0,95 ; RealGARCH 0,78/0,66/0,88 ; RF-X 0,79/0,72/0,95 ; XGBoost-X 0,80/0,80/1,12 ; LightGBM-X 0,85/0,85/1,16 ;67  HAR-J/CJ 0,94/0,88/1,01–1,06 ; SHAR 0,99/0,97/1,00 ; GARCH 1,32/1,12/1,18 ; LSTM 1,33/1,05/1,05 ; EGARCH 1,57/1,24/1,23 ;68  Transformer 1,89/1,48/1,46 ; HARQ 2,01/1,72/1,68.69- **Lecture principale** : l'essentiel du « gain ML » est le passage au log (LogHAR = Ridge-H ≈ 0,75) ; l'ensemble étendu ajoute ≈ 5 points70  aux horizons courts ; arbres et réseaux < modèles linéaires partout et < HAR à un mois ; pooling sauve les arbres (bat LightGBM-X sur71  23/25) sans dépasser LogHAR (9/25). Realized GARCH > GARCH(1,1) sur 25/25.72- **Inférence** : DM h=1 — Ridge-X/ElasticNet-X/Comb-InvMSE significativement meilleurs que HAR sur 24/25 actifs, pires sur 0 ; LogHAR 21 ;73  RealGARCH 17 ; Pooled 15 ; LightGBM-X 4 mieux / 8 pire ; GARCH et LSTM pires sur 20. MCS 90 % h=1 : 25/25 pour Comb-InvMSE,74  ElasticNet-X, LASSO-X, LogHAR, Pooled, RF-X, Ridge-X ; HAR 19 ; GARCH 6, LSTM/Transformer 5. MZ h=1 : Ridge-X pente 1,09, R² 0,46,75  rejet 20 % ; arbres/deep rejet > 90 %, R² 0,03–0,31. Encompassing : ElasticNet-X ajoute de l'information sur 88 % des actifs, Ridge-X 84 %.76- **Par classe (Ridge-X h=1)** : crypto 0,62, equity 0,72, futures 0,78, FX 0,85 ; LightGBM-X 0,67/0,95/1,03/1,02 ; GARCH 1,60/1,07/1,17/1,24.77- **Robustesse** : sous-périodes (jours-actifs poolés) — Ridge-X 0,51 (pré-2020), 0,47 (2020), 0,78 (2021-22), 0,88 (2024-26) ; LightGBM-X78  0,65 → 1,00 ; Pooled 0,61/0,48/0,87/0,93. GR (LightGBM-X vs HAR) : ETH sous la borne 52 % du temps, NVDA/GC au-dessus 8/14 %, GBPUSD jamais.79  Transférabilité h=1 : LOO ETH 0,481 (vs 0,260 en pool, HAR 0,317), NVDA 0,272 (0,157 ; 0,155), GBPUSD 0,123 (0,119 ; 0,128), GC 0,15480  (0,130 ; 0,131). Mesure (run auteur) : LogHAR/HAR 0,43 (1-min), 0,72 (5-min ss), 0,86 (noyau). Outliers crypto : classement inchangé,81  Ridge-X 0,55 → 0,49.82- **Valeur économique** : Sharpe net 5 pb (moyenne 25 actifs) LSTM 0,38, GARCH 0,35, HAR 0,34, Comb-InvMSE 0,33, Ridge-X 0,30, Pooled 0,29,83  LightGBM-X 0,26 ; à 0 pb tous 0,385–0,408 (Pooled 0,41) ; gain d'utilité vs HAR (γ=5) LSTM +33 pb, GARCH +17, Ridge-X −47, Pooled −69,84  LightGBM-X −121 (turnover 0,013 / 0,033 / 0,085 / 0,105 / 0,118 vs HAR 0,054). VaR 5 % : tous calibrés (Ridge-X Kupiec/CC 96/96 %) ;85  VaR 1 % : violations 1,6–2,2 %, échec général (queue gaussienne).86- **SHAP (pooled h=1)** : lrv_w 0,73, lrv_d 0,33, lrv_m 0,32, puis jour de semaine 0,09, moyennes de classe 0,05–0,07, RS⁻ et RQ 0,06.87- **Figures** : 9 PNG régénérés (`scripts/07`), tables : 12 fragments (`scripts/08`) ; PDF 50 p., 0 erreur, 0 référence/citation indéfinie,88  overfull max 7,8 pt (texte) / 6,1 pt (table).8990## 4. Incohérences trouvées entre texte et chiffres (v0.1)91- AC(1) crypto 0,86 hors de l'intervalle annoncé 0,70–0,82 ; « fourteen » prédicteurs → quinze ; « five HAR variants » → six ; « UTC » → heure de l'Est ;92  « roughly 94 million » → 93,8 millions (exact) ; README « five classes » → quatre ; README badge « 9 p., draft » → mis à jour.9394## 5. Limites restantes95- **Données crypto non nettoyées** (jours > 1 000 % annualisé) : traité par analyse de sensibilité, pas par nettoyage ; niveau de toutes les pertes crypto affecté.96- **HARQ** instable avec RQ sur 78–288 rendements 5-min (prévisions effondrées, QLIKE max 272 sur SPY) : le filtre d'insanité ne suffit pas ;97  résultat à ne pas lire comme une réfutation de BPQ 2016.98- **Prévisions ML tabulaires et deep réutilisées** (run auteur du 10 août, code inchangé) ; borne positive du filtre (C11) non appliquée à ces runs99  (sans conséquence hors ADA/HARQ).100- **Deep learners** : ré-estimation trimestrielle, un actif à la fois, 1 000 jours — leur contre-performance est propre à ce design.101- **Sous-périodes et sensibilité à la mesure** poolent les jours-actifs (poids crypto plus élevé) ; les tables principales moyennent par actif.102- **Timing** : cible de vol sur variance intradaire (stratégies au-dessus de la cible, près du cap sur FX) ; un seul barème de coûts ; Sharpe crypto/FX ≈ 0103  pour tous les modèles → moyenne tirée par actions/futures.104- **MCS à 27 modèles** : faible puissance (HARQ retenu sur 21 actifs malgré sa perte moyenne).105- **Jour crypto en heure de l'Est** (et non UTC) : convention du fournisseur, documentée.106- Pas de version anonyme, pas de soumission SSRN (demande de l'auteur).107108## 6. Analyses recommandées non exécutées109| Analyse | Pourquoi non exécutée | Commande / durée estimée (Mac M5 Max 18 c ; ou `ssh M3U96a` 32 c) |110|---|---|---|111| Sensibilité à la fenêtre (500/1 000/2 000 j) pour HAR, LogHAR, LightGBM-X | ≈ 20 min sur 16 cœurs, hors budget | `python3 scripts/05_robustness.py --part window --workers 16` (~20 min) ; `08_make_tables.py` ajoute automatiquement le bloc |112| Ré-exécution de la sensibilité à la mesure après C10-C11 | code HAR/LightGBM inchangé → résultat identique attendu | `python3 scripts/05_robustness.py --part freq --workers 16` (~20 min) |113| Ré-exécution des 12 apprenants tabulaires + LSTM/Transformer avec la borne positive C11 | ≈ 2 h 20 ; effet limité à ADA | `python3 scripts/03_run_models.py --family ml --workers 16` (~2 h) ; `--family deep --workers 8` (~20 min) |114| Deep learners poolés (LSTM/Transformer entraînés sur le panel) | non implémenté | nouvelle fonction dans `models_ml.py` ; ~1 h |115| Nettoyage des ticks crypto (Brownlees-Gallo 2006) puis `02_build_rv.py` + pipeline complet | non implémenté | ~30 min de code + 3 h de pipeline |116| HARQ avec quarticité robuste (TQ) et filtre plus strict ; HARQ-F, SHARQ | non implémenté | `models_econ.py` ; econ 3 min |117| Cible close-to-close (RV + overnight) pour le timing ; coûts par classe ; VaR Student-t / FHS | non implémenté | `backtest.py`, `06` ; < 10 min |118| Intervalles de confiance bootstrap sur les ratios QLIKE agrégés ; DM poolés (panel) | non implémenté | `04` ; < 10 min |119| Test de sauts par seuil (Corsi-Pirino-Renò 2010) | non implémenté | `realized_vol.py` + `02` (~15 min) |120121## 7. Maturité pour publication122**Verdict : brouillon avancé (0.2), résultats complets et traçables, pas encore soumissible.** Pour une revue de rang IJF / JFEC / JBF /123Journal of Empirical Finance, il manque : (i) le nettoyage des données crypto ou une restriction du panel crypto post-2018 ; (ii) une124explication/réparation de HARQ (un arbitre spécialiste de BPQ 2016 s'y arrêtera) ; (iii) la sensibilité à la fenêtre ; (iv) des deep125learners poolés ou le retrait de ces modèles ; (v) un exercice de timing avec cible close-to-close et coûts par classe ; (vi) une lecture126plus prudente des sous-périodes (composition du panel). Les résultats principaux — domination des modèles log-linéaires, gradient par classe,127transférabilité limitée, divergence accuracy/valeur économique — sont solides (DM 24/25, MCS 25/25, robustes aux outliers et à la mesure) et128constituent une contribution publiable une fois ces points traités. Risques de rejet : « rien de nouveau » (LogHAR connu) si la129contribution n'est pas cadrée comme un résultat sur l'origine des gains ML ; qualité des données crypto ; HARQ. Revue la plus130réceptive : *International Journal of Forecasting* (horse race multi-classes, valeur économique) ; alternative : *Journal of Empirical Finance*131(dialogue direct avec Branco et al. 2024).132
Files main
Menu

Theme