σμ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 Stochastic Calculus›Módulo 5 · Simulação e prática›Tópico 5.1·~55 minAvançado

Esquemas de Euler-Maruyama e Milstein

Posição no roteiroMódulo 5 de 5 · Tópico 1 de 2
5.1 Esquemas de Euler-Maruyama e Milstein
—Nota do lab— / 100XP total—Sequência—

Simular uma equação aleatória

A maioria das equações estocásticas não tem fórmula para a solução, então as simulamos. Corta-se o tempo em passos de tamanho hhh. O esquema de Euler-Maruyama move o estado pela deriva de um passo mais a volatilidade vezes um passo aleatório ΔW\Delta WΔW, um número normal de média 000 e variância hhh. Para dX=a(X) dt+b(X) dWdX=a(X)\,dt+b(X)\,dWdX=a(X)dt+b(X)dW fica Xn+1=Xn+a(Xn) h+b(Xn) ΔWX_{n+1}=X_n+a(X_n)\,h+b(X_n)\,\Delta WXn+1​=Xn​+a(Xn​)h+b(Xn​)ΔW. É a regra mais simples: a versão estocástica do método de Euler.

Xn+1=Xn+a(Xn) h+b(Xn) ΔWX_{n+1}=X_n+a(X_n)\,h+b(X_n)\,\Delta WXn+1​=Xn​+a(Xn​)h+b(Xn​)ΔW(1)

O esquema de Milstein acrescenta um termo, 12 b b′(ΔW2−h)\tfrac12\,b\,b'(\Delta W^{2}-h)21​bb′(ΔW2−h). Ele vem da variação quadrática e corrige a parte do erro que Euler ignora. Para o movimento browniano geométrico b=σxb=\sigma xb=σx, então b b′=σ2xb\,b'=\sigma^{2}xbb′=σ2x. Quão bons são os esquemas? O erro forte mede quão perto cada trajetória simulada está da real: Euler é de ordem 12\tfrac1221​ (o erro cai como h\sqrt hh​) e Milstein de ordem 111 (como hhh). O erro fraco mede quão perto estão as médias, como um preço de opção: ambos são de ordem 111. Então, para precificar uma opção europeia, Euler com muitas trajetórias costuma bastar. Para testes de hedge ou produtos dependentes da trajetória, Milstein compensa.

Xn+1=Xn+a h+b ΔW+12 b b′ (ΔW2−h)X_{n+1}=X_n+a\,h+b\,\Delta W+\tfrac12\,b\,b'\,(\Delta W^{2}-h)Xn+1​=Xn​+ah+bΔW+21​bb′(ΔW2−h)(2)
Um passo, três respostasTome x=100x=100x=100, μ=0,05\mu=0{,}05μ=0,05, σ=0,2\sigma=0{,}2σ=0,2, h=0,01h=0{,}01h=0,01 e um sorteio ΔW=0,2\Delta W=0{,}2ΔW=0,2. Euler dá 100+0,05+4=104,05100+0{,}05+4=104{,}05100+0,05+4=104,05. Milstein acrescenta 12×0,04×100×(0,04−0,01)=0,06\tfrac12\times0{,}04\times100\times(0{,}04-0{,}01)=0{,}0621​×0,04×100×(0,04−0,01)=0,06 e dá 104,11104{,}11104,11. A solução exata do movimento browniano geométrico é 100 e(0,05−0,02)×0,01+0,2×0,2=104,1123100\,e^{(0{,}05-0{,}02)\times0{,}01+0{,}2\times0{,}2}=104{,}1123100e(0,05−0,02)×0,01+0,2×0,2=104,1123. Milstein fica bem mais perto.
  • Euler-Maruyama: a deriva de um passo mais a volatilidade vezes um passo normal. Ordem forte 12\tfrac1221​.
  • Milstein: acrescenta 12 b b′(ΔW2−h)\tfrac12\,b\,b'(\Delta W^{2}-h)21​bb′(ΔW2−h) e atinge a ordem forte 111.
  • Erro forte e fraco: trajetórias contra médias. Precificar precisa do erro fraco, de ordem 111 nos dois.

Lab: o que é avaliado

  • Um passo de Euler15 pts
  • Um passo de Milstein15 pts
  • O erro de Euler ao reduzir o passo15 pts
  • O erro de Milstein ao reduzir o passo15 pts
  • Qual erro importa para precificar15 pts
  • Associar o vocabulário10 pts
  • Por que Milstein supera Euler15 pts
0/ 7 respondidas
Tarefas
1Resposta numérica15 ptsSem resposta

Para dX=μX dt+σX dWdX=\mu X\,dt+\sigma X\,dWdX=μXdt+σXdW tome x=100x=100x=100, μ=0,05\mu=0{,}05μ=0,05, σ=0,2\sigma=0{,}2σ=0,2, h=0,01h=0{,}01h=0,01 e ΔW=0,2\Delta W=0{,}2ΔW=0,2. O que dá um passo de Euler-Maruyama, x+μx h+σx ΔWx+\mu x\,h+\sigma x\,\Delta Wx+μxh+σxΔW? Dê duas casas decimais.

x=x =x=aceito: ± 0.01
2Resposta numérica15 ptsSem resposta

Some o termo de Milstein 12 σ2x (ΔW2−h)\tfrac12\,\sigma^{2}x\,(\Delta W^{2}-h)21​σ2x(ΔW2−h) ao resultado de Euler da tarefa anterior. Qual é o passo de Milstein? Dê duas casas decimais.

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

O erro forte de Euler é de ordem 12\tfrac1221​, então escala como h\sqrt hh​. É 0,040{,}040,04 em h=0,01h=0{,}01h=0,01. Quanto é em h=0,0025h=0{,}0025h=0,0025?

e=e =e=aceito: ± 0.0005
4Resposta numérica15 ptsSem resposta

O erro forte de Milstein é de ordem 111, então escala como hhh. É 0,010{,}010,01 em h=0,01h=0{,}01h=0,01. Quanto é em h=0,0025h=0{,}0025h=0,0025?

e=e =e=aceito: ± 0.0001
5Escolha15 ptsSem resposta

Você precifica uma opção europeia como o pagamento médio sobre trajetórias simuladas. Qual erro importa mais?

6Associar10 ptsSem resposta

Associe cada item ao seu significado.

Escolha o par de cada item da esquerda.

ΔW\Delta WΔW
Euler-Maruyama
Milstein
Erro fraco
7Explicar com palavras15 ptsSem resposta

Em uma ou duas frases, explique o que faz o termo extra de Milstein e por que ele ajuda.

Modo matemáticaEntrada por teclado ou LaTeXTarefa 1 de 7 · 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