Skip to content

quantthieres/capm-analysis-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CAPM Analysis em Python

Este projeto implementa o modelo de precificação de ativos (CAPM) utilizando dados reais de mercado, com foco na estimação empírica e interpretação econômica dos resultados.

CAPM VALE3 vs BVSP

Objetivo

Analisar a relação entre risco e retorno de um ativo em relação ao mercado, estimando:

  • Beta (risco sistemático)
  • Alpha (retorno anormal)
  • Significância estatística
  • Poder explicativo do modelo (R²)

Metodologia

  1. Coleta de dados via Yahoo Finance

  2. Cálculo de retornos logarítmicos mensais

  3. Cálculo de retornos em excesso:

    Ri − Rf = α + β (Rm − Rf) + ε

  4. Estimação via regressão OLS (statsmodels)


Ferramentas

  • Python
  • Pandas
  • NumPy
  • Statsmodels
  • Matplotlib
  • yfinance

Resultados

Exemplo de output da regressão:

  • Beta: 0.79
  • Alpha: ~0 (não significativo)
  • R²: 0.25

Interpretação dos Resultados

Beta

Valor Significado
β > 1 Mais volátil que o mercado — sobe e cai mais
β = 1 Move igual ao mercado
β < 1 Menos volátil que o mercado — mais defensivo
β < 0 Move na direção oposta ao mercado (raro)

Neste caso: β ≈ 0.79, indicando que o ativo é menos sensível ao mercado (perfil mais defensivo).


Alpha

  • α > 0 → ativo superou o esperado
  • α = 0 → retorno compatível com o risco
  • α < 0 → desempenho abaixo do esperado

O alpha estimado é próximo de zero (~0,08% ao mês) e não apresenta significância estatística. Isso indica que não há evidência de retornos acima do previsto pelo CAPM, sugerindo que o ativo está corretamente precificado em relação ao risco sistemático.


Mede quanto da variação do ativo é explicada pelo mercado.

  • R² alto (> 0,7) → forte dependência do mercado
  • R² baixo (< 0,3) → outros fatores dominam

Neste caso: R² ≈ 0.25, o que é esperado para ativos individuais, indicando que o mercado explica apenas parte dos retornos. Significa que apenas 25% da variação do retorno da VALE3 é explicada pelo Ibovespa. Os outros 75% vêm de fatores que o CAPM ignora.

Esse "outras coisas" no caso da VALE3 são principalmente:

Preço do minério de ferro (cotado em USD, determinado pela demanda chinesa) Câmbio BRL/USD (receita em dólar, custo em real) Decisões regulatórias (royalties, licenças ambientais)


Prêmio de risco

Se ( R_m - R_f < 0 ), o mercado rendeu menos que a taxa livre de risco.

Nesse cenário, o CAPM perde interpretação econômica, pois o modelo assume prêmio de risco positivo.

Isso é relevante para o Brasil, onde houve períodos prolongados com CDI elevado.


Retorno esperado (CAPM)

E(Ri) = Rf + β (Rm − Rf)

O modelo CAPM estima o retorno esperado do ativo com base em seu risco sistemático (beta).

Neste caso:

  • Retorno esperado mensal: ~0,61%
  • Retorno esperado anual: ~7,57%

👉 Esse valor representa o retorno “justo” para o ativo, dado seu nível de risco em relação ao mercado.

No entanto, observa-se que o retorno esperado é inferior à taxa livre de risco (CDI ≈ 14,5% a.a.).

Isso ocorre porque, no período analisado, o retorno do mercado foi inferior ao da taxa livre de risco, gerando um prêmio de risco negativo.

Nesse contexto, o CAPM implica que ativos com maior exposição ao mercado (beta positivo) apresentam menor retorno esperado.

Esse resultado reforça uma limitação importante do modelo: sua dependência de um prêmio de risco positivo, o que nem sempre ocorre em economias como a brasileira.


Análise da distribuição dos retornos

Além da estimação do CAPM, o projeto também compara a distribuição empírica dos retornos logarítmicos com ajustes Normal e t de Student.

Essa etapa ajuda a mostrar que retornos financeiros frequentemente apresentam caudas mais pesadas do que a distribuição Normal, o que limita hipóteses simplificadoras usadas em vários modelos.

Distribuição dos retornos

Como interpretar os resultados

Estatística Valor
Média dos retornos 0.000321
Desvio-padrão 0.024477
Curtose 11.871881
Excesso de curtose 8.871881
Parâmetro da t de Student Valor
Graus de liberdade (df) 3.661806
Loc 0.000084
Scale 0.016834

Caso 1: excesso de curtose > 0

Significa:

  • A distribuição apresenta caudas mais pesadas
  • Existe maior probabilidade de eventos extremos do que a prevista pela Normal

Esse é o padrão mais comum em retornos financeiros; cenário mais realista.


Caso 2: a t de Student se ajusta melhor nas caudas

Significa:

  • A distribuição t representa melhor o comportamento dos dados
  • A distribuição Normal está subestimando movimentos extremos
  • O risco de grandes perdas ou ganhos é maior do que o modelo normal sugere

Caso 3: graus de liberdade (df) baixos

Exemplo:

  • df = 4
  • df = 6
  • df = 8

Significa:

  • A distribuição possui caudas pesadas
  • Quanto menor o df, maior a diferença em relação à Normal
  • Quanto maior o df, mais a t de Student se aproxima de uma distribuição Normal

No caso analisado, da VALE3.SA, (df ≈ 3,66), a evidência de caudas pesadas é forte.


Limitações do CAPM ⚠️

  1. Um único fator
    Assume que apenas o mercado explica retornos — o que é insuficiente para ativos como VALE3.

  2. Taxas constantes
    Na prática, taxa livre de risco e retornos variam ao longo do tempo.

  3. Distribuição normal
    Retornos financeiros apresentam caudas gordas (eventos extremos).

  4. Hipótese de mercado eficiente
    Nem sempre válida na prática.


Principais Insights

  • O CAPM captura o risco sistemático, mas não explica totalmente os retornos
  • Beta é estatisticamente significativo, indicando relação com o mercado
  • O baixo R² reforça a importância de outros fatores (setor, commodities, macro)

Distribuição dos retornos

  • Os retornos apresentam excesso de curtose elevado (~8,87), indicando caudas pesadas
  • Eventos extremos (grandes altas e quedas) ocorrem com frequência maior do que a prevista pela distribuição Normal
  • A distribuição t de Student se ajusta melhor aos dados, especialmente nas caudas
  • O baixo número de graus de liberdade (df ≈ 3,66) reforça a presença de risco extremo

Implicações para modelagem

  • A hipótese de normalidade, comum em muitos modelos financeiros, não se sustenta para este ativo
  • O risco de eventos extremos tende a ser subestimado por modelos baseados em distribuição Normal
  • Isso ajuda a explicar o baixo poder explicativo do CAPM (R²), já que o modelo não captura bem esses eventos

Conexão entre CAPM e distribuição

  • O CAPM assume implicitamente um comportamento mais estável dos retornos
  • No entanto, a evidência empírica mostra que os retornos são mais voláteis e apresentam caudas pesadas
  • Isso reforça que o CAPM deve ser interpretado como uma aproximação, e não como um modelo completo da realidade

Releases

No releases published

Packages

 
 
 

Contributors