Skip to content

enrich(qc,#11601): QC-Py-41-PaperTrading-IBKR — densité 1417 → 1598 c/cell (markdown-only, round 2) - #14972

Merged
myia-ai-01 merged 1 commit into
mainfrom
feature/qcpy41-density-11601
Sep 6, 2026
Merged

myia-ai-01 merged 1 commit into
mainfrom
feature/qcpy41-density-11601

Conversation

@jsboige

@jsboige jsboige commented Sep 6, 2026 •

Copy link
Copy Markdown
Owner

Grain: MED/qc — lane myia-po-2026:CoursIA-2 — prev: MED/training #14948

enrich(notebooks,#11601): QC-Py-41-PaperTrading-IBKR — densité 1417 → 1598 c/cell (markdown-only, round 2)

Objet

Complète le round-2 de densité (#11601, seuil ≥1500 c/cell) sur le notebook QC-Py-41-PaperTrading-IBKR, resté à 1417 c/cell après le round-1 (#11228, 608→1415). Enrichissement markdown-only (exception C.2 — aucune re-exécution nécessaire) : les 13 cellules code sont byte-identiques à main (vérifié), aucun output ni execution_count modifié.

Ce qui a été ajouté

  1. Une cellule ### Lecture du guide : le filtre de volatilite en pratique (id 68afdd0e), insérée entre l'exemple guide apply_vol_filter (section 7) et les questions de réflexion. Elle interprète :
    • la fonction pure — sa forme rend le filtre testable sans déploiement (apply_vol_filter({...}, 0.42, {...})) et permet la comparaison honnête avec/sans filtre sur la même fenêtre ;
    • le paramétrage vol_period/vol_threshold/reduction_factor, avec la convention d'annualisation std(daily) * sqrt(252) (0.015 → ≈23.8 %) ;
    • le point pédagogique : le filtre redimensionne l'exposition, ne change pas le signal — et se juge empiriquement contre le MaxDD mesuré 28.1 % (section 3), pas par garantie a priori.
  2. Correction doc-honesté (C.4) : le compteur de caractères du listing LEAN passait de « 3 529 » (obsolète, antérieur à fix(qc,#14583): QC-Py-41 backtest reel QC Cloud -- metriques mesurees + benchmarks alignes #14616) à « 4 209 » (valeur réellement affichée par la cellule code) — un drift de prose laissé par la reprise du backtest réel QC Cloud.

Résolution d'un run consecutive-code-cells

Ce notebook portait un run de cellules code consécutives (l'exemple guide apply_vol_filter suivi de # Question de reflexion, aucune cellule markdown entre elles). La cellule ### Lecture du guide insérée est la résolution prévue par #12797. detect_consecutive_code_cells passe de 1 run ≥ 2 à 0.

Validation (mesurée après le dernier commit)

Check Résultat
Densité pedagogy_density --json 1598 c/cell (seuil round-2 ≥1500 atteint), md_pct 60.7 %
Cellules code byte-identiques vs origin/main 13/13 identiques
detect_consecutive_code_cells 0 run ≥ 2 (était 1)
check_interp_positioning 0 finding
check_notebook_navlinks 0 lien cassé
detect_markdown_rendering 0 violation
Pre-commit H.3 / gitleaks / #13326 Passed (sortie du commit b72e9033b0)

Référence

See #11601 (Epic densité — contribution partielle, l'Epic reste ouverte). Ne clôt pas l'issue.

Note (pré-existante, hors scope de cette PR)

La valeur « 4 209 » est celle affichée par la cellule code ; elle pourrait dériver si l'algorithme LEAN était modifié à nouveau. Signalée ici pour traçabilité, pas corrigée plus avant.

…c/cell (markdown-only, round 2)

Ajoute une cellule markdown "### Lecture du guide : le filtre de volatilite en pratique"
entre l'exemple guide `apply_vol_filter` (section 7) et les questions de reflexion :
interprete la fonction pure, le parametrage vol_period/vol_threshold/reduction_factor et
la convention d'annualisation sqrt(252), puis argue pourquoi le filtre redimensionne
l'exposition (et non le signal) et se juge empiriquement contre le MaxDD mesure 28.1% de
la section 3. Resout le run consecutif code/code du notebook (regle #12797) : le
consecutive-code-cells passe de 1 run a 0.

Corrige ensuite le compteur de caracteres du listing LEAN dans le markdown : "3 529"
(obsolète, avant #14616) -> "4 209" (valeur reelle affichee par la cellule code) — realignement
doc-honnete (C.4) laisse par la reprise du backtest reel QC Cloud.

Markdown-only (exception C.2) : les 13 cellules code sont byte-identiques a main
(verifie), aucun output ni execution_count modifie, aucune re-execution necessaire.

Validation : densite 1598 c/cell (seuil round-2 >=1500 atteint) · detect_consecutive_code_cells
run>=2 = 0 · check_interp_positioning 0 findings · check_notebook_navlinks 0 lien casse ·
detect_markdown_rendering 0 violations. Voir #11601.

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

github-actions Bot commented Sep 6, 2026

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

github-actions Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

prev: genre mots-clé fermant -- bloquant (#10093).

prev: reference(s) fail invariant(s) (prev-not-merged -> [14958]) -> point prev: at a MERGED PR of the same lane, distinct from the current PR. See #13475.

Une prev: dont le genre est fix/close/resolve (ou une inflexion) fait que GitHub interprète <genre> #N comme un ordre de fermeture automatique dès que le texte atterrit dans un message de commit -- c'est exactement ce qui a fermé #10067 (sans la merger) au squash-merge de #10063. Les 14 genres canoniques ne contiennent AUCUN mot-clé fermant : utilisez refactor, guard, ou tooling à la place.

Pour passer ce gate, réécrivez le champ prev: (dans le body ET dans chaque commit concerné) avec un genre non-fermant :

Grain: <TIER>/<genre> -- lane <machine:workspace> -- prev: <TIER>/<refactor|guard|tooling|...> #<PR>

@github-actions

github-actions Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 1
  • Code cells validated: 13
  • Result: All passed

Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns)
Non-Python kernels (.NET/Lean): C.1 + errors only (execution_count advisory)
QuantConnect notebooks: C.1 + errors only (require QC Cloud for execution)

@github-actions

github-actions Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Golden-Set Execution (H.7 P3)

✅ 8/8 notebooks passed (certified reproducible)

Notebook Status Time
2.1-Workflow-ML.ipynb ✅ SUCCESS 12.3s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 12.5s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 15.6s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 14.3s
Search-01-StateSpace.ipynb ✅ SUCCESS 13.2s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 10.0s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 43.8s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 7.6s

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

@myia-ai-01
myia-ai-01 merged commit 19a6158 into main Sep 6, 2026
66 of 68 checks passed
myia-ai-01 pushed a commit that referenced this pull request Sep 9, 2026
…274 -> 1716 c/cell (#15192)

4 lectures markdown ancrees sur les sorties commitees (signatures #check,
multiplicateurs x1.5/x0.75, edge 0.8, cortege kelly_unique, arc exercices
0.51/0.02/1.02). Cellules code byte-identiques, zero re-exec (exception C.2
markdown-only, precedents #15078/#14972/#15189).

See #11601

Co-authored-by: Claude-Code <noreply@anthropic.com>
@jsboige
jsboige deleted the feature/qcpy41-density-11601 branch October 16, 2026 12:16
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.

2 participants