σμ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 1 · Estados ocultos que se movem›Tópico 1.2·~50 minAvançado

Revisão do filtro de Kalman

Posição no roteiroMódulo 1 de 3 · Tópico 2 de 2
1.2 Revisão do filtro de Kalman
—Nota do lab— / 100XP total—Sequência—

O filtro para curvas em sino

Quando o estado se move de forma linear e todo o ruído tem forma de sino, acontece algo bom: a crença sobre o estado continua sendo um sino para sempre. Um sino só precisa de dois números, sua média mmm e sua variância PPP, então um filtro só precisa carregar esses dois. É o filtro de Kalman, e é a resposta exata nesse cenário. A cada dia ele faz dois passos. Prever: a média fica, a variância cresce qqq. Atualizar: a observação yyy puxa a média para si numa fração KKK, chamada ganho, e a variância diminui.

P−=P+q,K=P−P−+r,m=m−+K (y−m−),P=(1−K) P−P^{-}=P+q,\quad K=\frac{P^{-}}{P^{-}+r},\quad m=m^{-}+K\,(y-m^{-}),\quad P=(1-K)\,P^{-}P−=P+q,K=P−+rP−​,m=m−+K(y−m−),P=(1−K)P−(1)

A atualização é só uma média ponderada: a nova média é (1−K) m−+K y(1-K)\,m^{-}+K\,y(1−K)m−+Ky. O ganho KKK fica entre 000 e 111. Aproxima-se de 111 quando a previsão é muito incerta (P−P^{-}P− grande) ou a observação é precisa (rrr pequeno), então se confia nos dados. Aproxima-se de 000 no caso oposto, e se confia na previsão. A diferença y−m−y-m^{-}y−m− é a surpresa, chamada inovação. Cada atualização reduz a variância, pois 1−K<11-K<11−K<1, enquanto cada previsão a aumenta em qqq. Com tempo suficiente os dois se equilibram num nível estável.

Dois dias de filtragemTome a crença N(0,2)N(0,2)N(0,2), q=0,5q=0{,}5q=0,5, r=1r=1r=1 e a primeira observação y1=2y_1=2y1​=2. Previsão: P−=2,5P^{-}=2{,}5P−=2,5. Ganho: K=2,5/3,5=0,714K=2{,}5/3{,}5=0{,}714K=2,5/3,5=0,714. Atualização: m1=0+0,714×2=1,429m_1=0+0{,}714\times2=1{,}429m1​=0+0,714×2=1,429 e P1=(1−0,714)×2,5=0,714P_1=(1-0{,}714)\times2{,}5=0{,}714P1​=(1−0,714)×2,5=0,714. No dia seguinte, y2=1y_2=1y2​=1: previsão P−=0,714+0,5=1,214P^{-}=0{,}714+0{,}5=1{,}214P−=0,714+0,5=1,214 e K=1,214/2,214=0,548K=1{,}214/2{,}214=0{,}548K=1,214/2,214=0,548. A surpresa é 1−1,429=−0,4291-1{,}429=-0{,}4291−1,429=−0,429, então m2=1,429−0,548×0,429=1,194m_2=1{,}429-0{,}548\times0{,}429=1{,}194m2​=1,429−0,548×0,429=1,194. No longo prazo a variância prevista se estabiliza onde P−=q+P−r/(P−+r)P^{-}=q+P^{-}r/(P^{-}+r)P−=q+P−r/(P−+r), que para esses números é exatamente 111 e dá um ganho estável de 0,50{,}50,5.

O mesmo filtro acompanha um beta variável. O estado é o beta βt\beta_tβt​, que deriva como um passeio aleatório, e a observação é o retorno de uma ação yt=βt mt+ety_t=\beta_t\,m_t+e_tyt​=βt​mt​+et​, em que mtm_tmt​ é o retorno do mercado. A única mudança é que o ganho passa a ser K=P−mt/(P−mt2+r)K=P^{-}m_t/(P^{-}m_t^{2}+r)K=P−mt​/(P−mt2​+r): um grande movimento do mercado ensina muito sobre o beta, um dia com mt≈0m_t\approx0mt​≈0 ensina quase nada. Na Apple contra o SPY desde 2005, o beta da amostra toda é 1,071{,}071,07, enquanto um filtro de Kalman com q=10−3q=10^{-3}q=10−3 o coloca em 0,770{,}770,77 no fim de 2008, 1,421{,}421,42 no fim de 2018 e 0,400{,}400,40 no último dia, com erro padrão de cerca de 0,250{,}250,25.

  • Dois números por dia: uma média e uma variância bastam quando tudo é linear e em sino.
  • O ganho é um botão de confiança: KKK perto de 111 confia nos dados novos, perto de 000 na previsão.
  • Limites: se a própria volatilidade é oculta ou o ruído tem caudas grossas, a crença deixa de ser um sino e precisamos de partículas.

Lab: o que é avaliado

  • O primeiro ganho15 pts
  • A média atualizada15 pts
  • A variância atualizada10 pts
  • Segundo dia15 pts
  • O nível estável10 pts
  • Uma observação mais ruidosa10 pts
  • Associar o vocabulário10 pts
  • Por que uma atualização reduz a variância15 pts
0/ 8 respondidas
Tarefas
1Resposta numérica15 ptsSem resposta

Com variância prevista P−=2,5P^{-}=2{,}5P−=2,5 e ruído de medição r=1r=1r=1, qual é o ganho K=P−/(P−+r)K=P^{-}/(P^{-}+r)K=P−/(P−+r)? Dê três casas decimais.

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

A média prevista é 000, a observação é y1=2y_1=2y1​=2 e o ganho é K=0,714K=0{,}714K=0,714. Quanto vale a média atualizada m1=m−+K(y1−m−)m_1=m^{-}+K(y_1-m^{-})m1​=m−+K(y1​−m−)? Dê três casas decimais.

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

Com P−=2,5P^{-}=2{,}5P−=2,5 e K=0,714K=0{,}714K=0,714, quanto vale a variância atualizada P1=(1−K)P−P_1=(1-K)P^{-}P1​=(1−K)P−? Dê três casas decimais.

P=P =P=aceito: ± 0.003
4Resposta numérica15 ptsSem resposta

No segundo dia a média prevista é 1,4291{,}4291,429 e o ganho K=0,548K=0{,}548K=0,548. A nova observação é y2=1y_2=1y2​=1. Quanto vale a média atualizada m2m_2m2​? Dê três casas decimais.

m=m =m=aceito: ± 0.003
5Resposta numérica10 ptsSem resposta

No longo prazo a variância prevista aaa cumpre a=q+a r/(a+r)a=q+a\,r/(a+r)a=q+ar/(a+r). Verifique qual valor a resolve com q=0,5q=0{,}5q=0,5, r=1r=1r=1: a=1a=1a=1 serve? Digite o valor de q+a r/(a+r)q+a\,r/(a+r)q+ar/(a+r) quando a=1a=1a=1.

v=v =v=aceito: ± 0.001
6Escolha10 ptsSem resposta

O ruído de medição rrr fica muito maior e o resto não muda. O que acontece com o ganho e com a média atualizada?

7Associar10 ptsSem resposta

Associe cada termo ao seu significado.

Escolha o par de cada item da esquerda.

Ganho K
Inovação
Variância prevista
Variância atualizada
8Explicar com palavras15 ptsSem resposta

Em uma ou duas frases, explique por que a variância após uma atualização, P=(1−K)P−P=(1-K)P^{-}P=(1−K)P−, nunca é maior que a variância prevista.

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