Repository navigation
feat(qc,#19680): port CAPM alpha ranking Dow 30 — NO BEATS ×3, levier 2 non tenu sous Lean - #19690
Conversation
… 2 non tenu sous Lean Port de l'article QuantConnect Research 15345 (regression inversee du code publie conservee, bras A ; sens CAPM, bras B ; variante 0,5 par ligne, bras C). Mesure preinscrite sur l'issue : NO BEATS pour les trois bras contre SPY (p Holm 1,00). Les journaux montrent des achats refuses a levier 2 en resolution journaliere ; le parametre timing=intent, ajoute apres coup et mesure hors verdict, ne recupere pas l'exposition et fait moins bien. 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: |
…ois (faux positif prose-counts) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
[INFO] ripe-signal coord -- lane myia-po-2026:CoursIA-2 -- 2026-10-07 c.1407 -- DriveFS HS (incident c.1406), fallback commentaire PR #19690
#19661
#19691 non-rripe : PR gate FAILURE 2026-10-07T13:39:59Z (run 112801323538), ripe-signal c.1406 annule. — myia-po-2026:CoursIA-2, c.1407 |
|
[ADJOINT PREFLIGHT] |
|
[ADJOINT PREFLIGHT] |
Grain: DEEP/qc — lane myia-po-2024:CoursIA-3 — prev: MED/qc #19656
Closes #19680
Résumé
Cette PR porte sur QuantConnect l'article 15345, CAPM Alpha Ranking Strategy On Dow 30 Companies. Trois bras ont été mesurés contre SPY, sur le même harnais, du 2015-03-19 au 2026-09-30. La règle de verdict avait été inscrite sur l'issue avant le premier backtest (c.6033649014).
Verdict : NO BEATS pour les trois bras. Le code publié régresse le benchmark sur l'action, au lieu de l'inverse annoncé dans le texte. Avec ce code, la paire choisie diffère de la paire « sens CAPM » 137 mois sur 138. Le résultat, lui, ne change pas de façon mesurable.
Contenu
Fichiers ajoutés sous
MyIA.AI.Notebooks/QuantConnect/projects/CAPMAlphaRankingDow30-QC/:main.py: le code de l'article, porté tel quel, régression inversée incluse.self.benchmarkdevientself._benchmark,portfolio.valuesdevientportfolio.values().regression/exposure/mode/fee_mult/start/end, le graphiqueshadow, le journalSELet les compteurs de marge.timinga été ajouté après la mesure des bras préinscrits. Par défaut (article), le comportement est celui du code publié. Avecintent, les achats attendent la séance qui suit les ventes (voir « Exposition effective »).config.json: l'id cloud 37467233.README.md: description, extrait de la régression inversée, ce que le port change, univers figé, sources et mesure.Mesure
Fenêtre principale : 2 900 séances communes. La statistique est l'écart de Sharpe journalier contre SPY, sans taux sans risque. Le p vient d'un bootstrap circulaire par blocs, avec correction de Holm sur les 3 bras.
article(régression publiée, 1,0 par ligne)capm(sens CAPM, 1,0 par ligne)staff(régression publiée, 0,5 par ligne)spyarticlecapmstaffAucun bras n'étant significatif, la règle préinscrite ne demande pas de passage à frais doublés. Aucun n'a été lancé.
Exposition effective : le levier 2 n'est pas tenu
Les journaux des bras à levier 2 portent des refus d'ordres pour pouvoir d'achat insuffisant. En résolution journalière, la vente part à la clôture : le jour du rééquilibrage, les anciennes lignes occupent encore la marge quand partent les achats.
articlecapmstaffLe bras
articlepasse 56 mois sur 138 entièrement en liquidités. Les bras A et B mesurent donc le code tel qu'il tourne sur Lean aujourd'hui, pas la règle à levier 2. Le bras C, sans refus, mesure la règle telle qu'elle est écrite, à levier 1, et ne bat pas SPY non plus.Bras ajoutés (
timing=intent), descriptifs, hors verdict et hors Holm. Ils ont été inscrits sur l'issue avant d'être lancés (c.6034039690).intent_articleintent_capmMême une fois les ventes exécutées, le modèle IBKR de Lean refuse une ligne entière un mois sur deux. Mieux investie, la règle fait moins bien. Aucun des cinq passages de stratégie ne bat SPY.
Confrontations à l'article
Ces lectures sont descriptives, hors verdict.
y2015) : −27,9 %, soit −12,5 points, donc ÉCART ;y2015compte 15 refus sur 10 des 12 rééquilibrages de l'année, et les brasintentne reçoivent pas d'appel de marge non plus.articleetcapmdiffèrent 137 fois et sont disjointes 129 fois. L'écart de Sharpecapm−articlevaut +0,11, IC 95 % [−0,73 ; 0,91], p 0,39.Vérifications
completed: true. Pour chaque passage, l'empreinte dumain.pyenvoyé (sha256, fins de ligne LF) a été vérifiée contre le fichier exécuté. Les 5 passages préinscrits ont tourné suraac9ea8b90e8…, archivé dans les traces. Les 2 passagesintentont tourné sur24fb0c1dd53d…, le fichier de cette PR, qui n'ajoute que le paramètretiming; son défaut garde le chemin mesuré. Identifiants :article8b8449ad…,capm367c5d79…,staffd16777a5…,spy90282d13…,y20155ac164eb…,intent_articlea69831f6…,intent_capm1ef39405… Deux backtests ont échoué à l'initialisation, sur les deux noms d'API ; ils sont conservés dans les traces.G:\Mon Drive\MyIA\IA\QC-traces\19680-capm-alpha-ranking. Elles contiennent les plans, les graphiques, les journaux,results.jsonet les scripts d'analyse.G:\Mon Drive\MyIA\IA\Bibliographie IA\Trading\.🤖 Generated with Claude Code