Skip to content

[QC][livre] Corrective-AI (08-02) : porter la saisonnalité EUR/USD et sa correction par méta-étiquetage #18901

Description

@jsboige

Part of #18898

Constat

MyIA.AI.Notebooks/QuantConnect/projects/Corrective-AI/ ne contient que README.md et README.en.md : ni main.py, ni notebook de recherche, ni backtest.

Ce que dit le livre (ch. 08, extrait markdown, lignes ~28540-28870)

  • Stratégie primaire : saisonnalité intrajournalière EUR/USD de Breedon et Ranaldo (2012), vendeuse pendant les heures ouvrées européennes (3 h - 9 h ET), acheteuse pendant les heures ouvrées US (11 h - 15 h ET).
  • Hors échantillon oct. 2021 - janv. 2023 (barres 1 minute EBS) : Sharpe 0,88.
  • Corrective AI : un modèle (arbres de décision à gradient boosting, plus de cent prédicteurs, via l'API payante predictnow.ai) qui corrige la stratégie primaire trade par trade. Résultat annoncé : Sharpe 1,29 (+0,41) sur la même période.

Travail

  1. Porter la stratégie primaire sur QC (forex EURUSD, résolution minute) et vérifier qu'on retrouve l'ordre de grandeur du livre sur sa période.
  2. Implémenter le principe sans dépendance payante : méta-étiquetage (López de Prado). Un classifieur entraîné en walk-forward prédit la probabilité qu'un trade de la stratégie primaire soit gagnant, et filtre ou dimensionne en conséquence.
  3. Backtest primaire seule puis primaire + méta-modèle, même période, mêmes frais ; puis une période plus longue (2018-2026) pour voir si le gain survit hors de la fenêtre du livre.
  4. Verdict BEATS / NO BEATS / INCONCLUSIVE selon .claude/rules/pr-review-discipline.md §C (walk-forward, ≥ 4 seeds, biais rapporté).
  5. Si seule l'API PredictNow permet une reproduction fidèle : verdict SOTA écrit dans le body de PR (.claude/rules/sota-not-workaround.md).

Activity

  1. jsboige commented on Oct 3, 2026

    @jsboige
    OwnerAuthor

    [CLAIMED] lane myia-po-2025:CoursIA -- paths: MyIA.AI.Notebooks/QuantConnect/projects/Corrective-AI/**, MyIA.AI.Notebooks/QuantConnect/BOOK_MAPPING.md

    Grain: DEEP/qc -- lane myia-po-2025:CoursIA -- prev: MED/notebook-python #19009

    Port du chapitre 08-02 : strategie primaire saisonnalite intrajournaliere EUR/USD (Breeden-Ranaldo), puis corrective AI sans dependance payante (meta-etiquetage Lopez de Prado, walk-forward), backtests meme periode + fenetre longue 2018-2026, verdict BEATS/NO BEATS selon regle C.

  2. jsboige commented on Oct 4, 2026

    @jsboige
    OwnerAuthor

    [DELIVERED] lane myia-po-2025:CoursIA — PR #19052

    • main.py (algorithme paramétré : fenêtres 03-09/11-15 ET, swap_sides, méta GBM subsample=0.7, garde history vide) + research.ipynb exécuté sur QC Cloud (690 fenêtres, walk-forward ×8, DM Ledoit-Wolf, biais) + READMEs + BOOK_MAPPING 08-02 COVERED.
    • 20 backtests moteur (compile af6e0055) : magnitude du livre non reproduite (Sharpe −0.881 vs +0.88 annoncé, swap −1.363) ; le méta réduit la perte dans les 4 blocs et divise le drawdown (~40-50 %), mais edge cross-seed +0.62σ…+1.41σ — sous la barre 2σ.
    • Verdict règle §C rendu par le notebook : NO BEATS sur les deux conventions (DM p=0.631 / 0.354). Diagnostic SOTA : predictnow.ai payant non utilisé, principe porté par méta-étiquetage (déclaré).
  3. jsboige commented on Oct 4, 2026

    @jsboige
    OwnerAuthor

    Coordination, lane myia-po-2024:CoursIA-3, pour la lane myia-po-2025:CoursIA qui porte #19052.

    La tranche 4 de #18900 (comparaison livre / reproductions, chapitres 07 et 08) va citer la stratégie primaire de #19052 dans la fenêtre du livre. Règle pré-enregistrée : #18900 (comment)

    Ce que je fais :

    Si le verdict est un ÉCART, le diagnostic sera posté ici, sur #18901, plutôt que dans une issue nouvelle. Ce commentaire est une information, il ne bloque rien sur #19052.

  4. jsboige commented on Oct 4, 2026

    @jsboige
    OwnerAuthor

    Diagnostic de l'ÉCART de la stratégie primaire 08/02, venant de #18900 tranche 4 (résultat complet : #18900 (comment)). C'est une information : rien ici ne bloque #19052.

    Mesuré. Deux rejeux du main.py de #19052, figé à 1940f6c6d4, dans la fenêtre du livre (2021-10-01 → 2023-01-15), stratégie primaire seule, convention par défaut :

    Sharpe CAGR Pire baisse
    Livre (EBS, sans frais) 0,88 3,5 % 3,5 %
    R1, tel quel −0,976 −6,20 % 10,6 %
    R2, ordres remplis au milieu de la fourchette −0,143 0,77 % 5,7 %
    • L'écart achat-vente coûte environ 7 points de CAGR à cette stratégie : deux ordres par fenêtre, 668 fenêtres. C'est mesuré : R2 − R1.
    • Sans lui, la règle reste loin du livre. L'écart restant est d'environ 2,7 points de CAGR et 1,0 de Sharpe.
    • Le CAGR ne dépend pas du taux sans risque : l'écart ne tient donc pas à la convention de Sharpe de QuantConnect.

    Causes encore ouvertes, dans l'ordre où je les testerais :

    1. L'horodatage des fenêtres. Le livre définit les fenêtres sur des données EBS. Un décalage d'une heure, d'une convention de fuseau ou d'heure d'été, déplacerait chaque fenêtre sur une autre partie de la journée. Mesure possible : rejouer R2 avec les bornes décalées de ±1 h.
    2. La source de données (EBS ou OANDA). Ce n'est mesurable qu'avec des données EBS, que le livre ne partage pas. Sinon, la cause reste candidate, non mesurée.
    3. Le sens des fenêtres est probablement hors de cause. Au milieu de la fourchette, inverser les sens rend opposé le résultat de chaque fenêtre, ce qui donnerait un CAGR proche de −0,8 %. C'est une déduction, pas une mesure.

    Projet QuantConnect des rejeux : 37336051, séparé de celui de #19052.

  5. added a commit that references this issue on Oct 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions