σμ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
  • 日本語
  • 中文
uantCraft Academy

Apprenez le développement quant en pratiquant : leçons courtes, labs notés et un vrai IDE, dans votre navigateur.

Apprendre
Toutes les feuilles de routeToutes les skillsSkill PythonSkill C++BientôtSkill OxCamlBientôtSkill Market StructureSkill CalculusSkill Linear AlgebraSkill ProbabilitySkill StatisticsSkill Matrix DecompositionsSkill OptimizationSkill Time SeriesSkill Stochastic CalculusSkill Bayesian InferenceSkill Hidden Markov ModelsSkill Particle filtering and non-stationary time seriesSkill scikit-learnSkill statsmodelsSkill SciPySkill Cache localitySkill Lock-free
Assistance
Donnez-nous votre avisOffrez-nous un café
Mentions légales
Politique de confidentialitéConditions d'utilisation
© 2026 QuantCraft Solutions. Tous droits réservés.
QuantCraft
σμ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›Lock-free
L

Lock-free Parcours

OuvertCommencez ici

C'est l'édition par simulateur de la compétence : il n'y a ni vrais threads ni mesure du temps. Un thread est une courte liste d'étapes, un ordonnancement dit à qui est la prochaine étape, et la machine que vous écrivez les exécute, de sorte qu'un bug de concurrence devient une liste de numéros de threads que l'on peut afficher et rejouer. Chaque cours enseigne une idée avec de petits exemples et leur sortie, puis un labo noté étend la même machine. Vous apprenez à voir comment un entrelacement perd une mise à jour, à énumérer tous les ordonnancements d'un petit programme, à énoncer ce qu'une file sans verrou garantit et à prouver un invariant d'une diffusion de données de marché sur tous les ordonnancements.

4 modules11 labs corrigés~12 heuresIntermédiaire → Expert
Commencer le parcours

Prérequis

Être à l'aise avec les fonctions, listes et dictionnaires de Python suffit ; ni C ni C++ ne sont nécessaires, car la machine est un simulateur que vous écrivez. La compétence sur la localité du cache aide pour le faux partage et les lignes de cache, mais n'est pas obligatoire.

  • Python
  • CCache locality

Programme

11 sujets · ouvrez n'importe quel sujet, dans l'ordre que vous voulez
  1. 1Courses critiques et raison d'être des verrousNon commencéNécessite Python45 minCommencer
  2. 2Un explorateur d'entrelacements : trouver les bugs en énumérant les ordonnancementsNon commencéNécessite Python1 hCommencer
  1. 3Atomiques et lecture-modification-écritureNon commencéNécessite Python55 minCommencer
  2. 4Le modèle mémoire : acquire et releaseNon commencéNécessite Python1 h 15 minCommencer
  3. 5Garanties de progression : de l'absence d'obstruction à l'absence d'attenteNon commencéNécessite Python45 minCommencer
  1. 6Un tampon circulaire à un producteur et un consommateurNon commencéNécessite Python1 h 30 minCommencer
  2. 7Le problème ABA et les pointeurs étiquetésNon commencéNécessite Python55 minCommencer
  3. 8Files à plusieurs producteurs et plusieurs consommateursNon commencéNécessite Python1 h 10 minCommencer
  1. 9Tester le code concurrent : détecteurs de courses et vérification de modèlesNon commencéNécessite Python55 minCommencer
  2. 10Pointeurs de danger et récupération par époquesNon commencéNécessite Python1 h 10 minCommencer
  3. 11Projet final : une diffusion de données de marché sans verrou avec preuves de ses invariantsNon commencéNécessite Python2 hCommencer

Validation

Réussissez les 11 labs avec un score d'au moins 70 pour terminer le parcours et obtenir le badge Sans verrou sur votre profil.

0 / 110%

Prérequis

Être à l'aise avec les fonctions, listes et dictionnaires de Python suffit ; ni C ni C++ ne sont nécessaires, car la machine est un simulateur que vous écrivez. La compétence sur la localité du cache aide pour le faux partage et les lignes de cache, mais n'est pas obligatoire.

  • Python
  • CCache locality

Outils utilisés

Pythonpytest

Ce que vous apprendrez

  • Écrire une machine qui exécute des programmes de threads sous un ordonnancement et montrer une mise à jour perdue à la main
  • Énumérer tous les ordonnancements d'un petit programme pour trouver ceux qui le cassent
  • Réparer les courses avec la lecture-modification-écriture atomique et l'ordre acquire/release, et énoncer ce que chaque réparation garantit
  • Construire un tampon circulaire SPSC, une file à comparaison-échange et une file multi-producteurs, et casser chacune avec un ordonnancement
  • Détecter les courses, récupérer la mémoire en sûreté et prouver un invariant d'une diffusion de données de marché sur tous les ordonnancements
uantCraft Academy

Apprenez le développement quant en pratiquant : leçons courtes, labs notés et un vrai IDE, dans votre navigateur.

Apprendre
Toutes les feuilles de routeToutes les skillsSkill PythonSkill C++BientôtSkill OxCamlBientôtSkill Market StructureSkill CalculusSkill Linear AlgebraSkill ProbabilitySkill StatisticsSkill Matrix DecompositionsSkill OptimizationSkill Time SeriesSkill Stochastic CalculusSkill Bayesian InferenceSkill Hidden Markov ModelsSkill Particle filtering and non-stationary time seriesSkill scikit-learnSkill statsmodelsSkill SciPySkill Cache localitySkill Lock-free
Assistance
Donnez-nous votre avisOffrez-nous un café
Mentions légales
Politique de confidentialitéConditions d'utilisation
© 2026 QuantCraft Solutions. Tous droits réservés.
QuantCraft
ConnexionRejoindre ↗
Connexion