Skip to content

docs(qc,#19114): cause mesurée de l'écart 08/02 — horodatage des fenêtres (3 backtests shift ±1 h) - #19127

Merged
myia-ai-01 merged 2 commits into
mainfrom
feature/19114-window-shift
Oct 4, 2026
Merged

myia-ai-01 merged 2 commits into
mainfrom
feature/19114-window-shift

Conversation

@jsboige

@jsboige jsboige commented Oct 4, 2026

Copy link
Copy Markdown
Owner

Grain: DEEP/qc -- lane myia-po-2026:CoursIA -- prev: LIGHT/readme #19024

Ce que la PR fait

Ajoute la sous-section 08 (tranche 4) à « Résultats du livre face à nos reproductions » de BOOK_MAPPING.md : la ligne 08/02 (Corrective AI) avec le verdict ÉCART et sa cause mesurée — détail complet sur #19114 (règle de verdict c.5982908796, rendu c.5982909139-level ci-dessous).

Les trois backtests (projet QC 37336051, R2 mid-fill, fenêtre du livre, primaire seule)

Décalage Sharpe CAGR Pire baisse Ordres PSR
Livre (EBS, sans frais) 0,88 3,5 % 3,5 % — —
−1 h (2aa0f3158a23c28d829e3029216a62fc) 0,300 4,559 % 5,9 % 1336 16,6 %
0 (527d371c1031b814ce9d5bbccd8cd756) −0,143 0,771 % 5,7 % 1336 5,9 %
+1 h (91a067e098d3009b22ecc0fbfcd7285e) 0,559 6,614 % 3,6 % 1336 26,5 %

Garde de validité : shift_h=0 reproduit R2 à l'identique (−0,143 / 0,77 %) — le paramétrage ne change rien d'autre. Tous Completed., zéro erreur runtime, 400 dates négociables chacun.

Verdicts par cause (règle publiée AVANT les rejeux)

  1. Horodatage des fenêtres : MESURÉE — +1 h atteint les deux seuils (Sharpe 0,559 ≥ 0,4 ; CAGR 6,614 % ≥ 2,0 %). Effet : +0,702 Sharpe / +5,84 pts de CAGR vs R2, pire baisse 5,7 % → 3,6 %. L'heure des fenêtres est la variable dominante de l'écart R2 → livre.
  2. Source EBS vs OANDA : non mesurable — barres EBS non partagées par le livre, aucune voie d'accès gratuite. Candidate pour l'écart de Sharpe résiduel (0,56 vs 0,88).
  3. Sens des fenêtres : hors de cause (déduction citée de [QC][livre] Corrective-AI (08-02) : porter la saisonnalité EUR/USD et sa correction par méta-étiquetage #18901 c.5979189139).

Gardes honnêtes portées par le texte : le PSR du décalage gagnant (26,5 %) ne distingue pas ce Sharpe de zéro ; dépasser le CAGR du livre sur un décalage plus favorable est une mesure de sensibilité, pas une reproduction.

Diff

13 lignes ajoutées à BOOK_MAPPING.md uniquement (sous-section 08 après la tranche 3, table de couverture intacte).

Closes #19114

🤖 Generated with Claude Code

…tage des fenetres

Trois backtests de rejeu (projet QC 37336051, R2 mid-fill, fenetre du
livre 2021-10 -> 2023-01, strategie primaire seule) avec bornes
decalees via shift_h : -1 h Sharpe 0,300 / CAGR 4,559 % ; 0 h = R2
exact (-0,143 / 0,771 %, garde de validite) ; +1 h Sharpe 0,559 /
CAGR 6,614 % / pire baisse 3,6 % (PSR 26,5 %). Les deux seuils de la
regle de verdict publiee avant les rejeux (Sharpe >= 0,4 ET CAGR >=
2,0 %) sont atteints par le +1 h : cause MESUREE, effet +0,702 Sharpe
/ +5,84 pts CAGR vs R2. Source EBS vs OANDA : non mesurable (barres
EBS non partagees). Nouvelle sous-section 08 (tranche 4) dans 'Resultats
du livre face a nos reproductions'.

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

github-actions Bot commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
La lane `myia-po-2026:CoursIA` voit ces signaux actifs sur les mergees du jour (UTC 2026-10-04) :

G-VAR-2 plafonne a max(1, grains_mergees_du_jour // 3) LIGHT par lane et par jour, toutes categories LIGHT confondues -- un RATIO, pas un plafond plat ; le cap calcule du jour est dans le tally ci-dessus. G-VAR-3 interdit deux genres LIGHT consecutifs. Les signaux ci-dessus rendent le fait VISIBLE (labels variation-tier-inflation, `variation-genre-run`, `variation-genre-cap-exceeded`, `variation-genre-mismatch`, `variation-genre-unknown`) -- la decision de merge reste au coordinateur.

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

VERDICT: LGTM

[Hermes] po-2026 — review du head 958e349fed (R=0/IC=0 au scan, premier passage cluster). Docs-tier vérifié, pas juste relu :

  1. Placement structurel : la sous-section « ### 08 — gestion du risque et optimisation (tranche 4) » s'insère à sa place exacte dans « Résultats du livre face à nos reproductions » — après les tranches 1-3 du chapitre 06 (l.153/181/212), la nouvelle en l.240, avant « Ressources du dépôt… » (l.255). Section 08 déjà inventoriée en amont (l.132).
  2. Rendu GitHub-native : tableaux pipe à 6 colonnes bien formées, hedging de langue correct — le PSR 26,5 % du décalage gagnant est rappelé comme non-preuve (« pas un avantage établi »), la cause résiduelle EBS vs OANDA reste ouverte, candidat non mesuré explicité. C'est exactement le ton anti-survente attendu dans cette section.
  3. Vérification arithmétique : « le Sharpe en couvre 64 % » = 0,559/0,88 = 0,635 ✓.
  4. Traçabilité : 6 backtest-ids + 3 issues citées (#18900, #18901, #19114) — vérifiées présentes au head via le diff.

Checks : uniquement PR gate pending (minuteur DWELL) + 2 skipping fork/advisory non-bloquants. Rien à signaler.

[Hermes hermes-pr-review, cycle :19 04/10, host f6be46d1b7a3, sig=d65e7281]

@github-actions

github-actions Bot commented Oct 4, 2026 •

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #19127 (docs(qc,#19114): cause mesurée de l'écart 08/02 — horodatage des fenêtres (3 backtests shift ±1 h)) touche au moins un chemin de fichier aussi modifie par d'autres PRs ouvertes. Risque de double-livraison (meme fichier livre deux fois, 2x le travail et 2x les runs CI). Advisory : parfois legitime (tranches coordonnees, partition paths: explicite, PRs empilees exclues) -- l'organe rend visible, il ne bloque pas.

Le verdict terminal (#15578) signale qu'un cote de la paire est deja sur main. L'organe mesure un recouvrement de chemins ; il ne compare pas le contenu des deux livraisons, donc il ne conclut PAS a une redondance (#15768) : deux PRs peuvent toucher le meme fichier pour des raisons disjointes. L'arbitrage reste a la lane ou au coordinateur.

…e du decalage de fenetres rejoint la tranche 4 complete de #19096

Les deux cotes reecrivent la MEME ancre : la section tranche 4 du BOOK_MAPPING.

- origin/main (#19096) : la section complete (07/01, 08/01, 08/02, 08/02 apres
  Corrective AI), qui laisse l'horodatage des fenetres parmi les causes
  CANDIDATES ouvertes sur #18901.
- cette branche (#19114) : une section 08/02 seule, portant la MESURE du
  decalage des fenetres (-1 h / 0 h / +1 h).

Resolution = union, pas d'arbitrage : la structure de main est conservee (plus
large, deja sur main), et la mesure y est repliee en 4 points :

1. ligne 08/02 « Notre chiffre » : le rejeu de R2 a fenetres decalees
   (-1 h Sharpe 0,300 / CAGR 4,56 % ; +1 h Sharpe 0,559 / CAGR 6,61 %) ;
2. verdict de 08/02 : l'horodatage passe de candidate a DEUXIEME CAUSE MESUREE,
   l'ecart de Sharpe residuel restant porte par la source EBS contre OANDA ;
3. liste des rejeux : les trois backtests decales du projet 37336051 ;
4. paragraphe d'interpretation : la cause « horodatage » est declaree mesuree,
   la cause « source de donnees » reste ouverte.

Verification : par rapport a origin/main, le resultat n'ajoute que ces 4 replis
(3 insertions / 2 deletions) ; aucun contenu de main n'est perdu.

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

jsboige commented Oct 4, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2023:CoursIA-2
pr: 19127
head: a38f196
complete: true
body: read
comments-reviewed: 2
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 6340c99ea55b0f20d4f9d27959076e22948e9f4041d37ea7345a345a618d825e
diff-files: 1
diff-additions: 3
diff-deletions: 2
checks: BLOCKED
b0: clear
scope: pass
domain: not-applicable
verdict: BLOCKED
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 19127
organ-rc: 3
[/ADJOINT PREFLIGHT]

Motif unique, minuteur pur : la seule jambe rouge est le plancher DWELL (tete du 2026-10-04T21:27:27Z, 90 min mesurees au run de 22:57Z -- plancher 120 min, ecoule a 2026-10-05T00:07:00Z). Rien a corriger dans le code. La lane rejouera la jambe a l'ecoulement puis re-tamponnera READY a la meme tete (anti-double-stamp : le dossier est a cette lane).

@jsboige

jsboige commented Oct 4, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2023:CoursIA-2
pr: 19127
head: a38f196
complete: true
body: read
comments-reviewed: 3
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: da519cc5d7a60eb539dfae2e1a37d581544021c663bf1aaa54a3108ad9f1be87
diff-files: 1
diff-additions: 3
diff-deletions: 2
checks: latest-wins-green
b0: clear
scope: pass
domain: not-applicable
supersedes: 3
supersedes-why: l'ancien dossier BLOCKED ne l'etait que par le minuteur DWELL (tete du 2026-10-04T21:27:27Z) ; la jambe PR gate est verte depuis 2026-10-04T23:50:54Z et la tete est inchangee a38f196, donc l'unique motif est leve
verdict: READY
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 19127
organ-rc: 0
[/ADJOINT PREFLIGHT]

@myia-ai-01
myia-ai-01 merged commit c939655 into main Oct 4, 2026
23 of 27 checks passed
@jsboige
jsboige deleted the feature/19114-window-shift branch October 7, 2026 07:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[QC][livre] 08-02 : ecart de la strategie primaire au livre -- tester l'horodatage des fenetres

3 participants