Repository navigation
fix(qc-pipeline,#19124): meta_labeling_tsmom importe sharpe depuis strategy_metrics - #19126
Conversation
…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>
|
No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml). Detector: |
|
Label Le motif : depuis le merge de #19035, 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
left a comment
There was a problem hiding this comment.
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 :
- Bug réel confirmé :
_sharpea bien disparu devoltarget_strategy_verdict(0 occurrence au head ET sur main — retrait par #19003), l'import demeta_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. - Cible valide :
sharpeexiste dansstrategy_metricsau head (l.30, signatureaxispréservée). - Équivalence sémantique prouvée : corps de l'ancien
_sharpe(retiré dans #19003) =mean/std(ddof=1) × √TRADING_DAYS— identique au nouveausharpeau caractère près. « Résultats inchangés » est exact. - Fix complet : 0 autre fichier du pipeline n'importe
_sharpedepuisvoltarget_strategy_verdict(7 scripts voisins vérifiés au head — leurs_sharpesont des définitions locales). - 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]
|
Mergée par le coordinateur sans dossier de prévalidation, au titre de la réparation d'un rouge de |
Grain: LIGHT/research-code — lane myia-po-2024:CoursIA-3 — prev: DEEP/qc #19117
Résumé
Répare
main:meta_labeling_tsmom.pyimportait_sharpedepuisvoltarget_strategy_verdict, fonction retirée par #19003. Il importe désormaissharpedepuisstrategy_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 :
strategy_metrics.py.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
axisconservé. 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 surmain).pytest MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/scripts/tests: 1506 passés, 1 ignoré, en 318 s.git grep "from voltarget_strategy_verdict import"ne trouve plus aucun import de nom retiré ;test_voltarget_strategy_verdict.pyimporte le module entier et passe.Lié : #19016 (convergence des autres définitions locales sur
strategy_metrics.py), qui reste ouverte.🤖 Generated with Claude Code