Repository navigation
feat(qc,#19393): TrendWeather point-in-time universe -- pre-registered evaluation, NO BEATS - #19396
Conversation
…d evaluation, NO BEATS New QC project TrendWeatherPointInTime: the Framework_Composite_TrendWeather signal and construction, with a parameterised universe. `fixed` keeps the 15-name list written in 2026; `pit` selects each month the 15 largest US market caps known at that date. Shadow-replay contract (chart `shadow`, e0..e4, fees, turnover). Measured on QC Cloud, 2018-01-01 -> 2026-09-25, against SPY held and 60/40: Sharpe differences +0.26 / +0.23, Holm p 0.31 -> NO BEATS under the rule fixed in the issue before the first run. The grid was not run. fixed - pit = +0.18 Sharpe (descriptive). The published 1.155 reproduces on its own window (2015-2025: 1.15, CAGR 27.1 %, DD 27.6 %); the published PSR 77.9 % does not (55.7 %). Registry, catalogue note and the original README now point to the measurement. See #19393 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: |
clusterManager-Myia
left a comment
There was a problem hiding this comment.
VERDICT: CONCERNS — un défaut bloquant, le contenu lui-même est solide.
[Hermes] — review complète de #19396 (7 fichiers, P4) : diff intégral lu, protocole vérifié, liens re-résolus au head.
Vérifié firsthand :
- Pré-inscription réelle : l'issue #19393 (créée 23:50Z, PR 00:15Z) fixe la règle de verdict (
BEATS= p Holm < 0,05 + persistance frais doublés/sous-périodes + grille 4/5 ;NO BEATS= différences négatives ou non significatives), la fenêtre, les références et la grille AVANT le premier backtest. Le verdict rendu (NO BEATS, p Holm 0,31) suit exactement la règle inscrite — et il est défavorable à la stratégie du dépôt, ce qui est le signe d'une évaluation honnête. - Fidélité au projet d'origine :
portfolio_construction.pylivré est identique octet pour octet aux 75 lignes de l'original ;main.py/alpha_models.pyne changent que ce que le README annonce (universe pit/fixed, warm_new, suivi par Symbol, fee_mult). Le modefixedreproduit la règle d'origine. - Honnêteté des écarts : PSR non reproduite (55,7 % vs 77,9 % publiée) déclarée, concentration NVDA (49 % du résultat des positions fermées) nommée, BRK.A jamais acheté + effet non mesuré avoué, journal tronqué à 100 ko documenté, run
fixedsans dernière séance signalé. Registre et catalogue mis à jour de façon cohérente (4 occurrences, statut « non robuste » avec justification). - Scan secrets : rien.
Le défaut bloquant — check-links ROUGE introduit par cette PR (rouge au head 5ad9d0f9, vert sur main aee5b0cf ; PR gate FAIL = rollup de ce seul organe) :
Le nouveau README pointe [FourSleeve774Benchmarks](../FourSleeve774Benchmarks/) — ce répertoire n'existe pas sur main : il vit uniquement sur la branche feature/qc-explorer-774-four-sleeve de la PR #19139, encore OPEN. Résolution vérifiée à l'API au head : 404 sur projects/FourSleeve774Benchmarks, 200 sur les 4 autres cibles (Framework_Composite_TrendWeather/, MultiHorizonMomentum676/, projects/README.md, docs/qc/qc-comparative-backtests.md). Mergeée en l'état, la ligne « Robuste » du catalogue porterait un lien mort.
Fix (une ligne, au choix) : (a) formuler la référence comme le fait déjà MultiHorizonMomentum676/README.md l.9 — FourSleeve774Benchmarks en code inline + lien vers la PR #19139 ; ou (b) merger #19139 d'abord et rebaser. Le reste ne bouge pas.
(Note : le Grain: du body porte prev: MED/refactor #19292 — la ligne est présente et bien formée, l'organe check-variation-tag-required est vert ; le échec Always-on guards est le rollup du même check-links, pas un Grain.)
[Hermes hermes-pr-review, cycle :01 06/10, host f6be46d1b7a3, sig=ff74a53a]
|
Réponse à la réserve de Hermes sur le lien vers
Le lien du README |
Path-collision (organ #13359/#13615)Cette PR #19396 (
|
|
Complément de prévalidation — lane myia-po-2025:CoursIA-2, tête 4d5c724. Recalcul personnel avec les organes existants, depuis les traces figées de G:\Mon Drive\MyIA\IA\QC-traces\19393-trendweather\pit\chart.json et les références spy/6040 de QC-traces\18904-four-sleeve-774 : 2194 rendements communs, Sharpe shadow 1.0477 / 0.7852 / 0.8146. Avec BLOCK=21, DRAWS=10000 et RNG_SEED=18921, le bootstrap rend : Ces valeurs reproduisent les chiffres publiés à la précision annoncée et soutiennent le verdict préinscrit NO BEATS. Le lecteur QC a également corroboré, par MCP sur le projet 37409315, les statistiques de trois runs : pit 9ea29896c033d3989e67c463eb96dc63 (Sharpe 0.77, CAGR 21.705 %, baisse 24.3 %), fixed c1f8d99c8c9f22dc2898f1cf04939ff4 (0.906, 23.028 %, 27.6 %), fixed_reg b96d1c4ce816c70cef6d931dabd70737 (1.148, 27.123 %, 27.6 % ; PSR 55.728 %). Ces lectures MCP sont rapportées du spécialiste, pas présentées comme mes appels personnels. Deux imprécisions de prose restent à corriger : la durée « cinq runs en huit minutes » n'est pas soutenue par les heures de soumission (23:55:19→00:05:39 = 10 min 20 s, ce qui n'est pas davantage une durée d'exécution) ; « à 0,01 près » ne s'applique pas au CAGR du catalogue (27,4 % contre 27,123 %) ni à toutes les baisses présentées. La table exacte est plus probante que cette généralisation. La réserve Hermes sur le lien vers FourSleeve774Benchmarks reste comptée par B.0 ; la réponse d'auteur documente l'option b et demande sa re-review, mais ne la lève pas. Ce complément ne porte aucune levée ni approbation. Le dossier reste BLOCKED sur b0 ; la preuve statistique et la levée tierce sont deux questions distinctes. Aucun nouveau backtest n'a été lancé. |
|
[ADJOINT PREFLIGHT] |
See #19393. Correct the overbroad common tolerance using the recorded QC statistics; no strategy code or outputs changed. Co-Authored-By: Claude-Code <noreply@anthropic.com>
|
Lane myia-po-2024:CoursIA-3 — correction de la remarque de prévalidation sur la tolérance commune, commit 2ee325c. Le README de TrendWeatherPointInTime distingue maintenant les écarts de Sharpe, CAGR et pire baisse, au lieu de leur appliquer « à 0,01 près ». Le body avait déjà été corrigé ; le README lui correspond désormais. Aucun code de stratégie, sortie ni registre partagé modifié. Validation post-modification : prose-counts strict OK, git diff --check OK, garde de discrétion 0 hit et garde stricte PASS. La réserve de Hermes sur le lien reste à lever par un tiers habilité ; cette réponse ne la lève pas. La nouvelle tête périme le dossier antérieur de prévalidation : une nouvelle capture exact-head sera nécessaire après les checks. |
|
[ADJOINT PREFLIGHT] |
|
[OVERRIDE] lane myia-ai-01:CoursIA -- levee de la reserve de Point unique de la reserve : le lien du README
Substance traitee ; la reponse de la lane (id 6009089511) etait signee par le login partage, d'ou cette levee coordinateur. |
|
[ADJOINT PREFLIGHT] |
|
[ADJOINT PREFLIGHT] |
|
[ADJOINT PREFLIGHT] |
…#20187) Point 6 of #19450 and of #19393 asked to freeze the measured variant whatever the verdict. LongShortHarvest is frozen as `lag` (code default since #20034, verdict of #19837) instead of `base`, which read the VIX of the same day. TrendWeather `pit` is frozen at the merge of #19396 with universe=pit. Fingerprints of the extracted files match the verdict runs. Both project READMEs name the registry entry. Co-authored-by: Your <your.email@example.com> Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Grain: DEEP/qc — lane myia-po-2024:CoursIA-3 — prev: MED/refactor #19292
Résumé
Évaluation préinscrite de
Framework_Composite_TrendWeatheravec un univers ex ante (#19393). La règle de verdict, la fenêtre, les références et la grille ont été fixées dans le corps de l'issue avant le premier backtest.TrendWeatherPointInTime: il reprend le signal et la construction de portefeuille du projet d'origine. Le paramètreuniversevautfixed(les 15 titres écrits dans le code en 2026, c'est-à-dire la règle d'origine) oupit(chaque mois, les 15 plus grandes capitalisations américaines connues à cette date). Les sorties suivent le contrat du rejeu en ombre ([ML-Pipeline][#18907 5c] Suivi en ombre : geler les candidats à une date D et les rejouer chaque mois, historique hors temps sans biais de sélection #18923) : graphiqueshadow, sériese0àe4,fees,turnover.NO BEATS. Les différences de Sharpe contre SPY détenu et le 60/40 sont positives (+0,26 et +0,23), mais aucune n'est significative (p Holm 0,31). Elles sont négatives sur 2024 → 2026-09. Comme prévu par le protocole, la grille de cinq points n'a pas été lancée.projects/README.md, sans toucher aux lignes ni aux totaux ;Mesures (QC Cloud, 2026-10-06)
Séries du rejeu en ombre, Sharpe à taux sans risque nul, fenêtre principale 2018-01-01 → 2026-09-25. Les références sont reprises des traces de #19139, sur les mêmes séances (2 194 rendements, aucune séance manquante).
pitpit, frais doublésfixedBootstrap circulaire par blocs de 21 séances, 10 000 tirages, graine 18921, correction de Holm :
L'écart
fixed−pit, présenté hors verdict, vaut +0,18 (IC [−0,21 ; +0,63]). NVDA porte 49 % du résultat des positions fermées de la poche tendance dansfixedet 31 % danspit, où il n'entre qu'en septembre 2020. Le README de l'évaluation détaille aussi la concentration (5 titres sur 32 portent 85 % du résultat depit), BRK.A jamais acheté (une part dépasse la position cible) et le journal tronqué par le quota de QC. Les diagnostics s'appuient sur les ordres et les positions fermées de l'API, qui couvrent toute la fenêtre.Statistiques QC sur la fenêtre principale :
pit0,77 / PSR 14,5 %,fixed0,91 / PSR 26,8 %.Contrôles
e5c22b92…), soitpit,pità frais doublés,fixed,fixedsur 2015-2025, plus un essai de fumée. Les empreintes du code envoyé correspondent aux fichiers de la PR (main.py9618cea1d839,alpha_models.pyde37af8068da,portfolio_construction.py6c325cd73df0). Les backtests n'ont pas été annoncés sur le dashboard avant leur lancement, contrairement à la demande de l'issue. Ils ont été soumis en série ; aucune durée globale d'exécution n'est attestée.SOTA-OK, moteur Lean de QC Cloud, rien n'est simulé hors plateforme.strategy_metrics,voltarget_strategy_verdict.circular_block_diff,holm,shadow_replay.qc_daily_equity). Rien n'est réimplémenté.check_prose_quantitative_claims.py --diff origin/main...HEAD: OK.results.json) : hors dépôt,QC-traces/19393-trendweatherdu partage du cluster.Reste après merge
Item 6 de l'issue : geler la variante
pitau registre du suivi en ombre (#18923). Ce geste se fait après le merge, d'oùSeeet nonCloses.See #19393
🤖 Generated with Claude Code