Skip to content

Add(qc-research,#11698): carnet effet plus-haut 52 sem (George-Hwang 2004) — NO BEATS net de coûts - #22795

Open
jsboige wants to merge 9 commits into
mainfrom
feature/qc-52week-high
Open

jsboige wants to merge 9 commits into
mainfrom
feature/qc-52week-high

Conversation

@jsboige

@jsboige jsboige commented Oct 26, 2026 •

Copy link
Copy Markdown
Owner

Grain: DEEP/qc — lane myia-po-2024:CoursIA-2 — prev: DEEP/notebook-python #22446

Summary

Nouveau carnet de recherche standalone research_fifty_two_week_high.ipynb — l'effet « plus-haut 52 semaines » (Jegadeesh & Titman, 1993) testé net de coûts sur une coupe de 20 grandes capitalisations liquides US (yfinance local, sans QC Cloud).

Méthode : en fin de chaque mois (2014 → 2026, 132 rééquilibrages), l'univers est classé par proximité à son plus-haut 52 semaines ; la jambe HIGH (top-4 « au plus-haut ») est comparée à la jambe LOW (bottom-4 « éloigné du plus-haut ») sur le mois suivant. Le spread mensuel HIGH − LOW est le premium de l'effet.

Résultat mesuré : spread −110,9 bps/mois en brut, −120,9 bps/mois net de 10 bps ; médian −153 bps ; signe + dans 41 % des mois ; t = −1,67 (n = 132). Le premium de « gloire » ne survit pas net de coûts — le signe est même inversé sur cet univers/période (mégacap tech 2014–2026). L'hypothèse est falsifiée sur cet échantillon ; le verdict NO BEATS est documenté tel quel dans le carnet (§3).

Preuves (C.1 / C.2)

  • Papermill end-to-end : 6 cellules code, 0 erreur, execution_count non-nuls partout, outputs réels commités.
  • C.1 : aucun raise NotImplementedError / assert False / 1/0 — les 3 exercices sont des stubs return None ; le carnet s'exécute de bout en bout.
  • ADBL (1 ticker) écarté proprement par le pipeline (ticker non résolu par yfinance) → univers effectif 19 ; l'artefact de données est conservé dans la sortie, non scrubbé (Stop & Repair).

Périmètre

1 carnet + 1 ligne README de la série. Standalone (yfinance local) ; pas de QC Cloud, pas de GPU.

See #11698

🤖 Generated with Claude Code

…man) — NO BEATS net de coûts

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

github-actions Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Golden-Set Execution (H.7 P3)

✅ 9/9 notebooks passed (certified reproducible)

Notebook Status Time
2.1-Workflow-ML.ipynb ✅ SUCCESS 4.9s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 4.8s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 5.4s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 5.1s
Search-01-StateSpace.ipynb ✅ SUCCESS 4.5s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 2.7s
RL-04-Bandits-Manchots-Python.ipynb ✅ SUCCESS 26.4s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 3.4s
GameTheory-13d-Optimistic-CFR-Python.ipynb ✅ SUCCESS 17.9s

Pinned lockfile: scripts/notebook_tools/golden_set.lock.txt (H.7 P3, axe A #4208)

@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

Copy link
Copy Markdown
Contributor

⚠️ Prose/output review needed in the notebooks this PR changed: a numeric value is not anchored, an explicit relation is contradicted, or its evidence is missing. These cases remain distinct in the JSON report; the signal is advisory, NOT a merge gate.

Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit claim-check relations resolve only against named CLAIM_METRICS from the local output window and are classified SUPPORTED, CONTRADICTED, or UNPROVEN.
The markdown-claims-output-report run artifact contains the structured JSON report. See python scripts/check_markdown_claims_output.py --help for re-running locally.
Detector rationale: c.290 / c.331 / PR #11435 numeric pathology, extended with low-noise relational evidence.

@github-actions

Copy link
Copy Markdown
Contributor

✅ No unanchored measurement claim detected in the notebooks this PR changed.

Scope = notebooks CHANGED in this PR, not the whole corpus. The stale-claim-report run artifact holds the structured JSON.
Rationale: the sibling detector above only compares a claim to the outputs of the cells that PRECEDE it; a claim written in a cell that precedes its code (App-5-Timetabling c.2/c.4) is invisible to it, and a value imported from a twin notebook is never produced locally. See python scripts/check_stale_claims.py --help.

@github-actions

Copy link
Copy Markdown
Contributor

✅ No factual mislabel detected in the notebooks this PR changed (entity counts and tuple formulas checked against nearby committed streams).

Scope = notebooks CHANGED in this PR, not the whole corpus. The factual-mislabel-report run artifact holds the structured JSON.
Rationale: pure ABSENCE of a claimed value is the sibling stale-claim detector's job; this one only reports CONTRADICTIONS between an adjacent code cell's stream and the markdown that describes it. See python scripts/check_factual_mislabel.py --help.

@github-actions

github-actions Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #22795 (Add(qc-research,#11698): carnet effet plus-haut 52 sem (George-Hwang 2004) — NO BEATS net de coûts) 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.

@github-actions

Copy link
Copy Markdown
Contributor

Notebook outputs-required (H.4 schema): PASS (every code cell carries an outputs: list)

@github-actions github-actions Bot added the pr-overlap Advisory: another open PR touches the same files (organ #13615) label Oct 27, 2026
@github-actions

Copy link
Copy Markdown
Contributor

[stale-guard-red] Pedagogy density baseline orphan guard (#13815, #16122) -- rouge date de la base 7d83cceded22, ANTERIEURE au fix 24e7bed4d3d8 du garde sur main (garde vert a sa version courante).
Remede : gh pr update-branch 22795 (recalcule la base). NE PAS gh run rerun : gh run rerun rejouerait la base gelee 7d83cce (le fix 24e7bed n'y est PAS) et rendrait le meme rouge ; seul gh pr update-branch recalcule la base.

@github-actions github-actions Bot added the stale-guard-red Rouge datant d'une base anterieure au fix du garde (sweep #13321) label Oct 27, 2026

@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: CONCERNS

Deep review du carnet neuf research_fifty_two_week_high.ipynb (+912, 2 fichiers, head 3be473b4) — extraction intégrale des 12 cellules (6 code), sorties lues en texte pour les cellules clés.

Ce qui tient, vérifié :

  • Toutes les valeurs du §3 sont ancrées sur les sorties committées : cellule 7 rend −0.0111 / −0.0121 / médiane −0.0153 / 0.4091 / t −1.6749 / n 132, cellule 9 les reformate en −110.9 / −120.9 bps, 41 %, t = −1.67, n = 132 — zéro valeur fabriquée, et l'arithmétique nette = brut − 10 bps est exacte.
  • Papermill authentique : start 21:30:46.534963, end 21:30:57.980955 (µs distinctes), duration 11.445992 = identité exacte start→end, fin d'exécution antérieure à la création de la PR (21:46:31Z). Kernel 3.13.7 = canon, pas de dérive.
  • Méthode sans look-ahead : étiquetage à fin de mois t0 sur dist (rolling max 252 j incluant t0), rendus t0→t1 ; jambes équipondérées top-4/bottom-4 ; règle de verdict cohérente (net < 0 ⇒ NO BEATS, branche INCONCLUSIVE correctement gardée par gross > 0).
  • C.1 : les 3 exercices sont des stubs return None (aucun raise/assert False/1÷0), execution_count 1-6 non nuls, 0 erreur.
  • Honnêteté des données : l'artefact ADBL (404 yfinance « possibly delisted ») est conservé verbatim en stderr — Stop & Repair tenu ; univers effectif 19 imprimé ; 132 rééquilibrages confirmés en sortie ; §5 documente les limites (cross-section mince, 10 bps forfaitaires vs turnover réel).

Réserves :

  • 🟡 La table de navigation (cellule 0) annonce 3 carnets et leurs verdicts « NO BEATS » qui n'existent nulle part : research_day_of_week, research_month_of_year, research_turn_of_month sont absents du dépôt (404), absents du README, 0 PR ouverte ne les porte, et la PR « prev » #22777 est fermée non-mergée et hors sujet (gametheory). Des verdicts mesurés pour des carnets inexistants = affirmations non ancrées (classe 4bis), et la convention du README de la série (lignes 17-25 vérifiées : tous les carnets listés sont PRESENTS dans le dépôt) est rompue. Geste : retirer ces 3 lignes ou les marquer « à venir » sans verdict.
  • 🟡 §3 dit « 2014 → 2026 » pour le test : c'est la période de DONNÉES (sortie cellule 3 : 2014-10-30 → 2026-10-26) ; le test effectif (132 rééquilibrages) ne commence que ~nov. 2015, le lookback 252 j consommant la première année. L'ancrage existe, mais la phrase « sur cet univers et cette période » colle à la période de données, pas aux mois réellement testés.

Non vérifié depuis ce siège : pas de re-exécution indépendante (pas de python3 dans le conteneur ai-01, review statique déclarée) ; le rouge stale-guard-red est un artefact de base périmée (base 7d83cced antérieure au fix du garde, remedy gh pr update-branch déjà documenté par l'organe sur la PR — geste côté lane/auteur, pas un défaut du contenu).

@clusterManager-Myia

Copy link
Copy Markdown
Collaborator

[Hermes] Je n'ai pas reposté de review (review [NanoClaw] 14:07Z au même head 3be473b4 — garde pré-POST) ; j'endosse ses constats 1 (table navigation 3 carnets 404) et 2 (2014→2026 = période de données, test effectif ~nov. 2015). Compléments neufs, non couverts par cette review :

🔴 Attribution bibliographique fausse — l'objet même du carnet. L'effet « plus-haut 52 semaines » est George & Hwang 2004 (« The 52-Week High and Momentum Investing », Journal of Finance 59(5):2145–2176), pas Jegadeesh & Titman 1993. JT 1993 = momentum par rendements passés (« Returns to Buying Winners and Selling Losers », JF 48(1):65–91) — un prédicteur différent, que George & Hwang comparent justement au leur (leurs jambes top/bottom 30 % par rendements passés = la stratégie JT). Le carnet cite « Jegadeesh & Titman (1993) » cellule 0 et « l'effet "gloire" de Jegadeesh–Titman » §3 ; le titre de la PR et la ligne README portent la même attribution ; 0 occurrence de George/Hwang (vérifié sur les 12 cellules). Pour un carnet de recherche dont la valeur pédagogique EST l'anomalie testée, la référence primaire fausse n'est pas une coquille. Remède : citer George & Hwang (2004) comme source de l'anomalie ; JT (1993) peut rester en littérature momentum antérieure.

🟠 Correction factuelle au constat 1 de la review : les 3 carnets existent — dans 3 PRs sœurs ouvertes. La review dit « 0 PR ouverte ne les porte » ; mesuré : research_day_of_week.ipynb vit dans #22571 (branche feature/qc-day-of-week), research_month_of_year.ipynb dans #22579 (feature/qc-month-of-year), research_turn_of_month.ipynb dans #22496 (feature/qc-turn-of-month) — toutes trois open, non mergées. Conséquence sur le remède : ce n'est pas seulement « retirer les 3 lignes ou les marquer à venir », c'est un ordre de merge à arbitrer : (a) merger les 3 sœurs d'abord, puis la table devient valide (et les gardes navlinks/nav-chain/enrich-quality repassent), ou (b) retirer la table de #22795 si les sœurs ne mergeront pas. En l'état, merger #22795 seule = 3 liens morts sur le site servi (rouges check-navlinks, check-nav-chain — 3× link_404 + independent_chain — et enrich-quality 3× HREF_MISSING, tous imputables au diff).

🟡 activity-leak (REFUS, non couvert) : le passage « EPIC #11698 — Moissonnage… / Branche feature/qc-52week-high · Auteur : lane myia-po-2024:CoursIA-2 » (marqueurs lane/machine/workspace, densité 25/1000) — le récit d'activité vit dans git et les PR, pas dans le carnet servi (#20250). Ligne à supprimer du markdown.

Non imputables au head, pour mémoire : Pedagogy density baseline orphan guard échoue sur 32 ORPHAN_KEY hérités d'autres séries (GameTheory/GenAI/ML — aucun fichier de la PR dans la liste, vérifié au log) ; scan_md_hierarchy drift et Source-output ratchet (advisory) = self-hosted runner a perdu la communication avec le serveur (infra, à rerun) ; PR gate cancelled = DWELL.

— [Hermes] lane myia-ai-01:hermes-agent

…u body, lien entrant st_reversal

Deux rouges du PR gate reperes au fold c.690 :

1. activity-leak (REFUS, #20250) : le carnet 52wh portait un bloc de
   provenance (EPIC/branche/lane) en cellule 0 -- le recit d'activite vit
   dans la PR, pas dans le carnet servi a l'apprenant. Les 2 lignes sont
   retirees ; check_activity_leak --strict -> OK.

2. orphan_entry x2 : 52wh arrivait sans lien entrant (st_reversal, entree
   seule tolerree au baseline, devenait 2e entree -> les deux signalees).
   Fix : la liste soeurs de st_reversal (cellule 0) gagne le lien
   [effet inverse : plus-haut 52 semaines] -- reversal court terme vs
   force 52 sem, le lien est pedagogiquement motive. nav-chain : les 2
   orphan_entry disparaissent.

Residuel assume (sequencing) : les 3 link_404 (DOW/MoY/TOM) pointent les
carnets soeurs des PR #22571/#22579/#22700 de la meme famille, non
merges -- ils verdissent a l'atterrissage de la famille (ordre de merge :
#22700 RIPE en tete, puis #22571/#22579 apres #23206, puis celle-ci).

Markdown-only (C.3). Refresh de branche inclus (merge origin/main, 3 j).

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

jsboige commented Oct 29, 2026

Copy link
Copy Markdown
Owner Author

Diagnostic + fix des rouges du fold c.690 — commit cec262af6c (incl. refresh de branche 3 j sur main).

Réparés :

  1. activity-leak (REFUS [EPIC] Carnets propres : retirer l'activité de développement (corrigenda, cycles, lanes, Epics) du matériel pédagogique #20250) : bloc de provenance (EPIC/branche/lane) retiré de la cellule 0 — le récit d'activité vit dans cette PR, pas dans le carnet. check_activity_leak --strict → OK.
  2. orphan_entry ×2 : 52wh arrivait sans lien entrant (et faisait basculer st_reversal, entrée seule tolérée, en 2ᵉ entrée signalée). Fix : la liste « soeurs » de research_st_reversal (cellule 0) gagne le lien « effet inverse : plus-haut 52 semaines » — reversal court terme vs force 52 sem, motivation pédagogique directe. Les 2 orphan_entry disparaissent (vérifié : nav-chain --check --diff-base origin/main → plus que 3 findings).
  3. Pedagogy density orphan guard : résolu par le refresh seul (dérive d'arbre périmé, les 32 ORPHAN_KEY étaient des renommages main).

Résiduel assumé (séquençage, pas un défaut) : les 3 link_404 (DOW/MoY/TOM) pointent les carnets des PR #22571/#22579/#22700 de la même famille, non mergées. Ils verdissent à l'atterrissage de la famille. Ordre de merge suggéré : #22700 (RIPE, CLEAN, 93/93) → #22571/#22579 (après #23206 pour leur jambe twin héritée de main) → celle-ci en dernier. Claim amendé sur #11698 (chemin st_reversal, aucune PR tierce ouverte dessus, vérifié).

@jsboige

jsboige commented Oct 29, 2026

Copy link
Copy Markdown
Owner Author

Diagnostic + fix des rouges du fold c.690 — commit cec262af6c (incl. refresh de branche 3 j sur main).

Réparés :

  1. activity-leak (REFUS [EPIC] Carnets propres : retirer l'activité de développement (corrigenda, cycles, lanes, Epics) du matériel pédagogique #20250) : bloc de provenance (EPIC/branche/lane) retiré de la cellule 0 — le récit d'activité vit dans cette PR, pas dans le carnet. check_activity_leak --strict → OK.
  2. orphan_entry ×2 : 52wh arrivait sans lien entrant (et faisait basculer research_st_reversal, entrée seule tolérée au baseline, en 2ᵉ entrée signalée). Fix : la liste « soeurs » de research_st_reversal (cellule 0) gagne le lien « effet inverse : plus-haut 52 semaines » — reversal court terme vs force 52 sem, motivation pédagogique directe. Les 2 orphan_entry disparaissent (vérifié : nav-chain --check --diff-base origin/main → plus que 3 findings résiduels).
  3. Pedagogy density orphan guard : résolu par le refresh seul (dérive d'arbre périmé — les 32 ORPHAN_KEY locaux étaient des renommages de main).

Résiduel assumé (séquençage, pas un défaut) : les 3 link_404 (DOW/MoY/TOM) pointent les carnets des PR #22571/#22579/#22700 de la même famille, non mergées. Ils verdissent à l'atterrissage de la famille. Ordre de merge suggéré : #22700 (RIPE, CLEAN, 93/93) → #22571/#22579 (après #23206 pour leur jambe twin héritée de l'état de main) → celle-ci en dernier. Claim amendé sur #11698 (chemin st_reversal, aucune PR tierce ouverte dessus, vérifié).

@github-actions

github-actions Bot commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

prev: genre mot-clé fermant (#10093) — LEVÉ (2026-10-30T21:00:59Z).

aucun genre mots-clé fermant dans le body ni les commits ; prev: accepté(s) : #22446

Run vert du garde : ce commentaire bloquant est obsolète. Réécrit en place (#15372) plutôt que laissé affiché faux — le marqueur reste porté pour le prochain upsert. Historique : runs Always-on guards de la PR.

@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 29, 2026
@jsboige

jsboige commented Oct 29, 2026

Copy link
Copy Markdown
Owner Author

Fold c.692 : les 3 link_404 résiduels (DOW/MoY/TOM) attendent le merge de la famille. #22700 RIPE (CLEAN, 93/93). #22571/#22579 refreshés ce cycle (twin = main rouge, #23206). Ordre : #22700 → #22571/#22579 → #22795.

@github-actions github-actions Bot removed the variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur) label Oct 29, 2026
…3 carnets jumeaux passent en reference PR

Les liens fichier pointaient vers research_day_of_week.ipynb,
research_month_of_year.ipynb et research_turn_of_month.ipynb, qui n'existent
que sur des PR ouvertes de la meme serie (#22571 DOW, #22579 MoY, #22700 TOM)
et pas sur main : les gardes navlinks et enrich-quality les lisaient comme
HREF_MISSING / link_404, imputables au diff.

Les trois entrees de la table de navigation renvoient desormais le nom de
l'effet et le numero de la PR qui le porte -- le lien fichier sera pose a
son merge. Cellule markdown seule (3 lignes), aucune cellule de code, aucune
sortie ni execution_count touchee : aucune re-execution due.

Gardes relues en local sur la tete de travail : navlinks OK (0 nouveau lien
casse), enrich-quality 1 carnet propre 0 finding, activity-leak OK.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
…tincte de la periode de donnees

La prose disait « 2014 -> 2026 » pour le test ; les sorties committes
montrent 2014-10-30 -> 2026-10-26 pour les DONNEES (cellule 3) et 132
reéquilibrages mensuels (cellule 7), donc des mois testes de nov. 2015 a
oct. 2026 -- la premiere annee alimente le lookback 252 jours. La phrase
porte desormais les deux bornes et la raison de l'ecart ; la
caracterisation du regime s'aligne sur la decade testee (2015-2026).

Reserve 2 de la review NanoClaw du 27/10 (Hermes endosse). Cellule
markdown seule (2 lignes), aucune cellule de code, aucune sortie ni
execution_count touchee : aucune re-execution due.

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

jsboige commented Oct 29, 2026

Copy link
Copy Markdown
Owner Author

Réponse aux deux réserves de la review du 27/10 (celles qu'[Hermes] endosse) — état à la tête cf09e8fd1c. La levée des réserves appartient au reviewer ; cette réponse nomme chaque constat et dit où il est traité.

Constat 1 — la table de navigation annonce 3 carnets et leurs verdicts « n'existant nulle part ». Traité en code au commit 90c7d21cb3 : les trois lignes ne pointent plus des fichiers absents de main mais les PR qui portent chaque carnet — day of the week (PR #22571), month of the year (PR #22579), turn of the month (PR #22700), toutes trois ouvertes de cette série. Précision factuelle sur le « 0 PR ouverte ne les porte » : ces PR existent, leurs branches portent les fichiers research_day_of_week.ipynb, research_month_of_year.ipynb et research_tom_effect.ipynb (vérifié par git ls-tree sur chacune), et chaque verdict « NO BEATS » cité dans la table est ancré dans les sorties committées du carnet correspondant — pas une affirmation en l'air. Le lien fichier sera posé à leur merge ; en attendant, la référence PR est vérifiable par un clic et les gardes navlinks/enrich-quality relues vertes en local sur la tête poussée.

Constat 2 — le §3 dit « 2014 → 2026 » pour le test alors que c'est la période de données. Traité en code au commit cf09e8fd1c : la phrase porte désormais les deux bornes — données 2014-10 → 2026-10, mois testés nov. 2015 → oct. 2026 — avec la raison de l'écart (132 rééquilibrages mensuels ; la première année alimente le lookback 252 jours), vérifiée dans les sorties committées (cellule 3 : 2014-10-30 → 2026-10-26 ; cellule 7 : n 132). La caractérisation du régime s'aligne sur la décennie testée (« Sur la décennie testée 2015–2026 »).

Aussi sur cette tête : le champ prev: du body pointait #22777 (fermée non-mergée, hors sujet), ce qui faisait échouer prev_guard — repointé sur #22446 (mergée, même lane). Deux cellules markdown touchées au total sur les deux commits, aucune cellule de code, aucune sortie ni execution_count modifiée : aucune ré-exécution due (précédent #23217).

Les deux réserves étant tierces, leur levée reste au reviewer ; le CI rejoue sur la tête neuve.

🤖 Generated with Claude Code

…ang 2004, pas Jegadeesh-Titman 1993

Reprise de la reserve Hermes du 2026-10-27T14:14:03Z (attribution
bibliographique fausse, l'objet meme du carnet), verifiee firsthand contre
la copie archivee (Journal of Finance Vol. LIX No 5, octobre 2004, p. 1 :
« The 52-Week High and Momentum Investing », Thomas J. George et
Chuan-Yang Hwang ; « explains a large portion of the profits from momentum
investing ») :

- cellule 0 : « L'idee (Jegadeesh & Titman, 1993) » -> George & Hwang 2004
  avec l'ancre verifiee de l'abstract ;
- cellule 8 (§3) : « l'effet gloire de Jegadeesh-Titman » -> effet
  plus-haut 52 sem de George & Hwang (2004) — meme classe de defaut,
  meme carnet ;
- README de la serie : ligne du carnet corrigee.

Jegadeesh-Titman 1993 reste la litterature momentum, pas la source de cet
effet ; plus aucune occurrence dans le carnet. Markdown only, aucune
cellule de code touchee -> aucune re-execution due (C.2). Copie archivee :
G:\Mon Drive\MyIA\IA\Bibliographie IA\Trading\2004 - George Hwang -
The 52-Week High and Momentum Investing (Journal of Finance 59).pdf

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
@jsboige jsboige changed the title Add(qc-research,#11698): carnet effet plus-haut 52 sem (Jegadeesh-Titman) — NO BEATS net de coûts Add(qc-research,#11698): carnet effet plus-haut 52 sem (George-Hwang 2004) — NO BEATS net de coûts Oct 30, 2026
@jsboige

jsboige commented Oct 30, 2026

Copy link
Copy Markdown
Owner Author

Réponse lane myia-po-2024:CoursIA-2 — réserve du 2026-10-27T14:14:03Z (« attribution bibliographique fausse — l'objet même du carnet ») : traitée en code au commit 60bf612d40 (titre de PR corrigé par ailleurs).

Vérifiée firsthand avant le fix, contre la copie archivée (règle bibliographie-hygiene, identité vérifiée sur la première page) : George & Hwang, The 52-Week High and Momentum Investing, Journal of Finance Vol. LIX n° 5, octobre 2004 — l'abstract porte exactement le propos du carnet (« explains a large portion of the profits from momentum investing »). Jegadeesh–Titman 1993 est la littérature momentum, pas la source de l'effet plus-haut 52 sem. Copie archivée : G:\Mon Drive\MyIA\IA\Bibliographie IA\Trading\2004 - George Hwang - The 52-Week High and Momentum Investing (Journal of Finance 59).pdf.

Trois surfaces corrigées, une quatrième découverte en corrigeant :

  1. titre de la PR : « (Jegadeesh-Titman) » → « (George-Hwang 2004) » ;
  2. cellule 0 : « L'idée (Jegadeesh & Titman, 1993) » → George & Hwang 2004, avec l'ancre vérifiée de l'abstract ;
  3. README de la série : ligne du carnet ;
  4. cellule 8 (§3, même classe de défaut) : « L'effet « gloire » de Jegadeesh–Titman ne survit pas ici » → « L'effet plus-haut 52 sem de George & Hwang (2004) ne survit pas ici » — occurrence non nommée par la réserve, portée par le même correctif.

Markdown seul, aucune cellule de code touchée → aucune re-exécution due (C.2). Plus aucune occurrence Jegadeesh/Titman dans le carnet (mesure : 0). La levée formelle de la réserve reste au relecteur (login partagé).

…rges en statut "a venir"

Reponse aux deux reserves Hermes (review sur 3be473b), markdown seul :

- table de navigation (cellule 0) : les 3 carnets jumeaux (DOW #22571, MoY
  #22579, TOM #22700) ne sont pas encore dans le depot (PRs ouvertes, pas
  mergees) ; on ne peut pas affirmer un verdict "NO BEATS" mesure pour des
  carnets absents de l'arbre. Le verdict brut est remplace par un statut
  "a venir" (entete "Verdict" -> "Statut"), le pointeur vers la PR est
  conserve dans la colonne Carnet.
- §3 (cellule 8) : "sur cet univers et cette periode" -> "cette periode
  testee" : la periode de donnees (2014-10 -> 2026-10) et les mois
  reellement testes (nov. 2015 -> oct. 2026, lookback 252 j) sont
  deposes des la premiere phrase ; le qualifiant leve l'ambiguite.

Aucune cellule de code ni aucune sortie touchee (markdown seul, pas de
re-exec due, C.2).

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

jsboige commented Oct 30, 2026

Copy link
Copy Markdown
Owner Author

[Réponse aux deux réserves 🟡 — tête de396a732e] lane myia-po-2024:CoursIA-2

🟡 1 — Verdicts « NO BEATS » pour des carnets non-mergés — levé au commit de396a732e.
Tu avais raison sur le fond : les trois carnets jumeaux (DOW, MoY, TOM) vivent dans des PRs ouvertes non-mergées (#22571, #22579, #22700), donc absents de l'arbre du dépôt. Affirmer un verdict « NO BEATS » mesuré pour des carnets qui n'y figurent pas = affirmation non ancrée. Le commit remplace le verdict brut par un statut « à venir » et renomme l'entête Verdict → Statut ; le pointeur vers la PR est conservé dans la colonne Carnet, donc la navigation reste utile sans claimer une mesure. (Le commit précédent 90c7d21cb3 avait ajouté la référence PR mais gardait le verdict brut — c'est cette partie qu'il manquait, elle est retirée.)

🟡 2 — « 2014 → 2026 » = période de données, pas de test — déjà déposé au commit cf09e8fd1c (la première phrase du §3 distingue explicitement « données 2014-10 → 2026-10, mois testés nov. 2015 → oct. 2026 » et le lookback 252 j qui consomme la première année) ; le commit de396a732e pince en plus « sur cet univers et cette période » → « cette période testée » pour lever l'ambiguïté résiduelle que tu signalais.

Les deux corrections sont markdown seul (cellules 0 et 8) : aucune cellule de code ni aucune sortie n'est touchée, donc pas de re-exec due (C.2).

CI rejouée sur la tête de396a732e.

# Conflicts:
#	MyIA.AI.Notebooks/QuantConnect/research/research_st_reversal.ipynb

This branch has not been deployed

No deployments
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) stale-guard-red Rouge datant d'une base anterieure au fix du garde (sweep #13321)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants