σμ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 1 · La forma de trabajar con estimadores›Tema 1.3·~50 minIntermedio

Particiones y fugas en finanzas

Posición en la rutaMódulo 1 de 4 · Tema 3 de 5
1.3 Particiones y fugas en finanzas
—Puntuación del lab— / 100XP total—Racha—

Por qué la partición lo es todo

Un modelo se juzga con datos que no ha visto. En finanzas hay tres conjuntos: datos de entrenamiento para ajustar, de validación para elegir ajustes y de prueba, usados una vez, para informar el resultado. Deben seguir el tiempo: entrenar con el pasado, validar con el tramo siguiente, probar con el último. Una partición aleatoria pone días de la misma tormenta en ambos conjuntos, así que el modelo reconoce vecinos en lugar de aprender una regla. La fuga significa que información del período de validación o de prueba llega al paso de entrenamiento. Tiene cuatro formas comunes: un escalador ajustado con todos los días, una variable que usa un precio futuro, una columna parecida al objetivo que solo se conoce después y etiquetas que se solapan en el tiempo.

Las etiquetas solapadas merecen especial cuidado. Si la etiqueta es el rendimiento de los próximos HHH meses, la etiqueta de una fila de entrenamiento iii y la de una fila de prueba jjj comparten meses siempre que i+H>ji+H>ji+H>j. Las últimas H−1H-1H−1 filas de entrenamiento antes del período de prueba conocen, pues, parte del resultado de la prueba. El remedio es la purga, que elimina esas filas, y el embargo, que deja un margen de seguridad, como muestran los temas siguientes. Un número pequeño da la dimensión: con 100010001000 filas mensuales, una partición 60/20/2060/20/2060/20/20 sitúa el período de prueba en la fila 800800800, y con H=3H=3H=3 dos filas de entrenamiento cerca de cada frontera se solapan.

(i, i+H]∩(j, j+H]≠∅  ⟺  i+H>j(i<j)(i,\,i+H]\cap(j,\,j+H]\neq\varnothing\iff i+H>j\qquad(i<j)(i,i+H]∩(j,j+H]=∅⟺i+H>j(i<j)(1)
Números y un ejemplo realSi los valores de entrenamiento son 2,4,6,82,4,6,82,4,6,8, el escalador aprende la media 555. Ajustado con todos los días, incluido un valor de prueba 202020, aprendería la media 888, una diferencia de 333 que vino del futuro. En datos reales, tomemos SPY y pidamos a un bosque aleatorio que prediga la volatilidad de los 202020 días siguientes a partir de la volatilidad reciente. Una partición mezclada en 5 pliegues da R2=0,60R^{2}=0{,}60R2=0,60. Una partición walk-forward ordenada en el tiempo con una purga de 202020 días da R2=−2,10R^{2}=-2{,}10R2=−2,10. La puntuación mezclada es mayor por 2,702{,}702,70 porque los días vecinos comparten 191919 de sus 202020 días de etiqueta, y porque una prueba ordenada debe enfrentar tormentas que no ha visto.
  • Dividir por tiempo: entrenar con el pasado, validar con el tramo siguiente, probar con el último y mirar la prueba una sola vez.
  • Cuatro fugas: preprocesamiento ajustado, variables futuras, columnas parecidas al objetivo y etiquetas solapadas.
  • Una puntuación mezclada es una señal de alarma: si mezclar los días sube mucho la puntuación, el modelo reconoce vecinos.

Lab: qué se califica

  • Dónde empieza el período de prueba10 pts
  • El tamaño del entrenamiento10 pts
  • Lo que el escalador aprende del futuro10 pts
  • Etiquetas solapadas15 pts
  • Cuánto halaga una mezcla10 pts
  • La partición correcta para una serie temporal10 pts
  • Un flujo sin fugas10 pts
  • Tipos de fuga10 pts
  • Por qué mezclar infla la puntuación15 pts
0/ 9 respondidos
Ejercicios
1Respuesta numérica10 ptsSin responder

Hay 100010001000 filas mensuales en orden temporal, divididas en 60%60\%60% entrenamiento, 20%20\%20% validación y 20%20\%20% prueba. ¿En qué índice de fila (contando desde 000) empieza el período de prueba?

i=i =i=aceptado: ± 0.5
2Respuesta numérica10 ptsSin responder

Con la misma partición de 100010001000 filas, ¿cuántas filas tiene el conjunto de entrenamiento?

n=n =n=aceptado: ± 0.5
3Respuesta numérica10 ptsSin responder

Los valores de entrenamiento son 2,4,6,82,4,6,82,4,6,8 (media 555) y el valor de prueba es 202020. Un escalador ajustado con los cinco valores aprende la media 888. ¿En cuánto difiere la media de la honesta?

d=d =d=aceptado: ± 0.01
4Respuesta numérica15 ptsSin responder

La etiqueta de la fila iii es el rendimiento de los próximos H=3H=3H=3 meses. Una fila de entrenamiento iii y la primera fila de prueba j=600j=600j=600 comparten meses cuando i+H>ji+H>ji+H>j. ¿Cuántas filas de entrenamiento i<600i<600i<600 solapan la etiqueta de la fila 600600600?

k=k =k=aceptado: ± 0.01
5Respuesta numérica10 ptsSin responder

En SPY, un bosque aleatorio que predice la volatilidad de los 202020 días siguientes obtiene R2=0,60R^{2}=0{,}60R2=0,60 con una partición mezclada y R2=−2,10R^{2}=-2{,}10R2=−2,10 con un walk-forward purgado. ¿Cuánto lo halaga la mezcla? Dé dos decimales.

g=g =g=aceptado: ± 0.02
6Elección10 ptsSin responder

Quiere juzgar con honestidad un modelo de rendimientos diarios. ¿Qué partición usa?

7Ordenar los pasos10 ptsSin responder

Ponga en orden los pasos de una evaluación sin fugas.

Arrastra para reordenar, o enfoca un elemento, pulsa Espacio para levantarlo, las flechas para moverlo y Espacio para soltarlo.

  1. 1Mirar la puntuación de prueba una vez y comunicarla
  2. 2Ordenar las filas por tiempo y cortar entrenamiento, validación y prueba
  3. 3Elegir los ajustes con los datos de validación
  4. 4Ajustar el preprocesamiento y el modelo con los datos de entrenamiento
8Emparejar10 ptsSin responder

Empareje cada tipo de fuga con su ejemplo.

Elige la pareja de cada elemento de la izquierda.

Fuga de preprocesamiento
Variable que mira adelante
Fuga del objetivo
Solapamiento de etiquetas
9Explicar con palabras15 ptsSin responder

En una o dos frases, explique por qué una partición mezclada da mejor puntuación que una ordenada en el tiempo cuando el objetivo es un rendimiento de los 202020 días siguientes.

Modo matemáticasEntrada por teclado o LaTeXEjercicio 1 de 9 · Ctrl ⏎ para comprobar

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