σμ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.3·~55 minAvancé

Prévisions SARIMAX jugées hors échantillon

Position dans le parcoursModule 2 sur 3 · Sujet 3 sur 9
2.3 Prévisions SARIMAX jugées hors échantillon
—Score du lab— / 100XP total—Série—

Une prévision ne vaut que son test

Un modèle ARIMA(p,d,q) explique une série yₜ par son propre passé et par des chocs passés, après d différenciations : avec d=0, un AR(1) s'écrit yₜ=c+φ yₜ₋₁+eₜ, il est à retour à la moyenne quand |φ|<1 et sa moyenne de long terme est μ=c/(1-φ). SARIMAX(y, order=(p, d, q), trend='c') l'ajuste par maximum de vraisemblance ; trend='c' ajoute la constante, ce qui n'a de sens que pour d=0 (une série différenciée n'a pas de niveau vers lequel revenir). L'objet ajusté donne params, aic et get_forecast(steps). L'AIC =2k-2ln L arbitre entre ajustement et nombre de paramètres k ; parmi des candidats ajustés aux mêmes données, le plus bas AIC est préféré, mais seul un écart de quelques points signifie quelque chose. Pour la log-volatilité mensuelle de SPY, un ARMA(1,1) (AIC 271,9) et un AR(2) (272,7) devancent de peu l'AR(1) (275,0), et la différenciation est bien pire (290,5).

L'ajustement dans l'échantillon dit peu sur la prévision. Le test honnête est l'origine glissante : à chaque origine t₀, ajustez sur y_1..t₀ seulement, prévoyez h pas en avant et comparez à la valeur réellement venue, y_(t₀+h). Rassemblez les erreurs et notez-les par la RMSE, √(moyenne(e²)). Incluez toujours des références : la prévision naïve (la dernière valeur) et la moyenne historique. Le skill 1-RMSE_modèle/RMSE_référence est positif quand le modèle gagne. Ici, à un mois, l'AR(1) a une RMSE de 0,373 contre 0,451 (naïve) et 0,419 (moyenne) : skill 0,17 et 0,11. À douze mois, sa RMSE est 0,526, identique à celle de la moyenne, et son skill sur la naïve (0,34) vient seulement de l'échec de la naïve : la prévision AR(1) est simplement revenue à la moyenne, de -2,09 à -2,01. Savoir à quelle vitesse une prévision revient à la moyenne dit jusqu'où le modèle sait quelque chose.

  • Constante seulement sans différenciation ; comparez les ordres par l'AIC et ne croyez que les écarts de quelques points.
  • Origine glissante : réajustez à chaque origine sur les seules données passées ; ne notez jamais une prévision sur des données vues par l'ajustement.
  • Battez toujours une référence : la prévision naïve et la moyenne historique ; skill 1-RMSEₘ/RMSE_b.

Lab : ce qui est noté

  • L'ajustement SARIMAX10 pts
  • Prévisions ponctuelles10 pts
  • Comparer les ordres15 pts
  • Erreurs à origines glissantes25 pts
  • La RMSE5 pts
  • Skill de prévision10 pts
  • L'étude de la volatilité25 pts
Explorateur · lab-sx-16
▾ lab-sx-16
▾ data
…
bash · dans le navigateur
learner@quantcraft:~/lab-sx-16$
Python pas encore chargéPythonLn 1, Col 1Spaces: 4UTF-8

Réinitialiser ce sujet ?

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