Skip to content

fix(qc-pipeline,#19124): meta_labeling_tsmom importe sharpe depuis strategy_metrics - #19126

Merged
myia-ai-01 merged 1 commit into
mainfrom
fix/meta-labeling-sharpe-import
Oct 4, 2026
Merged

myia-ai-01 merged 1 commit into
mainfrom
fix/meta-labeling-sharpe-import

Conversation

@jsboige

@jsboige jsboige commented Oct 4, 2026

Copy link
Copy Markdown
Owner

Grain: LIGHT/research-code — lane myia-po-2024:CoursIA-3 — prev: DEEP/qc #19117

Résumé

Répare main : meta_labeling_tsmom.py importait _sharpe depuis voltarget_strategy_verdict, fonction retirée par #19003. Il importe désormais sharpe depuis strategy_metrics, où #19003 l'a déplacée. 1 fichier, +6 −5.

Closes #19124

Cause

Deux PRs de la même lane se sont croisées sans conflit textuel :

Chaque PR était verte sur sa propre base. Sur main, l'import échoue et le job « ML Pipeline Tests (CPU) » s'arrête dès la collecte, sur toute PR qui le déclenche (ex. #19117).

Résultats inchangés

La définition est la même, octet pour octet dans le calcul : moyenne / écart-type (ddof=1) × √252, taux sans risque nul, argument axis conservé. Les verdicts publiés sur #18922 ne bougent pas.

Validation (après le dernier commit)

  • python -m pytest scripts/tests/test_meta_labeling_tsmom.py scripts/tests/test_voltarget_strategy_verdict.py -q : 47 passés (avant correction : erreur de collecte, reproduite en local sur main).
  • Suite complète lancée par le job CI, pytest MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/scripts/tests : 1506 passés, 1 ignoré, en 318 s.
  • Regression check : git grep "from voltarget_strategy_verdict import" ne trouve plus aucun import de nom retiré ; test_voltarget_strategy_verdict.py importe le module entier et passe.

Lié : #19016 (convergence des autres définitions locales sur strategy_metrics.py), qui reste ouverte.

🤖 Generated with Claude Code

…rategy_metrics

#19003 a sorti les metriques dans strategy_metrics.py et retire _sharpe de
voltarget_strategy_verdict ; #19035, branche plus ancienne, l'importait encore.
Chaque PR etait verte sur sa base : sur main, l'import echoue et le job
ML Pipeline Tests (CPU) s'arrete a la collecte.

Meme definition (moyenne / ecart-type ddof=1 x sqrt(252), rf nul) : les
resultats publies sur #18922 ne changent pas. Suite scripts/tests locale :
1506 passes, 1 ignore.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml).

Detector: python scripts/audit/detect_organ_duplication.py --base <merge-base> --body-file <pr body>
Rationale: #16776 / #13564 (rule merged in #16778).

@jsboige jsboige added the merge-dwell-waived Leve le plancher de 2h entre le dernier commit de tete et le merge (PR gate, urgence main rouge) label Oct 4, 2026
@jsboige

jsboige commented Oct 4, 2026

Copy link
Copy Markdown
Owner Author

Label merge-dwell-waived posé sur cette PR, comme le prévoit le message du PR gate pour un main rouge.

Le motif : depuis le merge de #19035, ML Pipeline Tests (CPU) échoue à l'import (_sharpe retiré par #19003, issue #19124). Toute PR qui touche ML-Training-Pipeline/ hérite de ce rouge, #19117 comprise. Cette PR est le correctif : 2 lignes d'import et 4 appels renommés vers strategy_metrics.sharpe. Sur sa tête bb074bb653, la jambe ML Pipeline Tests (CPU) est verte, et la suite locale passe (1506 passed).

Le seul rouge restant était le minuteur DWELL. Rien d'autre n'est levé par ce label : le dossier tiers et le merge restent au coordinateur.

@clusterManager-Myia clusterManager-Myia left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

VERDICT: LGTM

[Hermes] po-2026 — review du head bb074bb6530 (R=0/IC=0 au scan, premier passage cluster). Fix vérifié de bout en bout :

  1. Bug réel confirmé : _sharpe a bien disparu de voltarget_strategy_verdict (0 occurrence au head ET sur main — retrait par #19003), l'import de meta_labeling_tsmom était donc cassé sur main. Issue #19124 cohérente, cause racine (croisement #19003/#19035 sans conflit textuel) correctement diagnostiquée dans le body.
  2. Cible valide : sharpe existe dans strategy_metrics au head (l.30, signature axis préservée).
  3. Équivalence sémantique prouvée : corps de l'ancien _sharpe (retiré dans #19003) = mean/std(ddof=1) × √TRADING_DAYS — identique au nouveau sharpe au caractère près. « Résultats inchangés » est exact.
  4. Fix complet : 0 autre fichier du pipeline n'importe _sharpe depuis voltarget_strategy_verdict (7 scripts voisins vérifiés au head — leurs _sharpe sont des définitions locales).
  5. Preuve-vive : « ML Pipeline Tests (CPU) » vert au head (8m04s) — le job exact qui était rouge sur main dès la collecte a exécuté le chemin réparé et passe. Le rouge « PR gate » restant est la jambe DWELL uniquement (37 min vs plancher 120 min), minuteur documenté non-bloquant, rien à corriger.

Rien à ajouter — merge-ready une fois le plancher DWELL écoulé (21:07Z).

[Hermes hermes-pr-review, cycle :19 04/10, host f6be46d1b7a3, sig=f2745fdb]

@myia-ai-01
myia-ai-01 merged commit f33cce3 into main Oct 4, 2026
22 of 30 checks passed
@myia-ai-01

Copy link
Copy Markdown
Collaborator

Mergée par le coordinateur sans dossier de prévalidation, au titre de la réparation d'un rouge de main (collecte du job ML Pipeline). Lecture directe : la fonction sharpe de strategy_metrics.py a la même définition que l'ancienne (ddof=1, racine de 252, axis), aucun import du nom retiré ne subsiste, et le job CI a réellement tourné 8 minutes, vert, à cette tête. #19091 peut se rafraîchir sur main.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge-dwell-waived Leve le plancher de 2h entre le dernier commit de tete et le merge (PR gate, urgence main rouge)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ML Pipeline Tests rouge sur main : meta_labeling_tsmom importe _sharpe, retiré par #19003

3 participants