σμ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 statsmodels›Module 2 · Modèles de séries temporelles›Sujet 2.5·~55 minAvancé

Une autorégression vectorielle des rendements, de la volatilité et des taux

Position dans le parcoursModule 2 sur 3 · Sujet 5 sur 9
2.5 Une autorégression vectorielle des rendements, de la volatilité et des taux
—Score du lab— / 100XP total—Série—

Plusieurs séries, chacune expliquant les autres

Une autorégression vectorielle d'ordre p régresse le vecteur yₜ de k variables sur ses propres p retards : yₜ=c+A₁yₜ₋₁+…+Aₚyₜ₋ₚ+eₜ. Chaque équation a les mêmes régresseurs, donc chacune s'estime par moindres carrés ordinaires, et le terme (A₁)ⱼᵢ de la matrice dit de combien la variable i de la période précédente fait bouger la variable j maintenant. VAR(data).select_order(6) compare les retards 1 à 6 par l'AIC, le BIC et d'autres (le BIC préfère moins de retards, car il facture davantage chaque paramètre) ; VAR(data).fit(p) estime le modèle ; res.is_stable() vérifie que toutes les racines du polynôme de retards sont hors du cercle unité, ce qui fait s'éteindre les chocs. Avec le rendement mensuel de SPY, la log-volatilité et la variation du taux à 10 ans sur 258 mois, l'AIC choisit 2 retards et le BIC 1.

La causalité de Granger est un énoncé de prévision, pas de causalité : x cause y au sens de Granger si les retards de x ajoutent du pouvoir prédictif pour y au-delà des retards de y lui-même, ce que teste un test F de nullité des coefficients de x dans l'équation de y. res.test_causality('lvol', ['ret'], kind='f') donne la statistique et la p-value. Dans les données, les rendements d'actions précèdent la volatilité (p=0,005) et les taux (0,006) ; la volatilité (0,95) et les variations de taux (0,74) ne précèdent pas les rendements. Une réponse impulsionnelle suit un choc dans le système : c'est le terme (j,i) de A₁^s après s pas (pour un VAR(1)). Un choc unitaire sur le rendement mensuel (100 %) abaisse la log-volatilité de 1,82 le mois suivant, puis de 0,87, 0,49, 0,27, en s'éteignant car le système est stable ; pour une baisse de 5 %, multipliez par -0,05 : environ +9 % de volatilité, l'effet de levier. res.forecast(last_obs, steps) itère le modèle depuis les p dernières observations et donne des prévisions conjointes : la log-volatilité dérive de -2,12 vers sa moyenne.

  • Choisissez le retard avec l'AIC et le BIC (le BIC en préfère moins), puis vérifiez que le système est stable.
  • La causalité de Granger est prédictive, pas causale : un test F sur les retards d'une variable dans l'équation d'une autre.
  • Les réponses impulsionnelles montrent comment un choc s'éteint ; ramenez un choc unitaire à une taille réaliste avant de le lire.

Lab : ce qui est noté

  • Choisir le retard10 pts
  • Ajuster le VAR10 pts
  • Un test de Granger15 pts
  • Le tableau de Granger10 pts
  • La réponse impulsionnelle15 pts
  • La prévision conjointe10 pts
  • L'étude du VAR30 pts
Explorateur · lab-sx-17
▾ lab-sx-17
▾ data
…
bash · dans le navigateur
learner@quantcraft:~/lab-sx-17$
Python pas encore chargéPythonLn 1, Col 1Spaces: 4UTF-8

Réinitialiser ce sujet ?

Tout le contenu de lab-sx-17 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