σμ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 1 · Ajuster et trouver›Sujet 1.8·~50 minIntermédiaire

Ajuster une courbe de décroissance avec curve_fit

Position dans le parcoursModule 1 sur 3 · Sujet 8 sur 8
1.8 Ajuster une courbe de décroissance avec curve_fit
—Score du lab— / 100XP total—Série—

L'échelle de temps du retour à la moyenne

Un écart élevé aujourd'hui tend à être plus bas plus tard, mais à quelle vitesse ? L'autocorrélation au retard k mesure ce qui reste, k jours plus tard, de l'écart d'aujourd'hui à la moyenne : on retranche la moyenne, puis ρₖ=Σₜxₜxₜ₋ₖ / Σₜxₜ². Pour une série qui revient à sa moyenne, ces nombres décroissent comme e^(-k/τ), et τ est l'échelle de temps : après τ jours il reste environ 37 % d'un écart, et après τln 2 jours (la demi-vie) la moitié. scipy.optimize.curve_fit(modèle, x, y, p0=..., bounds=...) trouve les paramètres de n'importe quel modèle par moindres carrés. On lui passe le modèle sous forme de fonction modèle(x, *params), une estimation de départ p0 et des bornes qui gardent le paramètre positif, et il renvoie les meilleurs paramètres et leur matrice de covariance pcov ; les erreurs standard sont les racines carrées de sa diagonale.

Sur l'écart de rendement 10 ans moins 2 ans du Trésor (6 697 jours depuis 2000), l'ajustement donne τ≈1 006 jours avec une erreur standard d'environ 5, soit une demi-vie proche de 697 jours. Ce chiffre est trompeur. Refaites l'ajustement sur treize fenêtres séparées de 500 jours et la demi-vie va de 33 à 124 jours : l'écart revenait bien plus vite à l'intérieur de chaque période que ne le suggère l'échantillon complet, parce que celui-ci contient aussi les lentes oscillations entre régimes. Une erreur standard minuscule dit seulement que la courbe colle bien aux autocorrélations, pas que celles-ci sont stables. Ajustez par fenêtre, regardez comment l'estimation bouge et indiquez la fourchette, pas un seul nombre.

  • L'autocorrélation montre la mémoire : pour un retour à la moyenne elle décroît comme exp(-k / tau).
  • curve_fit renvoie une courbe et son incertitude : donnez un départ et des bornes, et lisez l'erreur standard dans pcov.
  • Une petite erreur standard n'est pas de la stabilité : réajustez sur des fenêtres glissantes avant de croire une demi-vie.

Lab : ce qui est noté

  • Autocorrélations empiriques15 pts
  • Le modèle de décroissance5 pts
  • Ajuster l'échelle de temps25 pts
  • La demi-vie5 pts
  • Demi-vies glissantes25 pts
  • L'étude de l'écart25 pts
Explorateur · lab-sp-16
▾ lab-sp-16
▾ data
…
bash · dans le navigateur
learner@quantcraft:~/lab-sp-16$
Python pas encore chargéPythonLn 1, Col 1Spaces: 4UTF-8

Réinitialiser ce sujet ?

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