σμ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 AcademyHojas de rutaRutas
Ctrl K
AO
+1,2 k estudiantes
Iniciar sesiónUnirse ↗
Hojas de rutaRutas
AO
+1,2 k estudiantes
Iniciar sesión
  • 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 AcademyHojas de rutaRutas
Ctrl K
AO
+1,2 k estudiantes
Iniciar sesiónUnirse ↗
Hojas de rutaRutas
AO
+1,2 k estudiantes
Iniciar sesión
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Ruta de Time Series›Módulo 5 · Evaluación y práctica›Tema 5.3·~1 h 40 minAvanzado

Proyecto final: un concurso de pronóstico de volatilidad con datos reales

Posición en la rutaMódulo 5 de 5 · Tema 3 de 3
5.3 Proyecto final: un concurso de pronóstico de volatilidad con datos reales
—Puntuación del lab— / 100XP total—Racha—

De cuatro modelos a un concurso justo

Cada herramienta de esta habilidad responde una pregunta: ¿qué tamaño tendrá el movimiento de mañana? Una varianza constante, un promedio exponencial, un GARCH(1,1) y una regresión HAR sobre el rango máximo-mínimo diario dan cuatro respuestas, y la única forma honesta de elegir es un concurso con reglas justas. Cada pronóstico del día t solo puede usar datos anteriores al día t. GARCH se ajusta una sola vez con los primeros 1000 días y nunca se reajusta. Los cuatro se puntúan en los días siguientes, frente al rendimiento al cuadrado, con una pérdida que castiga más subestimar la varianza que sobrestimarla. Solo hace falta NumPy.

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

El EWMA y el GARCH actualizan un estado de varianza con el rendimiento de ayer al cuadrado. El GARCH tiene más margen: sus parámetros se eligen maximizando una verosimilitud gaussiana, aquí sobre una pequeña rejilla, con la varianza de largo plazo σ² fijada al valor muestral (objetivo de varianza). El modelo HAR lee en cambio el rango. Su variable del día t se construye con la varianza de Parkinson de los días previos: el valor de ayer, la media de los últimos 5 días y la de los últimos 22. Su objetivo es el rendimiento al cuadrado, ruidoso pero con el nivel correcto, y se reajusta cada 21 días con los 750 días anteriores. La puntuación es la QLIKE media, y/h-ln(y/h)-1 con y el indicador y h el pronóstico, y el estadístico de Diebold-Mariano dice si la diferencia entre dos pronosticadores supera al azar.

QLIKE=y/h-ln(y/h)-1, DM=(mean(d))/(std(d)/√n), d=L₁-L₂
Qué dicen los datos realesEn SPY, puntuados en los 4404 días posteriores a los primeros 1000, la QLIKE media frente al rendimiento al cuadrado es de unos 2,03 para el pronóstico constante, 1,63 para el EWMA, 1,59 para el GARCH (elección de rejilla α=0,11, β=0,88, una persistencia de 0,99) y 1,56 para el modelo HAR sobre el rango. Cada escalón hacia abajo es un mejor pronóstico. El estadístico de Diebold-Mariano es de unos 3,5 para EWMA frente a GARCH y 3,6 para EWMA frente a HAR, muy por encima de 1,96. GARCH frente a HAR da unos 1,9, justo por debajo de la significación al 5 %. Con un indicador tan ruidoso como un solo rendimiento al cuadrado, las brechas son modestas aunque el orden sea claro.
  • Reglas justas: un pronóstico del día t solo usa datos anteriores, el GARCH se ajusta antes del período de puntuación y se filtra hacia delante con parámetros fijos.
  • QLIKE es la pérdida, el rendimiento al cuadrado es el indicador y Diebold-Mariano dice si dos pronosticadores realmente difieren.
  • Escalera: constante, EWMA, GARCH, HAR sobre el rango; cada escalón baja la pérdida en SPY, pero la última brecha queda dentro del ruido.
Cuatro simplificaciones que recordarEl indicador es un solo rendimiento al cuadrado, así que todas las pérdidas son altas y las diferencias pequeñas; una varianza realizada las afinaría. El GARCH se ajusta una vez en una rejilla gruesa y no se actualiza, mientras que un sistema real lo reajustaría. La verosimilitud es gaussiana aunque los rendimientos tienen colas gruesas. Y la puntuación es de un activo en un período que incluye una crisis: un ganador aquí no es una promesa para la próxima década.

Lab: qué se califica

  • Una varianza de rango10 pts
  • Un pronosticador EWMA15 pts
  • Un filtro GARCH15 pts
  • Ajustar un GARCH en una rejilla15 pts
  • Un pronosticador HAR20 pts
  • La pérdida QLIKE10 pts
  • El estadístico de Diebold-Mariano5 pts
  • El concurso10 pts
Explorador · lab-tz-12
▾ lab-tz-12
▾ data
…
bash · en el navegador
learner@quantcraft:~/lab-tz-12$
Python aún no cargadoPythonLn 1, Col 1Spaces: 4UTF-8

¿Restablecer este tema?

Todo lo que hay en lab-tz-12 vuelve a los archivos iniciales y se limpia el terminal. Tu solución actual se perderá: no se puede deshacer.

Se restablecerá
  • main.py → código inicial
  • Historial del terminal y salida de pruebas
  • Cambios sin enviar
Se conservará
  • Mejor puntuación del lab
  • Tu XP y tu racha
  • Progreso de la lección y notas

Inicia sesión para ejecutar tu código.

Todas las clases se pueden leer gratis. Crea una cuenta o inicia sesión para ejecutar código, lanzar las pruebas y enviar este lab.

  • IDE en el navegador con terminal bash — sin instalar nada
  • Corrección instantánea, XP y tu lugar en la ruta
Crear una cuentaIniciar sesión
O
Continuar con GitHub