Repository navigation
feat(qc): couvrir le socle RNCP41881 du cours Trading algorithmique #16239
Description
Activity
[DELIVERED] lane myia-po-2026:CoursIA — PR #16263 — critère d'acceptance n° 3 (« Un support exécutable compare Black-Scholes, binomial et Monte-Carlo sur un même dérivé avec mesures de précision et de coût ») : notebook
QC-Py-06b-Derivatives-Valuation-From-Scratch.ipynb(36 cellules, 13/13 code exécutées kernel python3, 12 s, 0 erreur, 3 figures, 4 exercices C.1). Mesures : convergence CRR 1/N oscillante, IC 1/√M avec étalon couvert à chaque échelon, budgets à cible commune (rapport ~141× calculé dans la cellule), put américain (prime d'anticipation 0,5176 = 9,29 %), asiatique arithmétique + variable de contrôle géométrique exacte (gain 35,7×). README série : +2 lignes. Catalogue byte-identique.Les 7 autres critères de l'umbrella (module macro/régimes, protocole de veille, grille de preuves, soutenance…) restent ouverts — autres lanes bienvenues.
[CLAIMED] lane myia-po-2026:CoursIA — 2026-09-15T19:08Z — livrable 3 : protocole de veille RNCP41881 (critère « Un modèle de veille traçable est fourni et utilisé dans le projet collectif »). Grain: MED/docs. -- paths: MyIA.AI.Notebooks/QuantConnect/docs/PROTOCOLE_VEILLE.md, MyIA.AI.Notebooks/QuantConnect/README.md. Preflight : 0 PR ouverte ne couvre le livrable 3 (search veille = #16263 seule, = livrable 2) ; cap LIGHT du jour 1/5 (#16315), R6 docs 0/1. Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com
[DELIVERED] livrable 3 (protocole de veille) — lane myia-po-2026:CoursIA — PR #16324
MyIA.AI.Notebooks/QuantConnect/docs/PROTOCOLE_VEILLE.md: typologie 4 familles + cadences/périmètre borné (8-12 sources, 2x30min/sem), grille qualité binaire CRAAP 5 critères (4/5 requis), double datation publication/consultation, registre modèle 7 colonnes avec statut Intégré/Surveillé/Écarté + ligne exemple, intégration projet collectif (3 synthèses datées, traçabilité inverse, critère individuel soutenance), anti-patterns, codage historique RNCP37437BC01C1.1 conservé.MyIA.AI.Notebooks/QuantConnect/README.md: +1 ligne navigation (audit §E fichier entier : counts CATALOG-STATUS inchangés, navlink résolu contre le disque).
Statut epic : livrable 2 valuation déjà livré (#16263) ; livrables 1 (macro/régimes) et 4 (grille de preuves) restent ouverts.
[CLAIMED] #16239 livrable 1 (module macro/régimes — support exécutable reliant indicateurs avancés/concomitants à une décision d'allocation/risque + exercice appliqué interprété) — lane myia-po-2026:CoursIA — 2026-09-15T19:56Z -- paths: MyIA.AI.Notebooks/QuantConnect/Python/QC-Py-XX-Macro-Regimes-.ipynb (numérotation fixée après inventaire de la série), MyIA.AI.Notebooks/QuantConnect/Python/README.md (ligne navigation)
Forme : notebook QuantBook (exécution via QC Cloud MCP, règle C.2 quantbooks), genre DEEP/qc (précédent livrable 2 = QC-Py-06b, #16263). Préflight : livrables 2 (#16263) et 3 (#16324) livrés, aucun PR ouvert ne touche le livrable 1 (recherche « macro » vérifiée), livrable 4 non couvert.
Grain: DEEP/qc -- lane myia-po-2026:CoursIA -- prev: DEEP/notebook-lean #16326
[DELIVERED] livrable 1 (module macro/régimes) — lane myia-po-2026:CoursIA — PR #16332
MyIA.AI.Notebooks/QuantConnect/Python/QC-Py-28b-Macro-Cycle-Regimes.ipynb(nouveau, 25 cellules)- Support exécutable couvrant les phases macro : moteur local (diagnostic composite borné, médiane, règle tabulée, override STRESS) + twin QC Cloud sans lookahead 2016→2026-09 (backtest
260357cfab1dcbbdf685b7fa08622e2a: Sharpe 0.512, CAGR 9.86 %, MaxDD 15.4 % vs ~34 % SPY seul sur COVID, +173.7 % net). - Indicateurs avancés/concomitants reliés à une décision : taxonomie NBER (registre 10 indicateurs, lags codés) → diagnostic daté → table régime → budget de risque explicite (exposition/vol cible/sizing/stops).
- Exercices appliqués interprétés : 3 exercices C.1 (5e indicateur vol, médiane vs moyenne sous outlier, drawdown évité COVID sur le run réel) + attendus/anti-pièges.
- Codage RNCP37437BC02C2.1 conservé sans normalisation (voir encadré cellule 0).
Restent ouverts : livrables 2 et 4 (livrable 3 livré par docs(qc,#16239): protocole de veille RNCP41881 — registre traçable + grille qualité #16324).
[CLAIMED] #16239 livrable 2 (module valorisation des dérivés) — lane myia-po-2026:CoursIA — 2026-09-16T02:35Z — Grain: DEEP/notebook-python. Livrable :
QC-Py-29-Derivatives-Valuation.ipynb— Black-Scholes, arbre binomial CRR et Monte-Carlo sur le même instrument (call/put européens puis exercise américain), comparaison précision/convergence/flexibilité/coût de calcul, grecques par différences finies, scénario liquidité falsifiable (coût de réplication delta-hedgée vs bid-ask). Préflight : livrable 2 sans claim concurrent (tail lu), QC-Py-29 libre sur origin/main, aucun notebook de valorisation d'options dans le repo. Exécution locale (numpy/scipy), pas d'appel QC Cloud.[DELIVERED] livrable 2 (module valorisation des dérivés) — lane myia-po-2026:CoursIA — PR #16358
QC-Py-29-Derivatives-Valuation.ipynb: Black-Scholes fermé, arbre binomial CRR et Monte-Carlo antithétique sur le même contrat (put/call 6 mois, S0=100, K=105, r=4 %, q=1,5 %, σ=25 %), comparés sur précision / convergence / flexibilité / coût, plus un scénario de liquidité falsifiable.Exécution papermill réelle 199,4 s, 12/12 cellules, 0 erreur. Points saillants mesurés :
- précision : parité put-call à −7,1e-15 (identité sans modèle) ; arbre n=2000 à +7,7e-05 ; MC 2e5 à +0,50 SE ;
- convergence : erreur arbre oscillante déterministe, SE Monte-Carlo divisé par exactement √10 par décade ;
- flexibilité : put américain 9,2914 vs européen 9,1029 (prime d'exercice anticipé +0,1886, croissant avec T : +0,097 → +0,851 de 3 mois à 2 ans) — invisible pour la formule fermée ;
- liquidité (critère RNCP « scénario falsifiable ») : coût médian de réplication delta-hedgée hebdomadaire = 8,8 % de la prime à 1 ¢ de spread, 176 % à 20 ¢, spread crossover mesuré ~0,113 $ (0,11 % du spot) par dichotomie.
Acceptation couverte par ce livrable : « support exécutable comparant BS, binomial et MC sur un même dérivé avec mesures de précision et de coût » ✓ et « risque de liquidité traité par un indicateur/scénario falsifiable » ✓ (le second partagé avec le volet liquidité du module).
Reste sur l'epic : livrable 4 (grille de preuves du projet collectif).
[CLAIMED] livrable 4 (grille de preuves du projet collectif) — lane myia-po-2026:CoursIA — 2026-09-16T03:55Z -- paths: MyIA.AI.Notebooks/QuantConnect/docs/GRILLE_PREUVES.md, MyIA.AI.Notebooks/QuantConnect/README.md (ligne navigation). Grain: MED/docs. Contenu : cadre RNCP37437→RNCP41881 documenté (critère n°1), mapping compétence→artefact précis, exigences minimales du projet (benchmark, coûts/slippage, métriques, OOS/sous-périodes, sensibilité, limites honnêtes), critères de vérification de la contribution et de la compréhension individuelles en soutenance. Preflight : aucune PR ouverte ne couvre le livrable 4 (search "grille preuves"/"RNCP" = #16324 livrable 3, #16263/#16358 livrable 2) ; tail de l'issue lu sans claim concurrent.
Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com
[DELIVERED] livrable 4 (grille de preuves du projet collectif) — lane myia-po-2026:CoursIA — PR #16365 :
docs/GRILLE_PREUVES.md(76 lignes) + ligne navigation README.- Cadre RNCP37437 → RNCP41881 documenté dans le support enseignant (critère n°1) : codes historiques TimeSpice conservés, 3 compétences + volumes horaires.
- Mapping des 5 compétences vers des artefacts précis du groupe (critère livrable 4a) : macro / dérivés / veille / risques-liquidité / restitution — chaque ligne : artefact attendu, ancrage corpus (QC-Py-28b lié sur main ; QC-Py-06b feat(qc,#16239): valorisation de derives — BS vs arbre vs Monte-Carlo sur le meme contrat (QC-Py-06b) #16263, QC-Py-29 Add: QC-Py-29 Derivatives-Valuation — BS/arbre/Monte-Carlo sur un seul contrat (#16239 livrable 2) #16358, PROTOCOLE_VEILLE docs(qc,#16239): protocole de veille RNCP41881 — registre traçable + grille qualité #16324 cités sans lien, en flight), critère de vérification.
- Exigences minimales non négociables du projet (critère n°6) : benchmark même fenêtre, coûts/slippage modélisés, métriques standard + fenêtre précise, OOS/sous-périodes, sensibilité, limites honnêtes.
- Vérification individuelle en soutenance (critère n°7) : répartition membre × artefact avant ; section possédée + compréhension croisée + prédiction du sens d'une variation pendant. Critères publics, barème chiffré au pipeline privé par cohorte (GradeBookApp), garde anti-arbitraire.
- Rendering guard OK ×2, liens résolus contre le disque, garde G-VAR-3 pass (MED/docs, non adjacent), conflit README trivial avec docs(qc,#16239): protocole de veille RNCP41881 — registre traçable + grille qualité #16324 documenté et assumé (même lane).
État de l'epic : les 4 livrables sont livrés (1 : #16332 mergé ; 2 : #16263 + #16358 en flight ; 3 : #16324 en flight ; 4 : #16365). Après merge des PRs en flight, les critères d'acceptation vérifiables côté dépôt sont couverts — l'epic sera close-able par le coordinateur (les critères d'utilisation réelle relèvent du déroulé du cours).
Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com
- added a commit that references this issue
on Sep 21, 2026 Amendement — le critère n° 3 a deux livraisons, une seule fait foi (arbitrage ai-01 du 19/09 19:53Z sur #16263).
Le
[DELIVERED]du 15/09 06:37Z (PR #16263, critère d'acceptance n° 3) est superseded par le[DELIVERED]du 16/09 (PR #16358 / QC-Py-29, mergée le 18/09 06:23Z) : c'est QC-Py-29 qui satisfait le critère n° 3 surmain.#16263 n'est pas un doublon à fermer : requalifiée en complément from-scratch (reconstruction des trois moteurs, put américain, asiatique arithmétique, variables de contrôle — absents de QC-Py-29). Body et ligne README requalifiés en ce sens (head 27f9cec).
Un lecteur de l'umbrella : une seule réponse à la question « qui livre le critère n° 3 » = #16358 ; #16263 = complément.
- added a commit that references this issue
on Sep 21, 2026 - addedcandidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)Referenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)
on Sep 22, 2026 Grain: DEEP/notebook-python — lane myia-po-2023:CoursIA — prev: DEEP/notebook-python #17579
[CLAIMED] lane myia-po-2023:CoursIA — tranche « risque de liquidité et coûts d'exécution » (ligne 4 de la matrice de couverture, non couverte par les livrables 1-4 : « mesures de liquidité et incidence sur exécution/sizing à rendre explicites » ; preuve attendue = slippage, turnover, capacité ou proxy de liquidité, limites et stress documentés, distinct du seul risque de marché) -- paths: MyIA.AI.Notebooks/QuantConnect/Python/QC-Py-14b-Liquidity-Execution-Costs.ipynb, MyIA.AI.Notebooks/QuantConnect/Python/QC-Py-14-Portfolio-Construction-Execution.ipynb, MyIA.AI.Notebooks/QuantConnect/Python/QC-Py-15-Parameter-Optimization.ipynb, MyIA.AI.Notebooks/QuantConnect/Python/README.md
Forme : nouveau notebook de série (numérotation par accrétion, suffixe
bcomme les précédents modules du programme : QC-Py-06b, QC-Py-12b, QC-Py-28b), exécution locale réelle (yfinance, pas d'appel QC Cloud), 3 exercices stubs conformes C.1, outputs committés (C.2).Préflight : les livrables 1 (QC-Py-28b, #16332), 2 (QC-Py-29, #16358), 3 (#16324) et 4 (#16365) sont mergés ; le critère d'acceptance n° 4 (liquidité falsifiable distincte du risque de marché) reste sans artefact dédié — le scénario bid-ask de QC-Py-29 porte le coût de réplication d'une option, pas un proxy de liquidité d'univers (ADV/Amihud/participation). Aucun claim concurrent sur #16239 (vérifié), aucune PR ouverte sur les chemins visés (vérifié avant édition).
[DELIVERED] livrable « risque de liquidité et coûts d'exécution » (ligne 4 de la matrice) — lane myia-po-2023:CoursIA — PR #17753 :
QC-Py-14b-Liquidity-Execution-Costs.ipynb(nouveau notebook de série) + nav13 → 14 → 14b → 15 → 16.Ce qui couvre le critère d'acceptation n° 4 (un indicateur de liquidité falsifiable, distinct du seul risque de marché) :
Élément Mesure committée Quatre proxys de liquidité sur 12 titres (2022-2024, 753 séances) ADV $, Amihud, écart de Corwin-Schultz, jours sans rendement + matrice de corrélation Test falsifiable liquidité ≠ volatilité corrélation de rang +0,82, 1 titre hors diagonale (T — illiquide sans être volatil) ; portée de la réfutation énoncée dans le notebook Traduction en dollars (réfutation décisive) appariement par volatilité < 3 points → AAPL/T (1,8 pt d'écart) : capacités 40,7 M$ contre 558,1 M$ (facteur 13,7) Capacité et coût d'exécution demi-écart + loi racine k·σ·√participation+ frais ; titre contraignant CVNA (0,59 M$) ; portefeuille équipondéré mensuel 50 M$ : CAGR brut 7,51 % / net 7,38 %, drag 12 bp/anStress documenté février → mars 2020 (réel) : ADV médian ×1,49 (10/12 en hausse), écart ×3,41, capacité médiane 0,101 (12/12 en contraction) Preuves : exécution locale réelle (
notebook_tools.py execute, kernelpython3) — 10/10 cellulesexecution_count1..10, 0 erreur, 4 figures committées ;validate_pr_notebooks.py origin/main→ 1/1 passed ;check_null_exec.pyOK ;check_notebook_nav_chain.py --check→ 0 NEW finding.Distinction avec les livrables 1-4 : le scénario bid-ask de QC-Py-29 (#16358) porte le coût de réplication d'un contrat ; ce livrable porte la liquidité d'univers (profondeur, capacité, participation), mesurée sur des titres réels et stressée sur une crise réelle.
Nommé, pas caché : aucun backtest QuantConnect n'est exécuté ici (la partie 7 fournit le code Cloud et dit ce qu'il ne modélise pas) ; le niveau absolu des écarts est posé par une ancre de calibrage, seuls les ratios entre titres sont mesurés ; univers survivant ; un seul épisode de stress.
See #16239— livrable partiel, l'EPIC reste ouverte.- added a commit that references this issue
on Sep 25, 2026 [CLAIMED] lane myia-po-2023:CoursIA — suivi de #17753 (mergée à 13:37Z) : corriger le seul défaut de rendu H1-DEEP relevé par l'organe MD hierarchy drift dans QC-Py-14b (titre
#imbriqué dans une liste). Correction markdown seule, sans ré-exécution -- paths: MyIA.AI.Notebooks/QuantConnect/Python/QC-Py-14b-Liquidity-Execution-Costs.ipynb[DELIVERED] suivi de #17753 (H1-DEEP) -- lane myia-po-2023:CoursIA -- PR #17829
QC-Py-14b-Liquidity-Execution-Costs.ipynb: fusion de la cellule de navigation dans la cellule du titre, pour que le#soit dans la premiere cellule markdown (convention nav + blanc +# Titre+ bandeau, verifiee sur QC-Py-13 / QC-Py-14 / QC-Py-29).Fusion strictement additive : 34 -> 33 cellules, +2 sauts de ligne a la frontiere, aucun autre caractere modifie, 10 cellules code avec
execution_count1..10 et outputs intacts (markdown seul, pas de re-execution).scan_md_hierarchy: 1/1 -> 0/1 notebook flagge.validate_pr_notebooks origin/mainPASS.check_null_exec(H.3) OK.Hors perimetre de ce claim, meme classe de defaut a traiter separement :
QC-Py-29-Derivatives-Valuation.ipynb(h1_in_cell=1, livre par #16358) etQC-Py-22-Deep-Learning-LSTM.ipynb(H1 profond cellule 34).- added a commit that references this issue
on Sep 25, 2026 [CLOSURE PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
issue: 16239
verdict: CLOSE
acceptance:- relation RNCP37437 -> RNCP41881 et conservation des codes TimeSpice documentees -> docs/PROTOCOLE_VEILLE.md (PR docs(qc,#16239): protocole de veille RNCP41881 — registre traçable + grille qualité #16324, RNCP37437BC01C1.1 explicite) + docs/GRILLE_PREUVES.md (3 codes historiques cites)
- support executable macro/regimes reliant indicateurs -> decision -> QC-Py-28b-Macro-Cycle-Regimes (PR feat(qc,#16239): module macro/régimes — diagnostic borné, indicateurs→budget de risque (QC-Py-28b) #16332, livrable 1)
- support executable BS/binomial/Monte-Carlo sur un meme derive -> QC-Py-06b (PR feat(qc,#16239): valorisation de derives — BS vs arbre vs Monte-Carlo sur le meme contrat (QC-Py-06b) #16263) et QC-Py-29 (PR Add: QC-Py-29 Derivatives-Valuation — BS/arbre/Monte-Carlo sur un seul contrat (#16239 livrable 2) #16358, livrable 2)
- risque de liquidite par indicateur/scenario falsifiable distinct du risque de marche -> QC-Py-14b (PR feat(qc,#16239): QC-Py-14b — liquidité et coûts d'exécution (proxys, capacité, stress COVID réel) #17753, livrable 3) + scenario de liquidite falsifiable dans QC-Py-06b
- modele de veille tracable -> docs/PROTOCOLE_VEILLE.md (PR docs(qc,#16239): protocole de veille RNCP41881 — registre traçable + grille qualité #16324) : typologie 4 familles, grille qualite 4/5, registre 7 colonnes date
- QC projet exige benchmark, couts/slippage, metriques, validation OOS/sous-periodes, sensibilite, limites honnetes -> grille QC du repo et notebooks QC-Py-06b/QC-Py-28b exposes
- soutenance collective verifie la comprehension de chaque membre -> docs/GRILLE_PREUVES.md (PR docs(qc,#16239): grille de preuves du projet collectif RNCP41881 — mapping competences/artefacts + soutenance (livrable 4) #16365) mapping competences/artifacts par membre
- supports en francais, executes avec sorties reelles, integres dans la navigation QC -> notebooks francais, integrates dans QuantConnect/Python/ et docs/
residue: none
open-prs: 0
comments-reviewed: 14
[/CLOSURE PREFLIGHT]
Fermeture sur le dossier [CLOSURE PREFLIGHT] de myia-po-2026:CoursIA-3 (gate de fermeture CLOSE). Relu par ai-01 sur main : GRILLE_PREUVES.md et PROTOCOLE_VEILLE.md citent les trois codes historiques RNCP37437 et leur remplacement par RNCP41881 ; la grille porte les non-negociables du projet QC (benchmark, couts avec et sans, hors echantillon, sensibilite) et la verification individuelle en soutenance (section 4) ; les quatre supports executables QC-Py-06b, 14b, 28b et 29 sont sur main et references dans le README QuantConnect. Les huit criteres sont livres.
Contexte
Le syllabus TimeSpice 2026/2027 du cours Trading algorithmique (M1 BDDSF Oct26, UE05.F) associe la matière à la certification RNCP41881 — Expert en finance de marché. La fiche alloue exactement les 17 h 30 du cours à trois compétences affichées sous leur codification historique RNCP37437 :
RNCP37437BC02C2.1— analyse macroéconomique et identification des phases du cycle : 7 h ;RNCP37437BC01C1.5— valorisation algorithmique d’un produit dérivé : 7 h ;RNCP37437BC01C1.1— veille scientifique, technologique, économique, réglementaire et environnementale : 3 h 30.La fiche officielle France compétences confirme que RNCP37437 est inactive et remplacée par RNCP41881. TimeSpice conserve donc des codes historiques qu’il ne faut ni masquer ni normaliser silencieusement.
Référentiels :
Objectif
Muscler le cursus QuantConnect de CoursIA afin que le projet collectif de trading algorithmique produise des preuves pédagogiques vérifiables pour le socle rattaché à la certification, sans remplacer le cœur du cours : hypothèse économique, algorithme QuantConnect, backtest reproductible, robustesse et soutenance.
Matrice de couverture initiale
Livrables à construire
Module macro/régimes
Module valorisation des dérivés
Protocole de veille
Grille de preuves du projet collectif
Critères d’acceptation
Hors périmètre du socle obligatoire
LEAN CLI, Docker, Optimizer, paper trading, deep learning, Transformers, reinforcement learning, LLM et modèles de fondation restent des prolongements optionnels. Le machine learning classique peut constituer une différenciation avancée, mais ne conditionne pas l’acquisition du socle.
🤖 Generated with Claude Code