σμ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 Time Series›Module 5 · Évaluation et pratique›Sujet 5.3·~1 h 40 minAvancé

Projet final : un concours de prévision de volatilité sur données réelles

Position dans le parcoursModule 5 sur 5 · Sujet 3 sur 3
5.3 Projet final : un concours de prévision de volatilité sur données réelles
—Score du lab— / 100XP total—Série—

De quatre modèles à un concours équitable

Chaque outil de cette compétence répond à une question : quelle sera la taille du mouvement de demain ? Une variance constante, une moyenne exponentielle, un GARCH(1,1) et une régression HAR sur l'amplitude haut-bas du jour donnent quatre réponses, et la seule façon honnête de choisir est un concours aux règles équitables. Chaque prévision du jour t ne peut utiliser que des données antérieures au jour t. GARCH est ajusté une seule fois sur les 1 000 premiers jours et jamais réajusté. Les quatre sont notés sur les jours suivants, contre le rendement au carré, avec une perte qui punit davantage la sous-prévision de la variance que la sur-prévision. NumPy suffit.

hₜ=λhₜ₋₁+(1-λ)rₜ₋₁², hₜ=ω+αrₜ₋₁²+βhₜ₋₁, ω=(1-α-β)σ²

L'EWMA et le GARCH mettent tous deux à jour un état de variance avec le rendement d'hier au carré. Le GARCH a plus de marge : ses paramètres sont choisis en maximisant une vraisemblance gaussienne, ici sur une petite grille, avec la variance de long terme σ² fixée à la valeur de l'échantillon (ciblage de variance). Le modèle HAR lit plutôt l'amplitude. Sa variable pour le jour t est construite à partir de la variance de Parkinson des jours précédents : la valeur d'hier, la moyenne des 5 derniers jours et celle des 22 derniers. Sa cible est le rendement au carré, bruité mais au bon niveau, et il est réajusté tous les 21 jours sur les 750 jours précédents. Le score est la QLIKE moyenne, y/h-ln(y/h)-1 avec y l'indicateur et h la prévision, et la statistique de Diebold-Mariano dit si l'écart entre deux prévisionnistes dépasse le hasard.

QLIKE=y/h-ln(y/h)-1, DM=(mean(d))/(std(d)/√n), d=L₁-L₂
Ce que disent les vraies donnéesSur SPY, notés sur les 4 404 jours après les 1 000 premiers, la QLIKE moyenne contre le rendement au carré vaut environ 2,03 pour la prévision constante, 1,63 pour l'EWMA, 1,59 pour le GARCH (choix de grille α=0,11, β=0,88, donc une persistance de 0,99) et 1,56 pour le modèle HAR sur l'amplitude. Chaque marche vers le bas est une meilleure prévision. La statistique de Diebold-Mariano vaut environ 3,5 pour EWMA contre GARCH et 3,6 pour EWMA contre HAR, bien au-delà de 1,96. GARCH contre HAR donne environ 1,9, juste sous la significativité à 5 %. Avec un indicateur aussi bruité qu'un seul rendement au carré, les écarts restent modestes même quand l'ordre est clair.
  • Règles équitables : une prévision du jour t n'utilise que des données antérieures, le GARCH est ajusté avant la période de notation puis filtré vers l'avant à paramètres fixes.
  • QLIKE est la perte, le rendement au carré est l'indicateur, et Diebold-Mariano dit si deux prévisionnistes diffèrent vraiment.
  • Échelle : constante, EWMA, GARCH, HAR sur l'amplitude ; chaque marche baisse la perte sur SPY, mais le dernier écart reste dans le bruit.
Quatre simplifications à retenirL'indicateur est un seul rendement au carré, donc toutes les pertes sont élevées et les écarts petits ; une variance réalisée les affinerait. Le GARCH est ajusté une fois sur une grille grossière et jamais mis à jour, alors qu'un système réel le réajusterait. La vraisemblance est gaussienne alors que les rendements ont des queues épaisses. Et le score vaut pour un actif sur une période qui contient une crise : un gagnant ici n'est pas une promesse pour la décennie suivante.

Lab : ce qui est noté

  • Une variance d'amplitude10 pts
  • Un prévisionniste EWMA15 pts
  • Un filtre GARCH15 pts
  • Ajuster un GARCH sur une grille15 pts
  • Un prévisionniste HAR20 pts
  • La perte QLIKE10 pts
  • La statistique de Diebold-Mariano5 pts
  • Le concours10 pts
Explorateur · lab-tz-12
▾ lab-tz-12
▾ data
…
bash · dans le navigateur
learner@quantcraft:~/lab-tz-12$
Python pas encore chargéPythonLn 1, Col 1Spaces: 4UTF-8

Réinitialiser ce sujet ?

Tout le contenu de lab-tz-12 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