Skip to content

training: valider L4 Decision Transformer sur un vrai holdout out-of-time #14579

Description

@jsboigeEpita

Constat vérifié

Le seul edge directionnel encore vivant dans MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/ est L4 Decision Transformer. Les deux validations temporelles publiées le 2026-08-06 dans l'Epic #1454 ont toutefois re-découpé la même fenêtre de données 2018–2026 :

  • holdout interne : NO-BEATS, edge -6.63σ, DM médiane 0.0847 ;
  • holdout frais au sens du split : INCONCLUSIVE, edge +19.97σ, DM médiane 0.236.

La divergence de signe montre que le choix du split domine le verdict. Aucun résultat ne mesure un modèle entraîné sur une borne gelée puis évalué sur une tranche téléchargée ensuite et absente de tous les folds d'entraînement.

Objectif

Produire le premier verdict out-of-time réel de L4 : données de test acquises après la borne de gel, jamais vues par aucun fold ni par la sélection d'hyperparamètres.

Périmètre

Chemins attendus, à garder atomiques :

  • MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/scripts/train_dt_multiseed.py
  • MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/scripts/eval_rl_dt.py
  • MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/scripts/validate_xrp_dt_holdout.py
  • MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/scripts/sweep_l4_decision_transformer.py
  • MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/docs/L4_decision_transformer.md
  • MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/REGISTRY.md

Le corpus téléchargé et les résultats volumineux restent dans les répertoires gitignored prévus par le pipeline ; seuls les hashes, bornes, métriques et verdicts reproductibles entrent dans Git.

Protocole borné

  1. Télécharger une tranche journalière trailing allant au moins jusqu'en août 2026 et consigner source, bornes et hashes.
  2. Geler l'entraînement au 2025-06-30 au plus tard ; interdire tout ajustement sur la tranche OOT.
  3. Sur la portion d'entraînement : walk-forward 5 folds, graines 0,1,7,42,99, sans FAANG/Mag7.
  4. Sur le holdout OOT : comparer DT, teacher momentum et buy-and-hold sous 10 bps, puis stress 50 bps.
  5. Calculer la conjonction du §C : edge apparie >=2σ et Diebold-Mariano sur perte mse/mae avec dm_p_median < 0.05; garder linear comme contrôle de biais uniquement.
  6. Reporter les biais signés modèle et baseline, puis rendre exactement BEATS, NO BEATS ou INCONCLUSIVE.

Critères d'acceptation

  • La date maximale de chaque fold d'entraînement précède strictement la date minimale du holdout OOT.
  • Les hashes et bornes du dataset rendent l'absence de contamination vérifiable.
  • 5 folds × au moins 4 graines exécutés ; résultats par graine conservés.
  • Edge, dispersion, DM-MSE/MAE, contrôle linear, biais signés et coûts 10/50 bps sont publiés.
  • Teacher momentum et buy-and-hold restent visibles séparément : aucun edge du teacher n'est attribué au DT.
  • FORBIDDEN_SYMBOLS confirme l'absence de FAANG/Mag7.
  • REGISTRY.md et la doc L4 portent le verdict honnête, y compris si celui-ci tue le keeper.
  • Dry-run CPU et watchdog thermique validés avant tout run GPU ; environnement coursia-ml-training, jamais Python système.

Déconfliction

Vérifié à l'ouverture : aucune PR ouverte ne touche ces chemins. #13596 porte le track GRPO/RLVR et reste disjoint. Cette issue est un sous-grain de l'umbrella permanent #1454, pas une nouvelle arborescence.

Grain visé : DEEP/training — le livrable est un verdict falsifiable sur données réellement futures, pas une nouvelle lecture du ledger existant.

See #1454

Activity

  1. jsboige commented on Sep 4, 2026

    @jsboige
    Owner

    [CLAIMED] lane myia-po-2027:CoursIA -- paths: MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/scripts/train_dt_multiseed.py, MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/scripts/eval_rl_dt.py, MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/scripts/validate_xrp_dt_holdout.py, MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/scripts/sweep_l4_decision_transformer.py, MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/docs/L4_decision_transformer.md, MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/REGISTRY.md -- DEEP/training, protocole OOT borné per issue body, dry-run CPU avant GPU

  2. added 2 commits that reference this issue on Sep 4, 2026
  3. added a commit that references this issue on Sep 4, 2026
  4. added
    candidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)
    on Sep 5, 2026
  5. added a commit that references this issue on Sep 5, 2026
  6. jsboige commented on Sep 6, 2026

    @jsboige
    Owner

    C:/Users/Jesse/AppData/Local/Temp/claude/d--dev-CoursIA/9896209a-5c2f-49f4-984f-c840630bd4c1/scratchpad/close_14579.md

  7. jsboige commented on Sep 30, 2026

    @jsboige
    Owner

    Verification G.9 de fermeture (tranche 8 de #15258, lane myia-po-2024:CoursIA) : fermeture legitime, aucune reouverture.

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

    candidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions