σμ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 statsmodels›Módulo 2 · Modelos de séries temporais›Tópico 2.3·~55 minAvançado

Previsões SARIMAX julgadas fora da amostra

Posição no roteiroMódulo 2 de 3 · Tópico 3 de 9
2.3 Previsões SARIMAX julgadas fora da amostra
—Nota do lab— / 100XP total—Sequência—

Uma previsão vale o que vale o seu teste

Um modelo ARIMA(p,d,q) explica uma série yₜ pelo seu passado e por choques passados, depois de diferenciar d vezes: com d=0, um AR(1) é yₜ=c+φ yₜ₋₁+eₜ, reverte à média quando |φ|<1 e tem média de longo prazo μ=c/(1-φ). SARIMAX(y, order=(p, d, q), trend='c') o ajusta por máxima verossimilhança; trend='c' acrescenta a constante, que só faz sentido com d=0 (uma série diferenciada não tem nível ao qual voltar). O objeto ajustado dá params, aic e get_forecast(steps). O AIC =2k-2ln L equilibra ajuste e número de parâmetros k; entre candidatos ajustados aos mesmos dados prefere-se o menor AIC, mas só uma diferença de alguns pontos significa algo. Para a log-volatilidade mensal do SPY, um ARMA(1,1) (AIC 271,9) e um AR(2) (272,7) superam por pouco o AR(1) (275,0), e diferenciar é bem pior (290,5).

O ajuste dentro da amostra diz pouco sobre previsão. O teste honesto é a origem móvel: em cada origem t₀, ajuste só com y_1..t₀, preveja h passos e compare com o valor que de fato veio, y_(t₀+h). Reúna os erros e pontue-os com o RMSE, √(média(e²)). Inclua sempre referências: a previsão ingênua (o último valor) e a média histórica. A habilidade 1-RMSE_modelo/RMSE_referência é positiva quando o modelo vence. Aqui, a um mês o AR(1) tem RMSE de 0,373 contra 0,451 (ingênua) e 0,419 (média): habilidade 0,17 e 0,11. A doze meses seu RMSE é 0,526, idêntico ao da média, e sua habilidade sobre a ingênua (0,34) vem apenas da falha da ingênua: a previsão AR(1) simplesmente decaiu para a média, de -2,09 a -2,01. Saber com que rapidez uma previsão reverte à média diz até onde o modelo sabe alguma coisa.

  • Constante só sem diferenciar; compare ordens pelo AIC e confie apenas em diferenças de alguns pontos.
  • Origem móvel: reajuste em cada origem só com dados passados; nunca pontue uma previsão com dados que o ajuste viu.
  • Vença sempre uma referência: a previsão ingênua e a média histórica; habilidade 1-RMSEₘ/RMSE_b.

Lab: o que é avaliado

  • O ajuste SARIMAX10 pts
  • Previsões pontuais10 pts
  • Comparar ordens15 pts
  • Erros de origens móveis25 pts
  • O RMSE5 pts
  • Habilidade de previsão10 pts
  • O estudo da volatilidade25 pts
Explorador · lab-sx-16
▾ lab-sx-16
▾ data
…
bash · no navegador
learner@quantcraft:~/lab-sx-16$
Python ainda não carregadoPythonLn 1, Col 1Spaces: 4UTF-8

Redefinir este tópico?

Tudo em lab-sx-16 volta aos arquivos iniciais e o terminal é limpo. Sua solução atual será perdida — isso não pode ser desfeito.

Será redefinido
  • main.py → código inicial
  • Histórico do terminal e saída dos testes
  • Alterações não enviadas
Será mantido
  • Melhor nota do lab
  • Seu XP e sua sequência
  • Progresso da aula e anotações

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