σμ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 Stochastic Calculus›Module 5 · Simulation et pratique›Sujet 5.2·~1 h 40 minAvancé

Projet final : simuler valoriser et couvrir avec un rééquilibrage discret

Position dans le parcoursModule 5 sur 5 · Sujet 2 sur 2
5.2 Projet final : simuler valoriser et couvrir avec un rééquilibrage discret
—Score du lab— / 100XP total—Série—

D'un modèle à une couverture

Une option vaut ce que coûte sa couverture. Ce lab parcourt toute la chaîne sur les prix de SPY. D'abord, estimez un mouvement brownien géométrique à partir des rendements quotidiens. La volatilité σ est l'écart type des rendements ramené à l'année. La dérive du prix est μ=r̄·252+σ²/2 : le σ²/2 en plus vient du lemme d'Itô, car le log du prix croît plus lentement que le prix. Ensuite, simulez des trajectoires à partir d'une matrice de tirages normaux, une fois avec le schéma exact et une fois avec le schéma d'Euler. Les mêmes tirages alimentent les deux, ce qui permet de les comparer trajectoire par trajectoire.

Sₖ₊₁=Sₖ e^((μ-σ²/2)h+σ√h z), Sₖ₊₁=Sₖ (1+μh+σ√h z), h=T/n

Ensuite, valorisez un call de deux façons. La formule de Black-Scholes est la moyenne exacte sous la mesure risque-neutre. Le Monte Carlo l'atteint en simulant avec la dérive r, en moyennant le gain et en actualisant. Il n'est jamais exact : il s'écarte d'environ son erreur standard. Enfin, couvrez. Vendez le call, achetez Δ titres et gardez le reste en cash. À chaque date de rééquilibrage, faites croître le cash au taux r, recalculez Δ avec le temps restant et ajustez votre position. L'erreur à l'échéance est ce que la couverture laisse derrière elle.

Vₙ=C₀exp(rT)+ΣⱼΔⱼ₋₁(Sⱼ-Sⱼ₋₁exp(rh))exp(r(T-tⱼ)), e=Vₙ-max(Sₙ-K,0)
Ce que disent les vraies donnéesSPY depuis 2005 donne μ≈11,6% et σ≈19,0% par an. Pour une action à 100 et un strike de 100, un call à trois mois vaut environ 4,03 et a un delta de 0,54. Sur le marché simulé, l'écart type de l'erreur de couverture est de 1,79 avec 3 rééquilibrages, 1,08 avec 9, 0,70 avec 21 et 0,44 avec 63. Il décroît à peu près comme 1/√n. Sur les 85 trimestres réels, il vaut 1,81, 1,71, 1,59 et 1,74 : rééquilibrer plus souvent n'aide pas. La raison est que la volatilité n'est pas constante. La volatilité réalisée d'un trimestre allait de 6% à 70%, et la couverture utilisait 19% à chaque fois.
  • Exact et Euler : les mêmes tirages donnent deux trajectoires. L'écart entre elles est l'erreur de discrétisation du sujet précédent.
  • Prix = coût de la couverture : avec une négociation continue la couverture est parfaite, avec peu de rééquilibrages il reste une erreur de l'ordre de 1/√n.
  • L'erreur réelle est une erreur de volatilité : rééquilibrer plus souvent ne corrige pas un mauvais σ.
Simplifications à retenirLe taux est fixé à 2%, sans coûts de transaction ni dividendes. La couverture utilise la volatilité de tout l'échantillon, que personne ne connaissait à l'avance, donc les erreurs réelles sont plutôt trop clémentes. Les 85 trimestres sont peu nombreux et ne sont pas indépendants du régime de marché. Ce qui compte ici est l'ordre des résultats, pas les montants.

Lab : ce qui est noté

  • Estimer le modèle10 pts
  • Trajectoires exactes15 pts
  • Trajectoires d'Euler10 pts
  • Le call de Black-Scholes15 pts
  • Le delta5 pts
  • Prix Monte Carlo10 pts
  • La couverture25 pts
  • L'étude de couverture10 pts
Explorateur · lab-so-09
▾ lab-so-09
▾ data
…
bash · dans le navigateur
learner@quantcraft:~/lab-so-09$
Python pas encore chargéPythonLn 1, Col 1Spaces: 4UTF-8

Réinitialiser ce sujet ?

Tout le contenu de lab-so-09 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