σμ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 1 · A regressão e suas verificações›Tópico 1.9·~50 minIntermediário

Logit e efeitos marginais para a direção

Posição no roteiroMódulo 1 de 3 · Tópico 9 de 10
1.9 Logit e efeitos marginais para a direção
—Nota do lab— / 100XP total—Sequência—

Uma pergunta de sim/não precisa de um logit

Quando o resultado é sim ou não (o SPY sobe amanhã?), uma regressão em linha reta pode prever probabilidades abaixo de 0 ou acima de 1. O modelo logit faz uma pontuação linear passar por uma curva: P(alta)=1/(1+e^(-z)) com z=β₀+β₁x₁+…. No statsmodels é uma linha, smf.logit('up ~ ret + vol20 + spread', data).fit(disp=0), e res.predict(data) devolve a probabilidade de cada linha. Os coeficientes são mudanças no log das chances, difíceis de sentir. Duas traduções ajudam. e^β é a razão de chances: o fator pelo qual as chances de «alta» são multiplicadas quando a variável sobe uma unidade (0,95 significa um corte de 5%). O efeito marginal médio, res.get_margeff().summary_frame()['dy/dx'], diz quantos pontos de probabilidade mais uma unidade acrescenta, em média sobre todas as linhas.

Um modelo de direção precisa vencer uma linha de base trivial, e nos mercados ela é forte: o SPY subiu em 55,0% dos 5.345 dias, então uma regra que sempre diz «sobe» acerta 55,0% das vezes. O logit com o retorno de ontem, a volatilidade de 20 dias e o spread 10 menos 2 anos dá uma razão de chances de 0,95 para o retorno (um retorno um ponto maior reduz as chances de alta em 5%; o efeito marginal é -1,26 ponto) e um R² de McFadden de 0,0007, praticamente nada. Sua taxa de acerto é de 55,2% contra 55,0% de sempre dizer «sobe», porque o modelo prevê probabilidade acima de 0,5 em 99% dos dias. Um valor p abaixo de 5% diz que o coeficiente provavelmente não é zero; não diz que o modelo é útil. Ponha sempre a taxa de acerto ao lado da ingênua.

  • Os coeficientes são log-chances: traduza-os em razões de chances (exp) ou em efeitos marginais sobre a probabilidade.
  • Compare com a regra ingênua: prever sempre a direção majoritária é a base que um modelo deve vencer.
  • Significativo não é útil: um R² de McFadden de 0,0007 é um coeficiente mensurável e uma previsão inutilizável.

Lab: o que é avaliado

  • A tabela diária15 pts
  • O ajuste logit10 pts
  • Razões de chances10 pts
  • Efeitos marginais médios15 pts
  • A taxa de acerto do modelo10 pts
  • A linha de base ingênua10 pts
  • O estudo completo30 pts
Explorador · lab-sx-14
▾ lab-sx-14
▾ data
…
bash · no navegador
learner@quantcraft:~/lab-sx-14$
Python ainda não carregadoPythonLn 1, Col 1Spaces: 4UTF-8

Redefinir este tópico?

Tudo em lab-sx-14 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