σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft AcademyFeuilles de routeParcours
Ctrl K
AO
+1,2 k apprenants
ConnexionRejoindre ↗
Feuilles de routeParcours
AO
+1,2 k apprenants
Connexion
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft AcademyFeuilles de routeParcours
Ctrl K
AO
+1,2 k apprenants
ConnexionRejoindre ↗
Feuilles de routeParcours
AO
+1,2 k apprenants
Connexion
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Parcours Market Structure›Module 4 · Règles, coûts et données›Sujet 4.4·~1 hIntermédiaire

Projet final : une journée de négociation à partir de barres de prix

Position dans le parcoursModule 4 sur 4 · Sujet 4 sur 4
4.4 Projet final : une journée de négociation à partir de barres de prix
—Score du lab— / 100XP total—Série—

Lire une journée à partir de barres de prix

Une barre quotidienne résume toute une séance en cinq nombres : ouverture, plus haut, plus bas, clôture et volume. Elle permet de reconstituer l'histoire d'une journée : de combien le prix a bougé pendant la nuit (l'écart entre la clôture d'hier et l'ouverture d'aujourd'hui), l'amplitude de la séance et si le volume était inhabituel. Chacun de ces calculs tient en une ligne appliquée à des colonnes entières d'un tableau.

import pandas as pd

bars = pd.read_csv("data/AAPL.csv", index_col="date", parse_dates=True)
prev_close = bars["close"].shift(1)   # yesterday's close, lined up with today's row
gap = bars["open"] / prev_close - 1   # the overnight gap

Quand vous vous demandez si le volume d'aujourd'hui est inhabituel, comparez-le uniquement aux séances précédentes. rolling(20).mean() seul inclut aujourd'hui, donc la journée est en partie comparée à elle-même ; appeler d'abord shift(1) recule la fenêtre d'un jour. Utiliser l'information du jour que l'on juge est un biais de anticipation (look-ahead), la façon la plus courante dont un backtest vous trompe.

Montrer l'histoire

L'assistant qc_chart transforme des barres en graphique interactif. Passez-lui des listes de séries (chandeliers, lignes, histogrammes) et des repères facultatifs ; le graphique apparaît dans l'onglet Graphiques, et les tests lisent les mêmes données que vous avez transmises, pas l'image.

import qc_chart

qc_chart.show(
    [qc_chart.candles(recent, name="Price"), qc_chart.line(average, name="20-day average")],
    markers=qc_chart.markers({"2026-05-12": "+4.1%"}),
)
Ce que ces données cachentLes prix sont ajustés des fractionnements et des dividendes : il n'y a donc pas de clôture brute et un fractionnement n'apparaît jamais comme un écart. Le fichier ne contient que des sociétés qui existent encore, donc les sociétés radiées manquent, et les barres quotidiennes cachent ce qui s'est passé pendant la séance, y compris les enchères d'ouverture et de clôture. Un grand écart est une histoire à explorer (résultats, actualité), pas une conclusion.

Lab : ce qui est noté

  • Indicateurs quotidiens25 pts
  • Les plus grands écarts25 pts
  • Pics de volume sans anticipation25 pts
  • Tracer l'histoire25 pts
Explorateur · lab-ms-11
▾ lab-ms-11
▾ data
…
bash · dans le navigateur
learner@quantcraft:~/lab-ms-11$
Python pas encore chargéPythonLn 1, Col 1Spaces: 4UTF-8

Réinitialiser ce sujet ?

Tout le contenu de lab-ms-11 revient aux fichiers de départ et le terminal est vidé. Votre solution actuelle sera perdue : cette action est irréversible.

Sera réinitialisé
  • main.py → code de départ
  • Historique du terminal et sortie des tests
  • Modifications non soumises
Sera conservé
  • Meilleur score du lab
  • Votre XP et votre série
  • Progression du cours et notes

Connectez-vous pour exécuter votre code.

Tous les cours sont gratuits à lire. Créez un compte ou connectez-vous pour exécuter du code, lancer les tests et soumettre ce lab.

  • IDE dans le navigateur avec terminal bash — rien à installer
  • Correction instantanée, XP et votre place dans le parcours
Créer un compteSe connecter
OU
Continuer avec GitHub