Repository navigation
feat(qc,#16239): QC-Py-14b — liquidité et coûts d'exécution (proxys, capacité, stress COVID réel) - #17753
Conversation
…capacité, stress COVID réel) Nouveau notebook de série (accrétion `b`) : quatre proxys de liquidité mesurés sur 12 titres (2022-2024), test falsifiable liquidité != volatilité, coût d'exécution (demi-écart + loi racine) traduit en capacité en dollars, et stress sur la fenêtre réelle février -> mars 2020 (volume x1,49, écart x3,41, capacité médiane 0,101). Exécuté localement (yfinance, kernel python3) : 10/10 cellules, 0 erreur, 4 figures. Nav recâblée 13 -> 14 -> 14b -> 15 -> 16. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
MD hierarchy drift -- e1a2d3aCette PR augmente le compte de defauts de rendu markdown Corriger (ex. |
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
Golden-Set Execution (H.7 P3)✅ 8/8 notebooks passed (certified reproducible)
Pinned lockfile: |
|
Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
clusterManager-Myia
left a comment
There was a problem hiding this comment.
VERDICT: LGTM
[Hermes] — CoursIA #17753, head e1a2d3a1 — review P4 (1596 lignes, 3 fichiers). Lecture complète du notebook (FULL READ), pas diff-only.
Vérifié (preuves ré-exécutées, pas lues) :
- Science re-exécutée localement : formule Corwin-Schultz conforme au papier 2012 (beta/gamma/k=3−2√2/alpha, clip + rolling 21 — comportement négatif sur fenêtres volatiles correctement clippé, standard) ; loi racine
demi-écart + k·σ·√p + fraisavec k=0.5 reproduit le tableau committé (SPY 1.2/1.6/2.8/6.6 bp vs committé 1.2/1.6/2.7/6.5 — frontière d'arrondi, valeurs en bp) ;participation_max = ((B−d−f)/(k·σ))²redonne la capacité SPY à ±0.8 % près (4076 vs 4108 M$, écart = arrondi de σ_journalier) ; drag 35 bp / 2.99 ans = 11.7 → « 12 bp/an » ✓ ; facteur AAPL/T 558.1/40.7 = 13.7 ✓. - Gates #17040 programmatiques : 12/12 valeurs chiffrées du body présentes verbatim dans les outputs committés (+0.82, 40.7, 558.1, 13.7, 0.59, ×1.49, ×3.41, 0.101, 7.51, 7.38, 1.8) ; exec_counts 1..10 séquentiels, aucun null ; une seule lecture markdown après chaque cellule de code, structure code→lecture respectée sur les 10 blocs ; zéro header dupliqué après dénumérotation ; zéro prose empilée ; exercices = stubs TODO étudiants, section « Attendus » = guidance sans réciter la solution.
- Périmètre : README/catalogue byte-identiques à main (correct — appartient à
catalog-pr-hygiene) ; voisins QC-Py-14/-15 touchés d'une ligne chacun (recâblage nav accrétion 13→14→14b→15→16, conforme au motif 06b/12b/23b/28b) ; scan secrets sur le diff : néant. - Honnêteté du socle : §9 pose l'ancre de calibrage (0.5 bp) comme hypothèse, univers survivant ex post, un seul épisode de stress — les limites sont écrites dans le notebook, pas seulement dans le body.
Un point mineur (non bloquant, éditorial) : deux sections portent le numéro « ## 3. » (« Mesure » puis « Le test falsifiable ») — la numérotation suivante (4..9) est donc décalée d'un cran. Les renvois internes (« partie 5 », « partie 3 ») restent résolvables, mais un futur renvoi à « partie 3 » sera ambigu. À corriger dans une passe éditoriale, pas dans cette PR.
Fond solide, exécution réelle, frontières nommées. APPROVE explicite après checklist (sécurité ✓, cross-repo néant, notebooks ✓ full read, pas une PR fix/incident).
[Hermes hermes-pr-review, cycle :05 25/09, host f6be46d1b7a3]
…que) Comme les precedents modules b (06b, 12b, 23b, 28b) : ligne de statut (EXECUTE, preuve locale) + ligne de nav thematique en Phase 3. Aucun total mis a jour a la main — CATALOG-STATUS et catalogue genere restent byte-identiques a main (regeneration par l'automatisation). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
MD hierarchy drift -- d646e2eCette PR augmente le compte de defauts de rendu markdown Corriger (ex. |
1 similar comment
MD hierarchy drift -- d646e2eCette PR augmente le compte de defauts de rendu markdown Corriger (ex. |
prose-counts (strict, #9377) refuse « 10/10 cellules code » dans le detail de la ligne de statut : les comptes sont tenus par le CI, pas par la prose. Mesure retiree, predicat garde (cellules executees, figures commitees). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
MD hierarchy drift -- a92b9edCette PR augmente le compte de defauts de rendu markdown Corriger (ex. |
…te prose-counts) Le workflow prose-counts refusait la PR : 15 compteurs quantitatifs en prose dans Tweety/README.md, tous sur des lignes ajoutees par la tranche D (reproduit localement : check_prose_quantitative_claims.py --diff origin/main...HEAD --strict, rc=1). Correction conforme a la prescription de l'organe (#9377 : supprimer la mesure, garder le predicat) : - comptes d'etat du depot retires du corps (« 36 notebooks principaux », « 18 notebooks », « 12 fichiers », « 6 modules ») ; - deltas historiques du changelog reformules en forme nom-d'abord (« notebooks principaux 33 -> 34 », « lignes 31 -> 33 ») : le fait historique reste, la forme perissable part ; - « (+1 ligne 2e) » -> « (+ entree 2e) ». Le rouge avait d'abord ete attribue a tort a la base par le picker (« ROUGE IMPUTE A LA BASE, tache COORDINATEUR ») ; la lecture du corps du job + le temoin de controle (PR #17753 verte sur le meme check a 06:19:33Z) etablissent qu'il etait propre a cette PR. See #15066, See #9377. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
There was a problem hiding this comment.
VERDICT: LGTM (contrainte token : COMMENT only)
[Hermes hermes-pr-review] — Notebook FULL READ au head a92b9ed494 (34 cellules, 10 code, toutes executees, 0 null exec, 4 figures PNG reelles [image/png ~33-52KB]).
Gates #17040
- 6 lectures, toutes placees immediatement APRES leur code cell (5/8/11/14/17/20) ;
- 10 claims du body verifies verbatim dans les outputs : correlation
+0.82, capacite40.7 vs 558.1(facteur13.7), CAGR7.51/7.38, drag12 bp/an, stress ADVx1.49, ecartx3.41, capacite mediane0.101— tous retrouves dans les streams committes ; - 3 exercices avec stubs
# TODO etudiant, pas de solution leak.
Substance
- Quatre proxys mesures (ADV$, Amihud, Corwin-Schultz, jours sans rendement) sur 12 titres 2022-2024, univers heterogene assumé (ETF + mega + mid + titres agites, pas de biais de survie intragroupe declare) ;
- Test falsifiable : correlation de rang illiquidite/volatilite +0.82, 1 titre hors diagonale (T) — le notebook enonce lui-meme la portee (refutation bornee, test faible en z-scores) ;
- Traduction en dollars : appariement par volatilite AAPL/T (1.8 pt d'ecart) → capacites 40.7 vs 558.1 M$, facteur 13.7 ;
- Stress COVID reel (fev-mar 2020) : ADV median monte x1.49 (10/12) pendant que l'ecart triple (x3.41) et la capacite mediane tombe a 0.101 — 12/12 en contraction ;
- Portefeuille equipondere mensuel a 50 M$ : CAGR brut 7.51% / net 7.38%, drag 12 bp/an.
README (+2/-0) : ligne QC-Py-14b substantielle (statut EXECUTE, resume, lien) — conforme README-TOTALS #17633. Les deux autres fichiers (+1/-1) sont des liens de navigation dans QC-Py-14 et QC-Py-15.
Securite : 0 hit.
Bloquant : aucun. LGTM de substance.
Marker cycle: hermes-pr-review 25/09 09:00Z
[Hermes hermes-pr-review, cycle :08 25/09, host f6be46d1b7a3]
Path-collision (organ #13359/#13615)Cette PR #17753 (
|
…LK (Tweety-02e) (#17757) * Add(notebooks,#15066): tranche D — atelier calculs de preuve Hilbert/LK (Tweety-02e) Tweety-02e-Preuves-Hilbert-Gentzen-Lean : la même micro-théorie {p, q, r} calculée par trois moteurs, avec les mesures qui les séparent. - Hilbert : les trois axiomes vérifiés par deux oracles réels, une preuve construite par chaînage avant (coût en instances/MP), plus une contre-expérience qui réfute par la mesure l'hypothèse d'un vivier simplement trop étroit. - LK : hauteur et taille d'un arbre de dérivation mesurées avant/après élimination des coupures — identité 0/1, coupure 2/4, après Hauptsatz 6/7. Résultat honnête : le théorème garantit la suppression des coupures, jamais l'économie de l'arbre. - Le Hauptsatz est invoqué comme théorème du noyau (Derivation.Canonical.constructiveHauptsatz, témoin IsCutFree), et #print axioms nomme [propext, Classical.choice, Quot.sound]. Le versant Lean vit dans le notebook : les fichiers d'index du lake formal_logic_lean sont sous claim actif d'une autre lane (mesuré, cf. body). README.md : audit fichier-entier (§E) — recensement unifié (38 fichiers = 37 racine + 1 probe ; 1165 cellules dont 438 code), Tweety-02d entre dans les tables, résidus déclarés plutôt qu'inventés. Ré-exécution réelle par batch_reexecute.py : SUCCESS 1038 s, 13/13 cellules exécutées, 0 sortie vide, 0 erreur ; sorties Lean réelles ([exit 0]). Seule normalisation : metadata.papermill.*_path ramené au basename. See #15066 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * fix(readme,#15066): retirer les compteurs d'artefacts de la prose (gate prose-counts) Le workflow prose-counts refusait la PR : 15 compteurs quantitatifs en prose dans Tweety/README.md, tous sur des lignes ajoutees par la tranche D (reproduit localement : check_prose_quantitative_claims.py --diff origin/main...HEAD --strict, rc=1). Correction conforme a la prescription de l'organe (#9377 : supprimer la mesure, garder le predicat) : - comptes d'etat du depot retires du corps (« 36 notebooks principaux », « 18 notebooks », « 12 fichiers », « 6 modules ») ; - deltas historiques du changelog reformules en forme nom-d'abord (« notebooks principaux 33 -> 34 », « lignes 31 -> 33 ») : le fait historique reste, la forme perissable part ; - « (+1 ligne 2e) » -> « (+ entree 2e) ». Le rouge avait d'abord ete attribue a tort a la base par le picker (« ROUGE IMPUTE A LA BASE, tache COORDINATEUR ») ; la lecture du corps du job + le temoin de controle (PR #17753 verte sur le meme check a 06:19:33Z) etablissent qu'il etait propre a cette PR. See #15066, See #9377. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
|
[ADJOINT PREFLIGHT] Re-stamp secretaire c.140 -- tiers au titulaire (Tell c.111 strict). NO-DOSSIER -> READY. PR gate SUCCESS, B.0 rc=0 OK. Lane secretaire myia-po-2026:CoursIA-3. |
Grain: DEEP/notebook-python — lane myia-po-2023:CoursIA — prev: DEEP/notebook-python #17579
Summary
Tranche « risque de liquidité et coûts d'exécution » de #16239 — ligne 4 de la matrice de couverture (« Mesures de liquidité et incidence sur exécution / sizing à rendre explicites »), livrée en notebook de série :
QC-Py-14b-Liquidity-Execution-Costs.ipynb(34 cellules, 10 cellules de code exécutées localement, 4 figures, 3 exercices).Sujet.
QC-Py-14construit un portefeuille sous deux hypothèses implicites — exécution à un prix unique, taille sans effet ; 14b les chiffre.k·σ·√participation+ frais ; capacité par titre (contraignant : CVNA, 0,59 M$) ; portefeuille équipondéré mensuel à 50 M$ → CAGR brut 7,51 % / net 7,38 %, drag 12 bp/an ;Preuves
notebook_tools.py execute, kernelpython3)execution_count1..10, 0 erreur, 4 figures committées (C.2)validate_pr_notebooks.py origin/main <nb>check_null_exec.py(H.3)null+outputsvidecheck_cell_source_parses.pycheck_notebook_nav_chain.py --checkscrub_papermill_paths.py --applyNav recâblée par accrétion (
b, comme 06b/12b/23b/28b) : 13 → 14 → 14b → 15 → 16.README (
Python/README.md, commitd646e2e526) : ligne de statut + ligne de nav thématique en Phase 3, comme chaque modulebprécédent. Aucun total mis à jour à la main —CATALOG-STATUSetCOURSE_CATALOG.generated.*restent byte-identiques àmain(l'inscription catalogue appartient à la régénération automatisée, règle 1catalog-pr-hygiene).Ce que la PR ne fait pas (et qui est nommé)
CATALOG-STATUSetCOURSE_CATALOG.generated.*restent byte-identiques àmain— l'inscription d'un nouveau notebook appartient à l'automatisation (catalog-pr-hygienerègle 1) ;VolumeShareSlippageModel, filtre d'universDollarVolume) et dit explicitement ce qu'il ne modélise pas (l'impact de marché). Les chiffres committés sont mesurés localement, pas simulés par QC — le notebook ne revendique aucun run Cloud.Limites (écrites dans le notebook, §9)
Le niveau des écarts est posé par une ancre de calibrage (seuls les ratios entre titres sont mesurés) ; données quotidiennes uniquement (ni carnet, ni VWAP intraday) ; univers survivant choisi ex post ; un seul épisode de stress, non généralisable.
See #16239 — livrable partiel (ligne 4) ; l'EPIC reste ouverte.
🤖 Generated with Claude Code