σμ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 SciPy›Módulo 3 · Matrices, señales y estructura›Tema 3.9·~55 minIntermedio

Calibrar una superficie de sonrisa en varios vencimientos

Posición en la rutaMódulo 3 de 3 · Tema 9 de 10
3.9 Calibrar una superficie de sonrisa en varios vencimientos
—Puntuación del lab— / 100XP total—Racha—

Una sonrisa por vencimiento, y deben concordar

Se trabaja con la varianza total w=σ²T frente a la log-moneyness k=ln(K/F). La sonrisa SVI es w(k)=a+b(ρ(k-m)+√((k-m)²+s²)) con cinco parámetros: a sube el nivel, b fija el ángulo de las alas, -1<ρ<1 inclina la sonrisa (negativo en acciones), m mueve el mínimo y s redondea el fondo. Ajustarla a cotizaciones es un problema de mínimos cuadrados, pero delicado: los parámetros se compensan en parte y un mal inicio se atasca. least_squares(residuals, x0, bounds=(lower, upper)) maneja las cotas, que mantienen b>0, |ρ|<1 y s>0, y una respuesta robusta sale de varios puntos de partida, quedándose con el de menor cost.

Una superficie es una sonrisa por vencimiento, y las sonrisas deben concordar en el tiempo. Si la varianza total en algún strike baja al crecer el plazo, un spread de calendario tiene precio negativo, lo cual es un arbitraje. La comprobación es barata: para vencimientos consecutivos, evalúe ambas sonrisas ajustadas en una rejilla de k y cuente los puntos donde w_T₂<w_T₁ (con una tolerancia mínima). Recuerde ordenar antes los vencimientos, pues un diccionario no promete orden. La volatilidad implícita de un ajuste es σ(k)=√(w(k)/T). En el laboratorio se ajustan cuatro vencimientos a cotizaciones con 0,2 % de ruido: el rmse es del tamaño de ese ruido, la volatilidad en el dinero se recupera con un error menor del 1 % y la superficie no tiene violaciones; intercambiar los parámetros de dos vencimientos da 121 violaciones, una en cada punto de la rejilla.

  • Cotas y varios inicios: los parámetros SVI se compensan, así que ajuste desde tres puntos de partida y quédese con el menor coste.
  • Varianza total, no volatilidad: compare plazos con w=σ²T, que no debe bajar al crecer T.
  • Ordene los vencimientos antes de comparar vecinos; un diccionario no tiene orden garantizado.

Lab: qué se califica

  • La sonrisa SVI10 pts
  • Ajustar una sonrisa25 pts
  • Calibrar la superficie20 pts
  • Volatilidad implícita10 pts
  • Arbitraje de calendario20 pts
  • El estudio de la superficie15 pts
Explorador · lab-sp-23
▾ lab-sp-23
…
bash · en el navegador
learner@quantcraft:~/lab-sp-23$
Python aún no cargadoPythonLn 1, Col 1Spaces: 4UTF-8

¿Restablecer este tema?

Todo lo que hay en lab-sp-23 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