σμ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 scikit-learn›Módulo 3 · Evaluación honesta›Tema 3.5·~1 hAvanzado

Un particionador con purga y embargo

Posición en la rutaMódulo 3 de 4 · Tema 5 de 9
3.5 Un particionador con purga y embargo
—Puntuación del lab— / 100XP total—Racha—

Cuando los vecinos comparten una etiqueta

Supongamos que la etiqueta del día t es el rendimiento desde el cierre del día t hasta el cierre del día t+h, con h=5. Entonces las etiquetas del día t y del día t+1 comparten cuatro de sus cinco rendimientos diarios: son casi el mismo número. Un K-fold que pone el día t en entrenamiento y el día t+1 en prueba deja que el modelo vea la respuesta con la que se le evalúa. Un modelo flexible, como los vecinos más cercanos, parece entonces hábil solo por recordar. La fuga tiene una forma precisa: la etiqueta de la fila i solo se conoce en la fila i+h, así que la fila i se solapa con un bloque de prueba [t₀,t₁] cuando i+h≥t₀ y i≤t₁.

La purga elimina toda fila de entrenamiento que se solape con el bloque de prueba. El embargo elimina algunas filas más justo después del bloque, porque variables lentas como un rendimiento a 20 días siguen llevando información hacia delante. Un particionador para scikit-learn es cualquier objeto con split(X), que produce arreglos de índices (train, test), y get_n_splits(); se puede pasar como cv= a cross_val_score o GridSearchCV. Con 5.340 días de SPY, cuatro variables lentas y una etiqueta a cinco días, un modelo de vecinos más cercanos tiene un R cuadrado de 0,039 con pliegues mezclados y de -0,36 con pliegues purgados. El modelo no tiene habilidad y la cifra mezclada es la fuga hablando. Un K-fold simple sin mezclar es mucho mejor, pero aún tiene 120 pares solapados en las cuatro fronteras; el particionador purgado no tiene ninguno.

  • Las etiquetas solapadas ponen casi copias a ambos lados de la partición; el K-fold mezclado premia entonces la memoria.
  • Purgue las filas con i+h≥t₀ y i≤t₁; embargo de algunas filas tras t₁.
  • Un particionador es solo split y get_n_splits: cualquier objeto con ambos sirve como cv=.

Lab: qué se califica

  • Purga y embargo25 pts
  • El particionador25 pts
  • El evaluador10 pts
  • Contar solapes15 pts
  • El estudio de la fuga25 pts
Explorador · lab-sl-19
▾ lab-sl-19
▾ data
…
bash · en el navegador
learner@quantcraft:~/lab-sl-19$
Python aún no cargadoPythonLn 1, Col 1Spaces: 4UTF-8

¿Restablecer este tema?

Todo lo que hay en lab-sl-19 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