Repository navigation
feat(qc,#20365): colonne du coeur actions dans la matrice de la ligue - #20367
Conversation
Le coeur actions (regle de volatilite inverse du harnais paper, #19072) n'avait pas de trace QC : la matrice de correlation de la ligue (#19821 brique 4) ne pouvait pas dire quelles candidates se decorrelent de lui. - shadow_inverse_vol.replay : parametre account (EUR par defaut, inchange pour la candidate gelee ivol-U ; USD = memes poids, rendements et liquidite en USD) - league_core_series.py : ecrit la serie du coeur (series.csv + provenance) - league_correlation.py : membres "kind": "local" lus dans series.csv - league_members.json : core-equity + O2, O3, O4 et ema-cross-stocks - tests : 33 verts sur les trois fichiers 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: |
Path-collision (organ #13359/#13615)Cette PR #20367 (
Le verdict terminal (#15578) signale qu'un cote de la paire est deja sur |
|
[ADJOINT PREFLIGHT] |
myia-ai-01
left a comment
There was a problem hiding this comment.
Disposition coordinateur à la tête af1c23f : dossier tiers lu ; surfaces de discussion relues (body, commentaires, reviews, threads) sans réserve en attente ; portée conforme au titre ; preuve centrale vérifiée sur la PR.
— ai-01, coordination
Grain: DEEP/research-code — lane myia-po-2024:CoursIA-3 — prev: MED/qc #20347
Ce que fait la PR
La matrice de corrélation de la ligue (#19821 brique 4, #20084) n'avait pas de colonne pour le cœur actions : on ne pouvait pas dire quelles candidates se décorrèlent de lui. Le cœur est la règle de volatilité inverse du harnais paper (#19072). Il n'a pas de trace QC, donc sa série se calcule hors QC.
shadow_inverse_vol.replayreçoit un paramètreaccount:EURpar défaut (rien ne change pour la candidate geléeivol-U), ouUSD(mêmes poids, rendements et liquidité en dollars). La règle n'est pas recopiée :league_core_series.pyappelle le point d'entrée de l'ombre.league_core_series.py(nouveau) écritseries.csv(format deshadow_replay.py --series-dir) etprovenance.json(paramètres, commit, empreintes des clôtures lues).league_correlation.pylit un membre"kind": "local"dans sonseries.csv. Un test vérifie qu'une même courbe lue enseries.csvou enchart.jsonQC donne les mêmes rendements hebdomadaires.league_members.json: ajout decore-equity, ainsi que de O2 (feat(qc,#20168): FourSleeve774 layout=775, réimplémentation déclarée de la 775 -- NO BEATS #20171), O3 (feat(qc,#20189): BTC-ETH-Rotation -- rotation par force relative, mesure de ligue NO BEATS #20192), O4 (feat(qc,#20214): measure cross-sectional crypto momentum on QC Cloud, verdict NO BEATS out of sample #20216) etema-cross-stocks(fix(qc,#20258): EMA-Cross-Stocks -- mesure hors echantillon (NO BEATS) et correctif de la tranche de minuit #20261), soit 22 membres.Protocole
Le protocole de #20083 a été amendé dans #20365 avant la mesure. Le cœur entre dans la matrice comme la règle tenue sur un compte en USD : convention U, cible 0,025, du 2010-02-01 au 2026-09-30 (4186 séances), clôtures Yahoo ajustées. Les autres membres sont des comptes QC en USD. Compté en euros, le cœur porterait le change EUR/USD sur sa liquidité, et la corrélation mesurerait en partie le change. La lecture en euros est gardée comme sensibilité. Le reste du protocole est inchangé : semaines au vendredi, au moins 104 semaines communes, bootstrap circulaire par blocs apparié (8 semaines, 10 000 tirages, graine 0).
Résultat : corrélation au cœur (en centièmes)
four-sleeve-774multi-horizon-676split-events-lotrendweather-pitleveraged-etf-momentumfamafrench-allweathercapm-alpha-rankingmomentumregimeadaptiveweightsematrenddynamicvixlongshortharvestbitcoin-regime-gateema-cross-cryptoadaptive-momentum-775btc-eth-rotationcrypto-momentum-topnema-cross-stocksspy(référence)sixty40(référence)btc(référence)La colonne « Seuil 0,7 » est celle de
league_correlation.position. Une estimation est « fragile » quand son intervalle contient le seuil.four-sleeve-774a une borne haute arrondie à 70, juste sous le seuil.Lecture
famafrench-allweather(88, intervalle entièrement au-dessus),momentumregime(78, idem), et trois estimations fragiles,dynamicvix,multi-horizon-676etadaptiveweights. Elles ajouteraient peu de diversification à un cœur qu'elles suivent déjà.ema-cross-crypto,btc-eth-rotation,crypto-momentum-topn), de même quesplit-events-lo, souvent en liquide (19 % de semaines investies).capm-alpha-ranking,longshortharvestetleveraged-etf-momentumsont entre 30 et 44.Sensibilités
famafrench-allweather, 86 à 92). Une seule change de côté du seuil,adaptiveweights(70 à 72), déjà marquée fragile.dynamicvix) ; les cinq candidates au-dessus du seuil passeraient toutes en dessous. La mesure aurait porté sur le change plutôt que sur la stratégie : c'est ce que l'amendement du protocole évite.Limites
Validation
league_core_series.pyrelancé au commit af1c23f :series.csvidentique octet pour octet à la première écriture (même empreinte sha256).G:\Mon Drive\MyIA\IA\QC-traces\20365-league-core\(MANIFEST.md,closes/,core-equity/,sens/,matrix.md,matrix.json,sensitivity.json).shadow_inverse_vol.replayetinverse_vol_currency, la règle n'est pas réécrite.Closes #20365
🤖 Generated with Claude Code