σμ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 scikit-learn›Módulo 2 · Os modelos centrais›Tópico 2.2·~50 minIntermediário

Caminhos ridge, lasso e elastic net em código

Posição no roteiroMódulo 2 de 4 · Tópico 2 de 6
2.2 Caminhos ridge, lasso e elastic net em código
—Nota do lab— / 100XP total—Sequência—

Penalidades, caminhos e ajuste honesto

Com sessenta regressores ruidosos, os mínimos quadrados ordinários ajustam o ruído. Uma penalidade acrescenta um preço aos coeficientes grandes. Ridge(alpha) cobra a soma dos quadrados: todos os coeficientes encolhem, nenhum chega a zero. Lasso(alpha) cobra a soma dos valores absolutos: conforme alpha cresce, os coeficientes caem a zero exato um após o outro, então o lasso também seleciona variáveis. ElasticNet(alpha, l1_ratio) mistura os dois, o que ajuda quando regressores correlacionados fariam o lasso escolher um deles ao acaso. A penalidade só trata os coeficientes com justiça se as colunas estiverem na mesma escala, então padroniza-se primeiro, e só com a média e o desvio de treino; senão as linhas de teste vazam para a escala. Percorrer uma grade de alpha anotando quantos coeficientes sobrevivem, ou o tamanho da solução ridge, dá o caminho de regularização.

Quanta penalidade? Não a que melhor ajusta o passado: essa é alpha perto de zero. Escolhe-se alpha por teste walk-forward: em cada dobra, padroniza-se com as linhas de treino, ajusta-se nelas, preveem-se as linhas de teste e avaliam-se as previsões pela correlação de postos com os resultados (o coeficiente de informação). Se um alpha grande zera todos os coeficientes, as previsões são constantes e a correlação não é definida; avalia-se então como 0. Para o retorno diário do SPY contra os retornos do dia anterior de outros 60 ativos, o lasso mantém 57 coeficientes com α=10⁻⁵, 38 com 10⁻⁴, 15 com 3,2×10⁻⁴ e 7 com 10⁻³, enquanto a norma ridge cai de 0,0043 para 0,0005 sem que nenhum coeficiente chegue a zero. O IC walk-forward tem pico em α=3,2×10⁻⁴ com cerca de 0,022: um número modesto e honesto que um ajuste sem penalidade nunca mostraria.

  • Ridge encolhe, lasso seleciona, elastic net faz as duas coisas: percorra cada um numa grade de alpha.
  • Padronize só com as linhas de treino: uma penalidade depende da escala, e as linhas de teste não podem defini-la.
  • Ajuste alpha fora da amostra: avalie por correlação de postos walk-forward e trate uma previsão constante como 0.

Lab: o que é avaliado

  • Padronizar sem espiar10 pts
  • O caminho do lasso15 pts
  • O caminho do ridge10 pts
  • Uma nota walk-forward25 pts
  • Escolher alpha15 pts
  • O que o elastic net mantém10 pts
  • O estudo completo do caminho15 pts
Explorador · lab-sl-16
▾ lab-sl-16
▾ data
…
bash · no navegador
learner@quantcraft:~/lab-sl-16$
Python ainda não carregadoPythonLn 1, Col 1Spaces: 4UTF-8

Redefinir este tópico?

Tudo em lab-sl-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