σμ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 AcademyRoadmapsRoteiros
Ctrl K
AO
+1,2 mil alunos
EntrarParticipar ↗
RoadmapsRoteiros
AO
+1,2 mil alunos
Entrar
  • 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 AcademyRoadmapsRoteiros
Ctrl K
AO
+1,2 mil alunos
EntrarParticipar ↗
RoadmapsRoteiros
AO
+1,2 mil alunos
Entrar
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Roteiro de Particle filtering and non-stationary time series›Módulo 2 · Filtros de partículas›Tópico 2.2·~1 h 5 minAvançado

O filtro de partículas bootstrap

Posição no roteiroMódulo 2 de 3 · Tópico 2 de 5
2.2 O filtro de partículas bootstrap
—Nota do lab— / 100XP total—Sequência—

Uma nuvem que segue o estado

Um filtro de partículas guarda a crença sobre o estado oculto como uma nuvem de NNN partículas. Cada partícula é um valor possível do estado e carrega um peso que diz quão plausível ela é. Nenhum sino é suposto, então a nuvem pode ter qualquer forma. Cada dia segue o mesmo ciclo. Propagar: mover cada partícula com o movimento aleatório do próprio modelo. Ponderar: dar a cada partícula um peso igual à verossimilhança da observação de hoje dada essa partícula. Estimar: a média filtrada é a média ponderada das partículas. Reamostrar: sortear uma nuvem nova em que as boas partículas são copiadas e as ruins desaparecem.

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)

Chama-se filtro bootstrap porque a proposta é a mais simples: a transição do próprio modelo. Assim o peso de uma partícula é exatamente a verossimilhança. A receita serve para qualquer modelo que se possa simular para frente e cuja verossimilhança da observação se possa avaliar: estados não lineares, caudas grossas, volatilidade oculta, onde o filtro de Kalman não tem resposta exata. O preço é o acaso. Duas execuções com números aleatórios diferentes dão respostas um pouco diferentes, e o erro diminui como 1/N1/\sqrt N1/N​. Na prática fixa-se a semente aleatória para poder reproduzir uma execução.

Um ciclo com quatro partículasApós a propagação as quatro partículas estão em −1,0,1,2-1,0,1,2−1,0,1,2 e observa-se y=1y=1y=1 com r=1r=1r=1. As verossimilhanças são 0,054, 0,242, 0,399, 0,2420{,}054,\ 0{,}242,\ 0{,}399,\ 0{,}2420,054, 0,242, 0,399, 0,242 (a densidade normal, com o fator 1/2π1/\sqrt{2\pi}1/2π​) e os pesos 0,058, 0,258, 0,426, 0,2580{,}058,\ 0{,}258,\ 0{,}426,\ 0{,}2580,058, 0,258, 0,426, 0,258. A média filtrada é 0,8850{,}8850,885. A verossimilhança média, 0,2340{,}2340,234, estima quão provável era a observação, e a soma dos logaritmos dessas médias em todos os dias é a log-verossimilhança do modelo. Para reamostrar, sorteiam-se uniformes 0,05, 0,5, 0,6, 0,90{,}05,\ 0{,}5,\ 0{,}6,\ 0{,}90,05, 0,5, 0,6, 0,9 e procuram-se nos pesos acumulados 0,058, 0,316, 0,742, 10{,}058,\ 0{,}316,\ 0{,}742,\ 10,058, 0,316, 0,742, 1. Eles escolhem as partículas 1,3,3,41,3,3,41,3,3,4, então a nova nuvem é −1,1,1,2-1,1,1,2−1,1,1,2 com pesos iguais 0,250{,}250,25 e média 0,750{,}750,75.
  • Quatro passos por dia: propagar, ponderar, estimar, reamostrar.
  • Peso = verossimilhança: só o passo de ponderação olha a observação de hoje.
  • Qualquer modelo que se possa simular: trata casos não lineares e não gaussianos ao preço de um erro aleatório da ordem de 1/N1/\sqrt N1/N​.
Quão perto de Kalman?No modelo de beta da Apple, onde Kalman é exato, um filtro bootstrap com 500500500 partículas difere dele em 0,0160{,}0160,016 em média, e com 200020002000 partículas em 0,00650{,}00650,0065. Quadruplicar as partículas reduziu o erro aproximadamente à metade, como prevê 1/N1/\sqrt N1/N​.

Lab: o que é avaliado

  • O peso de uma partícula15 pts
  • A média filtrada15 pts
  • Verossimilhança da observação15 pts
  • Depois da reamostragem10 pts
  • Qual passo usa os dados10 pts
  • O ciclo diário10 pts
  • Associar o vocabulário10 pts
  • Por que as partículas superam o Kalman aqui15 pts
0/ 8 respondidas
Tarefas
1Resposta numérica15 ptsSem resposta

As quatro partículas em −1,0,1,2-1,0,1,2−1,0,1,2 têm verossimilhanças 0,054, 0,242, 0,399, 0,2420{,}054,\ 0{,}242,\ 0{,}399,\ 0{,}2420,054, 0,242, 0,399, 0,242, que somam 0,9370{,}9370,937. Qual é o peso normalizado da partícula em 111? Dê três casas decimais.

w=w =w=aceito: ± 0.002
2Resposta numérica15 ptsSem resposta

As partículas −1,0,1,2-1,0,1,2−1,0,1,2 têm pesos 0,058, 0,258, 0,426, 0,2580{,}058,\ 0{,}258,\ 0{,}426,\ 0{,}2580,058, 0,258, 0,426, 0,258. Qual é a média filtrada, a média ponderada das partículas? Dê três casas decimais.

m=m =m=aceito: ± 0.003
3Resposta numérica15 ptsSem resposta

As verossimilhanças das quatro partículas somam 0,9370{,}9370,937. O filtro estima a probabilidade da observação como a média delas. Quanto vale? Dê três casas decimais.

p=p =p=aceito: ± 0.002
4Resposta numérica10 ptsSem resposta

A reamostragem escolheu as partículas −1, 1, 1, 2-1,\ 1,\ 1,\ 2−1, 1, 1, 2, cada uma com peso 0,250{,}250,25. Qual é a média da nova nuvem?

m=m =m=aceito: ± 0.005
5Escolha10 ptsSem resposta

No filtro bootstrap, qual passo olha a observação de hoje?

6Ordenar os passos10 ptsSem resposta

Coloque em ordem os passos de um dia do filtro bootstrap.

Arraste para reordenar, ou foque um item, Espaço para levantá-lo, setas para movê-lo e Espaço para soltá-lo.

  1. 1Reamostrar a nuvem
  2. 2Mover cada partícula com o movimento aleatório do modelo
  3. 3Tomar a média ponderada como estimativa
  4. 4Ponderar cada partícula pela verossimilhança da observação
7Associar10 ptsSem resposta

Associe cada termo ao seu significado.

Escolha o par de cada item da esquerda.

Partícula
Peso
Propagar
Reamostrar
8Explicar com palavras15 ptsSem resposta

Em uma ou duas frases, explique por que um filtro de partículas pode ser usado quando o modelo é não linear ou não gaussiano, enquanto o filtro de Kalman não pode.

Modo matemáticaEntrada por teclado ou LaTeXTarefa 1 de 8 · Ctrl ⏎ para verificar

Entre para executar o seu código.

Todas as aulas são gratuitas para ler. Crie uma conta ou entre para executar código, rodar os testes e enviar este lab.

  • IDE no navegador com terminal bash — nada para instalar
  • Correção instantânea, XP e o seu lugar no roteiro
Criar uma contaEntrar
OU
Continuar com o GitHub