σμ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 Particle filtering and non-stationary time series›Módulo 2 · Filtros de partículas›Tema 2.2·~1 h 5 minAvanzado

El filtro de partículas bootstrap

Posición en la rutaMódulo 2 de 3 · Tema 2 de 5
2.2 El filtro de partículas bootstrap
—Puntuación del lab— / 100XP total—Racha—

Una nube que sigue al estado

Un filtro de partículas guarda la creencia sobre el estado oculto como una nube de NNN partículas. Cada partícula es un valor posible del estado y lleva un peso que dice cuán plausible es. No se supone ninguna campana, así que la nube puede tomar cualquier forma. Cada día sigue el mismo ciclo. Propagar: mover cada partícula con el movimiento aleatorio del propio modelo. Ponderar: dar a cada partícula un peso igual a la verosimilitud de la observación de hoy dada esa partícula. Estimar: la media filtrada es el promedio ponderado de las partículas. Remuestrear: sacar una nube nueva donde las buenas partículas se copian y las malas desaparecen.

xt(i)=xt−1(i)+q z(i),w(i)=p(yt∣xt(i)),m^t=∑iw~(i)xt(i),p^(yt)=1N∑iw(i)x_t^{(i)}=x_{t-1}^{(i)}+\sqrt q\,z^{(i)},\quad w^{(i)}=p(y_t\mid x_t^{(i)}),\quad \hat m_t=\sum_i\tilde w^{(i)}x_t^{(i)},\quad \hat p(y_t)=\frac1N\sum_i w^{(i)}xt(i)​=xt−1(i)​+q​z(i),w(i)=p(yt​∣xt(i)​),m^t​=i∑​w~(i)xt(i)​,p^​(yt​)=N1​i∑​w(i)(1)

Se llama filtro bootstrap porque la propuesta es la más simple: la transición del propio modelo. Así el peso de una partícula es exactamente la verosimilitud. La receta sirve para cualquier modelo que se pueda simular hacia adelante y cuya verosimilitud de la observación se pueda evaluar: estados no lineales, colas gruesas, volatilidad oculta, donde el filtro de Kalman no tiene respuesta exacta. El precio es el azar. Dos ejecuciones con números aleatorios distintos dan respuestas algo distintas, y el error se reduce como 1/N1/\sqrt N1/N​. En la práctica se fija la semilla aleatoria para poder reproducir una ejecución.

Un ciclo con cuatro partículasTras la propagación las cuatro partículas están en −1,0,1,2-1,0,1,2−1,0,1,2 y se observa y=1y=1y=1 con r=1r=1r=1. Las verosimilitudes son 0,054, 0,242, 0,399, 0,2420{,}054,\ 0{,}242,\ 0{,}399,\ 0{,}2420,054, 0,242, 0,399, 0,242 (la densidad normal, con el factor 1/2π1/\sqrt{2\pi}1/2π​) y los pesos 0,058, 0,258, 0,426, 0,2580{,}058,\ 0{,}258,\ 0{,}426,\ 0{,}2580,058, 0,258, 0,426, 0,258. La media filtrada es 0,8850{,}8850,885. La verosimilitud media, 0,2340{,}2340,234, estima cuán probable era la observación, y la suma de los logaritmos de esos promedios en todos los días es la log-verosimilitud del modelo. Para remuestrear se sacan uniformes 0,05, 0,5, 0,6, 0,90{,}05,\ 0{,}5,\ 0{,}6,\ 0{,}90,05, 0,5, 0,6, 0,9 y se buscan en los pesos acumulados 0,058, 0,316, 0,742, 10{,}058,\ 0{,}316,\ 0{,}742,\ 10,058, 0,316, 0,742, 1. Eligen las partículas 1,3,3,41,3,3,41,3,3,4, así que la nueva nube es −1,1,1,2-1,1,1,2−1,1,1,2 con pesos iguales 0,250{,}250,25 y media 0,750{,}750,75.
  • Cuatro pasos al día: propagar, ponderar, estimar, remuestrear.
  • Peso = verosimilitud: solo el paso de ponderación mira la observación de hoy.
  • Cualquier modelo que se pueda simular: maneja casos no lineales y no gaussianos al precio de un error aleatorio del orden de 1/N1/\sqrt N1/N​.
¿Cuán cerca de Kalman?En el modelo de beta de Apple, donde Kalman es exacto, un filtro bootstrap con 500500500 partículas difiere de él en 0,0160{,}0160,016 de media, y con 200020002000 partículas en 0,00650{,}00650,0065. Cuadruplicar las partículas redujo el error aproximadamente a la mitad, como predice 1/N1/\sqrt N1/N​.

Lab: qué se califica

  • El peso de una partícula15 pts
  • La media filtrada15 pts
  • Verosimilitud de la observación15 pts
  • Tras el remuestreo10 pts
  • Qué paso usa los datos10 pts
  • El ciclo diario10 pts
  • Emparejar el vocabulario10 pts
  • Por qué las partículas superan a Kalman aquí15 pts
0/ 8 respondidos
Ejercicios
1Respuesta numérica15 ptsSin responder

Las cuatro partículas en −1,0,1,2-1,0,1,2−1,0,1,2 tienen verosimilitudes 0,054, 0,242, 0,399, 0,2420{,}054,\ 0{,}242,\ 0{,}399,\ 0{,}2420,054, 0,242, 0,399, 0,242, que suman 0,9370{,}9370,937. ¿Cuál es el peso normalizado de la partícula en 111? Dé tres decimales.

w=w =w=aceptado: ± 0.002
2Respuesta numérica15 ptsSin responder

Las partículas −1,0,1,2-1,0,1,2−1,0,1,2 tienen pesos 0,058, 0,258, 0,426, 0,2580{,}058,\ 0{,}258,\ 0{,}426,\ 0{,}2580,058, 0,258, 0,426, 0,258. ¿Cuál es la media filtrada, el promedio ponderado de las partículas? Dé tres decimales.

m=m =m=aceptado: ± 0.003
3Respuesta numérica15 ptsSin responder

Las verosimilitudes de las cuatro partículas suman 0,9370{,}9370,937. El filtro estima la probabilidad de la observación como su promedio. ¿Cuánto vale? Dé tres decimales.

p=p =p=aceptado: ± 0.002
4Respuesta numérica10 ptsSin responder

El remuestreo eligió las partículas −1, 1, 1, 2-1,\ 1,\ 1,\ 2−1, 1, 1, 2, cada una con peso 0,250{,}250,25. ¿Cuál es la media de la nueva nube?

m=m =m=aceptado: ± 0.005
5Elección10 ptsSin responder

En el filtro bootstrap, ¿qué paso mira la observación de hoy?

6Ordenar los pasos10 ptsSin responder

Ponga en orden los pasos de un día del filtro bootstrap.

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

  1. 1Remuestrear la nube
  2. 2Mover cada partícula con el movimiento aleatorio del modelo
  3. 3Tomar el promedio ponderado como estimación
  4. 4Ponderar cada partícula por la verosimilitud de la observación
7Emparejar10 ptsSin responder

Empareje cada término con su significado.

Elige la pareja de cada elemento de la izquierda.

Partícula
Peso
Propagar
Remuestrear
8Explicar con palabras15 ptsSin responder

En una o dos frases, explique por qué un filtro de partículas puede usarse cuando el modelo es no lineal o no gaussiano, mientras que el filtro de Kalman no.

Modo matemáticasEntrada por teclado o LaTeXEjercicio 1 de 8 · 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