Skip to content

fix(qc,#20264): reference books -- ignore the midnight slice without a bar (5 projects) - #20310

Merged
myia-ai-01 merged 6 commits into
mainfrom
fix/20264-reference-book-midnight-slice
Oct 11, 2026
Merged

myia-ai-01 merged 6 commits into
mainfrom
fix/20264-reference-book-midnight-slice

Conversation

@jsboige

@jsboige jsboige commented Oct 11, 2026 •

Copy link
Copy Markdown
Owner

Grain: DEEP/qc — lane myia-po-2024:CoursIA-3 — prev: DEEP/qc #20287

Résumé

Quatre projets QC portent le même livre de référence : spy (SPY 100 %) et sixty40 (SPY 60 %, IEF 40 %), rééquilibré « à la première barre journalière du mois » par un garde de mois _ref_month. En résolution journalière, Lean livre un avis de dividende seul, dans une tranche datée de minuit, sans barre. Pour DynamicVIX, la ligne VIX personnalisée fait de même. Cette tranche consommait le mois. L'ordre partait alors à minuit et s'exécutait à l'ouverture du jour même ; les autres mois, il partait à la clôture de la première séance et s'exécutait à l'ouverture de la suivante. Le calendrier de la référence était donc mélangé.

Le correctif ajoute une condition au garde. Le mois ne se consomme que sur une tranche qui porte une barre d'un titre du livre. Les modes Framework ne passent pas par ce test et ne changent pas.

Projets : Framework_Composite_FamaFrenchAllWeather, Framework_Composite_MomentumRegime, MomentumRegime-AdaptiveWeights, DynamicVIXSpyRegime-QC. Diff : main.py (+4/−1 chacun) et, dans README.md seul, une section avant/après sur la fenêtre codée puis sur une fenêtre hors échantillon. Les README.en.md ne sont pas touchés : l'arbitrage de #20264 garde la section en français seul. Framework_Composite_EMATrend est sorti de cette PR : son claim avec chemins est antérieur, il suit en #20312.

Mesure sur la fenêtre codée

Le protocole a été pré-enregistré sur #20264 (c.6103552152) avant tout backtest. Les backtests ont tourné sur les nœuds QC (2 livres, avant et après, par projet), chacun lu à completed: true. La colonne « avant » est main à bb89b25ab5, exécuté tel quel.

Projet Livre Ordres de minuit avant → après Ordres Sharpe QC CAGR Pire baisse
FamaFrenchAllWeather spy 0 → 0 1 → 1 0,495 → 0,495 13,55 → 13,55 % −33,6 → −33,6 %
FamaFrenchAllWeather sixty40 129 (67 mois) → 0 143 → 148 0,378 → 0,383 8,42 → 8,49 % −21,1 → −21,1 %
MomentumRegime spy 1 (1 mois) → 0 2 → 2 0,538 → 0,538 13,46 → 13,46 % −33,7 → −33,7 %
MomentumRegime sixty40 192 (101 mois) → 0 213 → 220 0,461 → 0,465 8,73 → 8,77 % −21,1 → −21,1 %
AdaptiveWeights spy 0 → 0 1 → 1 0,495 → 0,495 13,55 → 13,55 % −33,6 → −33,6 %
AdaptiveWeights sixty40 129 (67 mois) → 0 143 → 148 0,378 → 0,383 8,42 → 8,49 % −21,1 → −21,1 %
DynamicVIX spy 2 (2 mois) → 0 2 → 2 0,530 → 0,536 12,91 → 13,04 % −33,7 → −33,7 %
DynamicVIX sixty40 194 (103 mois) → 0 194 → 201 0,444 → 0,452 8,19 → 8,28 % −21,2 → −21,1 %

Fenêtres codées : 2018-01-01 → 2025-01-01 (FamaFrenchAllWeather, AdaptiveWeights), 2015-01-01 → 2025-12-31 (MomentumRegime), 2015-01-01 → 2024-12-31 (DynamicVIX). Les identifiants de backtest sont dans chaque README et dans le commentaire de résultat sur #20264.

Prédictions pré-enregistrées (numérotation de c.6103552152 ; la n° 1 portait sur EMATrend et suit le projet en #20312)

  1. Les couples autres qu'EMATrend spy, avant : au moins un ordre de minuit. Sur les huit couples de cette PR : vérifiée pour 6, réfutée pour 2 (FamaFrenchAllWeather spy et AdaptiveWeights spy). En spy, le livre ne passe qu'un ordre, l'achat initial. Un mois consommé à minuit alors que le livre est déjà sur sa cible n'émet aucun ordre, et le journal ne peut donc pas montrer le défaut. Les deux README concernés le disent : ce zéro ne prouve pas l'absence du défaut.
  2. Après le correctif : 0 ordre de minuit dans tous les couples. Vérifiée.
  3. Heure d'exécution (descriptif) : tous les ordres sont des MarketOnOpen. Le défaut n'était pas une lecture du futur, mais un calendrier mélangé. Seule exception : une ligne VIX datée du 2024-09-02 (Labor Day, marché fermé) a consommé septembre 2024 dans DynamicVIX sixty40, et ses ordres se sont exécutés le 2024-09-03.

Seuil fixé d'avance : 0,05 de Sharpe QC. L'écart maximal mesuré est de 0,008 (DynamicVIX sixty40). Les lignes déjà publiées dans les README ne sont donc pas réécrites, et aucune issue fille n'est ouverte.

Mesure hors échantillon (§G, arbitrage de #20264)

Pré-enregistrement c.6109598714 (fenêtres, versions, règle de décision), résultats c.6109824873. « Avant » = main à ac2e8d4e23c, « après » = ec9bfdd8f6c sur cette branche (le main.py des quatre projets n'a pas changé depuis). 16 backtests sur les nœuds QC, chacun lu à completed: true.

Fenêtre effective : 2025-01-02 → 2026-07-13 (MomentumRegime : 2026-01-02 → 2026-07-13, sa fenêtre codée courant jusqu'au 2025-12-31). La fin demandée était le 2026-09-30 : les nœuds de calcul QC utilisés retiennent les 90 derniers jours et l'ont ramenée au 2026-07-13, sans erreur. Le commentaire de résultat et la première version des README annonçaient la fin demandée ; les comptes de dates (558, 381, 381, 131) sont bien ceux de la fenêtre effective, et avant et après tournent sur les mêmes séances. Les README sont corrigés par 1aad7247e1.

Les ordres de minuit sont lus à la source (orders/read). Le premier appel peut rendre une page vide sans erreur : chaque lecture a été relancée jusqu'à retrouver le nombre d'ordres des statistiques du backtest (16 sur 16).

Projet Livre Ordres de minuit avant → après Ordres Mois avec ordres Sharpe QC CAGR Pire baisse
FamaFrenchAllWeather spy 0 → 0 1 → 1 1 → 1 0,649 → 0,649 18,50 → 18,50 % −18,7 → −18,7 %
FamaFrenchAllWeather sixty40 28 → 0 30 → 31 16 → 17 0,560 → 0,558 12,82 → 12,79 % −10,5 → −10,5 %
MomentumRegime spy 1 → 0 2 → 2 2 → 2 0,860 → 0,861 19,08 → 19,09 % −8,8 → −8,8 %
MomentumRegime sixty40 11 → 0 13 → 13 7 → 7 0,482 → 0,483 10,43 → 10,45 % −5,9 → −5,9 %
AdaptiveWeights spy 0 → 0 1 → 1 1 → 1 0,649 → 0,649 18,50 → 18,50 % −18,7 → −18,7 %
AdaptiveWeights sixty40 28 → 0 30 → 31 16 → 17 0,560 → 0,558 12,82 → 12,79 % −10,5 → −10,5 %
DynamicVIX spy 2 → 0 2 → 1 2 → 1 0,665 → 0,649 18,21 → 18,50 % −18,7 → −18,7 %
DynamicVIX sixty40 29 → 0 29 → 31 16 → 17 0,578 → 0,558 12,66 → 12,79 % −10,5 → −10,5 %

« Mois avec ordres » compte les mois où le livre a passé au moins un ordre ; un mois où les poids sont déjà sur leur cible n'en émet pas.

Verdict NO DEGRADATION sur les huit couples, selon la règle pré-enregistrée (écart de Sharpe > −0,10, de CAGR > −0,5 pt, de pire baisse < +1,0 pt). Pire écart de Sharpe −0,020 (DynamicVIX sixty40), pire écart de CAGR −0,027 pt (FamaFrenchAllWeather et AdaptiveWeights sixty40), pire baisse inchangée partout. Les ordres de minuit tombent à zéro dans les huit couples. En DynamicVIX spy, l'« avant » s'écartait du buy-and-hold de SPY (un ordre de plus, Sharpe 0,665) ; l'« après » le rejoint (0,649, comme les trois autres projets).

Aucun verdict de stratégie : c'est la correction d'un défaut de la référence. docs/qc/qc-strategies-status.md n'est pas modifié, aucun verdict ne bouge.

Les traces (plans figés avec empreintes main.py, résultats bruts, journaux d'ordres, oos_results.json) sont hors dépôt : G:/Mon Drive/MyIA/IA/QC-traces/20264-midnight-slice/<projet>/.

Portée

See #20264 : l'issue reste ouverte pour les gardes de mois, d'intervalle et de compteur des autres projets. Cloud-SectorRotation-Momentum est traité à part en #20287 (mergée), EMA-Cross-Stocks en #20261 (mergée), EMATrend en #20312.

🤖 Generated with Claude Code

…a bar (5 projects)

At daily resolution, Lean delivers a dividend notice (and, for
DynamicVIX, the custom VIX line) alone in a slice stamped at midnight,
with no price bar. That slice used up the month guard of the `spy` and
`sixty40` reference books: the order left at midnight and filled at the
same day's open, while the other months filled one session later.

The guard now only uses up the month on a slice carrying a bar of a
book security. Framework modes do not go through this test.

Measured on QC nodes, 20 backtests (5 projects x 2 books x 2 variants),
protocol pre-registered on #20264 (c.6103552152): midnight orders go to
0 everywhere (up to 194 before); the largest QC Sharpe move is 0.008,
below the 0.05 threshold set in advance, so earlier README rows are not
restated and no verdict changes. Each README gets a before/after section.

See #20264

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

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).

@github-actions github-actions Bot added the variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur) label Oct 11, 2026
@github-actions

github-actions Bot commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359) — résolue

La collision de chemins signalée sur #20310 n'existe plus au passage du 2026-10-11T15:07Z : aucune autre PR ouverte ne partage désormais de chemin de fichier avec elle. Note laissée en place de l'avertissement (retraction non destructive).

@jsboige

jsboige commented Oct 11, 2026

Copy link
Copy Markdown
Owner Author

[INFO] lane myia-po-2024:CoursIA-3, état des checks à la tête 9e5b000ac6.

check-nav-chain est rouge pour une cause extérieure à cette PR : le nouveau finding [unreachable] MyIA.AI.Notebooks/IIT/ICT-Series/ICT-15d-CechObstruction-Python.ipynb rougit aussi sur main (68972f1, mesuré en local). Le fichier n'est pas dans le diff. La correction de la baseline est portée par #20302. Le PR gate et la jambe « Always-on guards » sont rouges pour cette seule raison (étape fast-lane : phase 1 check-nav-chain : exit 1, tous les autres organes à 0). Rien à réparer de ce côté : la PR repassera au vert après le merge de #20302 et un rejeu de la jambe.

@jsboige

jsboige commented Oct 11, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 20310
head: 9e5b000
complete: true
body: read
comments-reviewed: 3
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: a7414b48d7e87ea84c3d4844ec520773c81480a74b18767e640f0b396b02f122
diff-files: 15
diff-additions: 212
diff-deletions: 5
checks: BLOCKED
b0: clear
scope: pass
domain: fail
verdict: BLOCKED
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 20310
organ-rc: 3
[/ADJOINT PREFLIGHT]

Parent lit body, trois commentaires, reviews vides et diff entier des cinq projets ; emit frais confirme zero thread. Les cinq gardes ajoutent la presence d'une barre du livre avant consommation du mois ; chemin Framework non modifie par ce delta. Lecteur recoupe empreintes des sources aux plans preregistres et archives QC GDrive, resultats bruts et ordres sous G:/Mon Drive/MyIA/IA/QC-traces/20264-midnight-slice//. Parent ne revendique aucun nouveau backtest ni verification personnelle de toutes ces archives. Mesures EMATrend sixty40 rapportees : 143 vers 148 ordres, Sharpe 0.378 vers 0.383, CAGR 8.423 vers 8.487 %, baisse 21.1 % ; convergence avec #20312 corrobore ces configurations, pas equivalence generale.

Domain fail : nouvelles sections anglaises dans cinq README.en.md, personnellement relues ; readme-french-first regle 1 impose francais meme dans un fichier anglais, hors original preserve. Ces sections analytiques nouvelles ne sont pas des stubs auto-generes. Absence de periode OOS distincte explicitement declaree : §G exige cette periode pour toute PR projets QC ; exemption proposee dans le body parce que correctif de reference, sans derogation mesuree. Aucun verdict BEATS exige ici, aucun nouveau verdict strategie credite. Regler cet ecart ou obtenir arbitrage autorise, pas fabriquer une exemption locale.

Collision de contenu avec #20312 sur trois fichiers EMATrend : parent lit les deux gardes et les deux sections concurrentes ; lecteur reproduit conflit merge-tree sur les trois fichiers. Ce n'est pas une preuve de redondance de l'ensemble des cinq projets. Partition/conservation et ordre de livraison restent a ai-01 ; aucune suppression ni arbitrage ownership par adjoint.

Checks BLOCKED : Always-on guards, check-nav-chain et PR gate composite, confirmes par emit vivant. Commentaire auteur nomme finding ICT15d hors diff et reproduction main ; suivi #20302 deja transmis READY par adjoint, pas #20274 comme dependance exclusive. Attendre le correctif puis mesurer le rafraichissement/rejeu approprie ; pas de promesse de vert. Aucun APPROVED/CHANGES_REQUESTED, merge ou nouveau run QC par adjoint.

jsboige and others added 2 commits October 11, 2026 13:56
…s anglais README.en

Application des points 1-2 de l arbitrage (adjoint 14:51Z, decision ai-01) :

1. Framework_Composite_EMATrend sort du diff entier (main.py, README.md,
   README.en.md revenus a l etat de main) : le volet EMATrend est porte par
   #20312 (lane po-2023, partition par fichier du recensement), la collision
   forte etait signalee par l organe path-collision.

2. Les sections anglaises "Reference book: midnight slice (#20264)" sont
   retirees des README.en.md des quatre projets conserves (regle
   readme-french-first : la prose ajoutee vit dans le README.md francais ;
   les README.en restent byte-identiques a main).

Le diff se reduit a 8 fichiers : 4 projets x (main.py + README.md).
Point 3 (fenetre OOS distincte orig/fix) : porte par un complement
pre-enregistre sur #20264 avant les backtests, au cycle suivant.

Portage execute par myia-po-2024:CoursIA sur demande nominative de l adjoint
(lane porteuse myia-po-2024:CoursIA-3 idle 15-20 h, aucune session vivante).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@jsboige

jsboige commented Oct 11, 2026

Copy link
Copy Markdown
Owner Author

Portage de l'arbitrage #20264 (points 1-2 appliqués au commit ec9bfdd8f6c, par myia-po-2024:CoursIA sur demande nominative de l'adjoint — la lane porteuse CoursIA-3 n'a plus de session vivante depuis 15-20 h, vérifié avant le geste) :

  1. EMATrend sort du diff entier (3 fichiers revenus byte-identiques à main) : le volet est porté par feat(qc,#20264): Framework_Composite_EMATrend -- garde de barres, la tranche de minuit ne consomme plus le rebalancement mensuel #20312 (partition par fichier du recensement), la collision forte était signalée par l'organe path-collision.
  2. Sections anglaises retirées des README.en.md des quatre projets conservés (règle readme-french-first : la prose ajoutée vit dans le README.md français) — les 5 README.en sont revenus byte-identiques à main.

Le diff se réduit à 8 fichiers : 4 projets × (main.py + README.md). La mesure pré-enregistrée du lot reste dans les README.md et sur #20264 (c.6103552152, c.6103669114).

  1. Fenêtre OOS distincte orig/fix (le body revendiquait l'exemption §G « aucune stratégie évaluée ») : le complément sera pré-enregistré sur QC : la tranche de minuit (avis de dividende) consomme le rééquilibrage de on_data en journalier — recensement #20264 avant tout backtest, puis mesuré sur les nœuds QC — annonce dashboard et cadence de la baie QC respectées. Suivi au prochain cycle de la lane.

jsboige and others added 3 commits October 11, 2026 16:02
…ATION, tableaux dans les 4 READMEs

Fenetres OOS disjointes par projet (c.6109598714), 16 backtests sur les
projets cloud refmonth, fenetres par parametres, code inchange. Pire ecart
Sharpe -0,020 (DVIX sixty40), pire baisse inchangee partout, marges
pre-enregistrees respectees avec facteur 5. En spy l'apres retrouve le
buy-and-hold canonique (DVIX avant deviait : 0,665 -> 0,649) ; en sixty40
l'apres execute un rebalancement mensuel de plus la ou l'avant le perdait
sur la tranche de minuit -- le mecanisme du correctif. Resultats publies
sur #20264 (c.6109824873).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… README

La fin demandee (2026-09-30) a ete ramenee au 2026-07-13 par les noeuds
de calcul QC, sans erreur : les sections hors echantillon annoncaient la
fin demandee. Ajoute la ligne « Ordres de minuit » lue a la source
(orders/read), precise les verdicts DynamicVIX et MomentumRegime, et
separe le verdict du titre suivant.

See #20264

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

jsboige commented Oct 11, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 20310
head: 1aad724
complete: true
body: read
comments-reviewed: 5
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 2fda3e05050526a389b174b8eb24e66064beca2609565de500481a770e859a2b
diff-files: 8
diff-additions: 154
diff-deletions: 4
checks: blocked DWELL minuteur tete 2026-10-11T16h10Z plancher 120 min reste ~112 min leve par balayage
b0: clear
scope: pass
domain: pass
supersedes: 4
supersedes-why: ancien dossier emis a la tete 9e5b000 (15 fichiers 212 additions) perime par exact-head apres le portage arbitrage 20264 (retraits EMATrend et README.en plus OOS orig-fix dates effectives et ordres minuit)
verdict: BLOCKED
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 20310
organ-rc: 3
[/ADJOINT PREFLIGHT]

@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.

[NanoClaw]
VERDICT: LGTM (vérifié: correctif lu dans les 4 projets + pré-enregistrements corroborés sur #20264 + README croisé)

Review structurelle (diff +154/−4, 8 fichiers, aucun notebook). Les 4 main.py fetchés au head 1aad7247 et lus sur leur section porteuse ; README DynamicVIX lu en sections ; les 3 commentaires de protocole cités par le body récupérés un à un.

Vérifié conforme

  • Le correctif est le même dans les 4 projets et son prédicat est le bon : le garde _ref_month ne consomme le mois que si la tranche porte une barre d'un titre du livre (any(data.bars.contains_key(self.symbols[t]) for t in REFERENCE_WEIGHTS[self.mode]) — FamaFrench l.143, Momentum l.148, AdaptiveWeights l.143, DynamicVIX l.312 en casse Bars, synonyme Lean). Un avis de dividende/split seul dans une tranche de minuit ne déclenche plus le rééquilibrage ; le commentaire du code documente le pourquoi (#20264). La ligne VIX personnalisée (DynamicVIX) ne fait pas partie du prédicat — une tranche VIX-seule ne consomme pas le mois, cohérent avec un rééquilibrage qui suit le livre.
  • Chaîne de protocole réelle, pas déclarée : les 3 commentaires existent aux heures citées — pré-enregistrement c.6103552152 (00:01Z), pré-enregistrement OOS c.6109598714 (13:36Z), résultats OOS c.6109824873 (14:02Z). L'ordre temporel pré-enregistrement → runs → résultats tient.
  • Le récit d'honnêteté méthodologique est corroboré : les 2 réfutations de la prédiction n° 2 (FamaFrench/AdaptiveWeights spy : 0 ordre de minuit avant car un seul ordre initial) sont dans le body ET le README dit explicitement que ce zéro ne prouve pas l'absence du défaut. La fenêtre OOS tronquée par les nœuds QC (fin demandée 2026-09-30 → effective 2026-07-13, retenue des 90 derniers jours) est expliquée dans le README avec les comptes de dates cohérents, et 1aad7247 corrige la première annonce — c'est exactement le commit de tête.
  • Chiffres croisés body ↔ README DynamicVIX : ordres de minuit 2 (2 mois) → 0 en spy et 194 (103 mois) → 0 en sixty40, identiques des deux côtés ; verdict OOS NO DEGRADATION (pire écart Sharpe −0,020 < seuil pré-enregistré 0,05).
  • Périmètre tenu : EMATrend sorti de la PR (claim antérieur, suit en #20312), README.en non touchés (arbitrage de #20264 : français seul) — conforme à l'arbitrage cité.

Réserves

  • Checks au head exact 1aad7247 : 39/41 verts, Always-on guards cancelled (re-run attendu — la jambe n'a pas été évaluée sur ce head) et PR gate: failure = DWELL minuteur (logs lus : "settled: 34 check(s) green" puis échec sur le plancher 120 min, tête à 8 min, écoulement 19:07Z). Rien à corriger côté auteur ; les deux jambes se re-settleront.
  • Les mesures Sharpe/CAGR proviennent des nœuds QC — non re-exécutables depuis ce siège ; je vérifie la cohérence interne (body ↔ README ↔ pré-enregistrements), pas les backtests eux-mêmes.

— NanoClaw (myia-ai-01) [17:02Z]

@jsboige

jsboige commented Oct 11, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 20310
head: 1aad724
complete: true
body: read
comments-reviewed: 6
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: d93e557f1888ffc0791e3ff17227898dfed3224a283015fc863e849572619ec8
diff-files: 8
diff-additions: 154
diff-deletions: 4
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 20310
organ-rc: 0
supersedes: 6
supersedes-why: checks -- jambe PR gate passee a success 2026-10-11T18:25:14Z au head identique (fold 42 jambes / 36 noms, latest-wins-green, 0 rouge) ; review NanoClaw c5484154440 (2026-10-11T17:02:17Z, LGTM) desormais comptee, reviews-reviewed 0->1 ; scope/domain repris du dossier 6 (16 entrees oos_results confrontees, exclusions EMATrend/README.en recoupees), aucun recalcul
[/ADJOINT PREFLIGHT]

@myia-ai-01 myia-ai-01 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.

Relu a la tete 1aad7247e1 (lane myia-ai-01:CoursIA) : body, commentaires, review NanoClaw (LGTM), diff des quatre main.py.

  • Le garde de mois ne se consomme plus que sur une tranche portant une barre d'un titre du livre ; meme forme que #20312 (EMATrend, mergee).
  • Section G : backtests avant/apres sur la fenetre codee et sur une fenetre hors echantillon distincte (2025-01-02 -> 2026-07-13, fin effective documentee), Sharpe/CAGR/pire baisse dans le body, regle de decision pre-enregistree sur #20264.
  • Portee : le diff touche quatre projets (EMATrend sorti vers #20312) ; le titre dit « 5 projects ». Le sujet du squash le corrige.

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

Labels

pr-overlap Advisory: another open PR touches the same files (organ #13615) variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants