σμ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 SciPy›Module 2 · Courbes et intégrales›Sujet 2.4·~50 minIntermédiaire

Intégrales et EDO avec quad et solve_ivp

Position dans le parcoursModule 2 sur 3 · Sujet 4 sur 5
2.4 Intégrales et EDO avec quad et solve_ivp
—Score du lab— / 100XP total—Série—

Les espérances sont des intégrales, les dynamiques des EDO

Une grande partie de la finance quantitative se résume à deux tâches. La première est une espérance, donc une intégrale : le prix d'une option est la moyenne actualisée de son payoff, e^(-rT)∫(S_T-K)⁺ φ(z) dz, et une perte attendue (expected shortfall) est la perte moyenne au-delà d'un quantile. scipy.integrate.quad(f, a, b) renvoie la valeur et une estimation de l'erreur, accepte -np.inf et np.inf comme bornes, et est précise à de nombreux chiffres quand l'intégrande est lisse. Là où l'intégrande a un coude, comme le payoff d'un call au strike, commencez l'intégrale au coude au lieu de laisser quad l'enjamber. Même quand une forme fermée existe, calculer aussi l'intégrale est le meilleur test pour savoir si l'on comprend la formule, et l'intégrale marche encore pour les payoffs sans formule.

La seconde tâche est une dynamique : une quantité évolue selon une règle sur son taux de variation, une équation différentielle ordinaire y'=f(t,y). scipy.integrate.solve_ivp(f, [t0, t1], y0, rtol=..., atol=...) la suit vers l'avant et renvoie la trajectoire ; la dernière colonne de sol.y est la valeur en t₁. Le modèle de taux court de Vasicek donne un prix d'obligation P=e^(A(τ)-B(τ)r₀) dont les deux fonctions résolvent B'=1-κB et A'=-κθB+1/2σ²B² depuis zéro, et le solveur reproduit la formule du manuel à 10⁻¹³ dès qu'on resserre les tolérances. La loi t à 2,6 degrés de liberté a une perte attendue à 1 % de 8,54 unités standard, contre 2,67 pour la loi normale : l'intégrale montre ce que coûte la queue épaisse. À partir du taux des fed funds de 3,88%, la courbe du modèle monte doucement de 3,96% à un an à 4,36% à trente ans.

  • Une espérance est une intégrale : quad accepte des bornes infinies ; commencez au coude d'un payoff.
  • Une dynamique est une EDO : solve_ivp la suit depuis ses valeurs initiales ; resserrez rtol et atol pour égaler une formule.
  • Vérifiez le numérique par une forme fermée : quand les deux existent, calculez les deux et regardez l'écart.

Lab : ce qui est noté

  • Un prix de call comme intégrale20 pts
  • Une perte attendue par intégration15 pts
  • La forme fermée10 pts
  • Un prix d'obligation à partir de deux EDO25 pts
  • La formule de Vasicek10 pts
  • La courbe de taux du modèle10 pts
  • L'étude10 pts
Explorateur · lab-sp-18
▾ lab-sp-18
▾ data
…
bash · dans le navigateur
learner@quantcraft:~/lab-sp-18$
Python pas encore chargéPythonLn 1, Col 1Spaces: 4UTF-8

Réinitialiser ce sujet ?

Tout le contenu de lab-sp-18 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