IBOV

108.013,47 pts

+1,26%

SP500

4.554,25 pts

+0,47%

DJIA

35.177,20 pts

+0,42%

NASDAQ

15.147,86 pts

+0,66%

IFIX

2.807,06 pts

+0,17%

BRENT

US$ 87,86

-0,66%

IO62

¥ 741,50

+1,23%

TRAD3

R$ 4,18

-2,10%

ABEV3

R$ 14,54

-0,27%

AMER3

R$ 33,20

+9,89%

ASAI3

R$ 12,03

+0,92%

AZUL4

R$ 25,27

-1,32%

B3SA3

R$ 12,26

-0,40%

BIDI11

R$ 22,50

+8,69%

BBSE3

R$ 20,68

+1,82%

BRML3

R$ 8,73

+4,55%

BBDC3

R$ 17,62

-0,11%

BBDC4

R$ 21,10

-1,26%

BRAP4

R$ 28,71

+3,05%

BBAS3

R$ 31,01

+0,87%

BRKM5

R$ 49,20

+0,14%

BRFS3

R$ 23,71

+1,67%

BPAC11

R$ 19,90

+5,40%

CRFB3

R$ 15,04

+2,94%

CCRO3

R$ 11,34

+0,08%

CMIG4

R$ 12,96

+1,64%

HGTX3

R$ 37,51

+0,00%

CIEL3

R$ 2,08

+1,46%

COGN3

R$ 2,20

-2,22%

CPLE6

R$ 6,49

+2,04%

CSAN3

R$ 21,97

+3,09%

CPFE3

R$ 26,67

+1,79%

CVCB3

R$ 11,56

+4,23%

CYRE3

R$ 14,75

+7,58%

ECOR3

R$ 7,29

+1,67%

ELET3

R$ 33,04

+4,22%

ELET6

R$ 32,35

+3,32%

EMBR3

R$ 20,58

-2,78%

ENBR3

R$ 21,64

+2,36%

ENGI11

R$ 41,31

+0,07%

ENEV3

R$ 12,91

+2,86%

EGIE3

R$ 39,33

+1,60%

EQTL3

R$ 22,20

+1,64%

EZTC3

R$ 18,90

+6,41%

FLRY3

R$ 18,13

+1,62%

GGBR4

R$ 29,04

+1,53%

GOAU4

R$ 12,11

+2,45%

GOLL4

R$ 16,45

+0,42%

NTCO3

R$ 20,87

+3,11%

HAPV3

R$ 10,92

+3,80%

HYPE3

R$ 28,42

+1,39%

IGTA3

R$ 33,24

+0,00%

GNDI3

R$ 63,74

+3,64%

IRBR3

R$ 3,37

+0,59%

ITSA4

R$ 9,62

+0,10%

ITUB4

R$ 23,48

-0,67%

JBSS3

R$ 36,61

+0,02%

JHSF3

R$ 4,95

+1,22%

KLBN11

R$ 25,69

+2,22%

RENT3

R$ 49,85

+0,28%

LCAM3

R$ 22,45

+0,98%

LWSA3

R$ 8,64

+12,64%

LAME4

R$ 6,28

+9,40%

LREN3

R$ 24,85

+5,74%

MGLU3

R$ 6,31

+7,13%

MRFG3

R$ 22,69

+0,30%

BEEF3

R$ 9,87

-1,30%

MRVE3

R$ 11,24

+4,46%

MULT3

R$ 18,75

+2,40%

PCAR3

R$ 19,98

+1,62%

PETR3

R$ 34,25

-0,92%

PETR4

R$ 31,49

-0,47%

VBBR3

20,52

+4,69%

PRIO3

R$ 23,99

+0,29%

QUAL3

R$ 16,64

+3,61%

RADL3

R$ 20,54

-0,19%

RAIL3

R$ 16,73

+2,01%

SBSP3

R$ 35,69

+2,38%

SANB11

R$ 31,52

+0,19%

CSNA3

R$ 26,47

+2,63%

SULA11

R$ 23,77

+5,45%

SUZB3

R$ 61,85

-1,59%

TAEE11

R$ 36,81

+1,74%

VIVT3

R$ 48,69

+2,26%

TIMS3

R$ 12,99

+2,20%

TOTS3

R$ 25,30

+4,67%

UGPA3

R$ 13,23

+3,19%

USIM5

R$ 16,75

+1,26%

VALE3

R$ 88,21

+2,20%

VIIA3

R$ 4,00

+6,66%

WEGE3

R$ 30,50

-0,13%

YDUQ3

R$ 19,37

-1,32%

IBOV

108.013,47 pts

+1,26%

SP500

4.554,25 pts

+0,47%

DJIA

35.177,20 pts

+0,42%

NASDAQ

15.147,86 pts

+0,66%

IFIX

2.807,06 pts

+0,17%

BRENT

US$ 87,86

-0,66%

IO62

¥ 741,50

+1,23%

TRAD3

R$ 4,18

-2,10%

ABEV3

R$ 14,54

-0,27%

AMER3

R$ 33,20

+9,89%

ASAI3

R$ 12,03

+0,92%

AZUL4

R$ 25,27

-1,32%

B3SA3

R$ 12,26

-0,40%

BIDI11

R$ 22,50

+8,69%

BBSE3

R$ 20,68

+1,82%

BRML3

R$ 8,73

+4,55%

BBDC3

R$ 17,62

-0,11%

BBDC4

R$ 21,10

-1,26%

BRAP4

R$ 28,71

+3,05%

BBAS3

R$ 31,01

+0,87%

BRKM5

R$ 49,20

+0,14%

BRFS3

R$ 23,71

+1,67%

BPAC11

R$ 19,90

+5,40%

CRFB3

R$ 15,04

+2,94%

CCRO3

R$ 11,34

+0,08%

CMIG4

R$ 12,96

+1,64%

HGTX3

R$ 37,51

+0,00%

CIEL3

R$ 2,08

+1,46%

COGN3

R$ 2,20

-2,22%

CPLE6

R$ 6,49

+2,04%

CSAN3

R$ 21,97

+3,09%

CPFE3

R$ 26,67

+1,79%

CVCB3

R$ 11,56

+4,23%

CYRE3

R$ 14,75

+7,58%

ECOR3

R$ 7,29

+1,67%

ELET3

R$ 33,04

+4,22%

ELET6

R$ 32,35

+3,32%

EMBR3

R$ 20,58

-2,78%

ENBR3

R$ 21,64

+2,36%

ENGI11

R$ 41,31

+0,07%

ENEV3

R$ 12,91

+2,86%

EGIE3

R$ 39,33

+1,60%

EQTL3

R$ 22,20

+1,64%

EZTC3

R$ 18,90

+6,41%

FLRY3

R$ 18,13

+1,62%

GGBR4

R$ 29,04

+1,53%

GOAU4

R$ 12,11

+2,45%

GOLL4

R$ 16,45

+0,42%

NTCO3

R$ 20,87

+3,11%

HAPV3

R$ 10,92

+3,80%

HYPE3

R$ 28,42

+1,39%

IGTA3

R$ 33,24

+0,00%

GNDI3

R$ 63,74

+3,64%

IRBR3

R$ 3,37

+0,59%

ITSA4

R$ 9,62

+0,10%

ITUB4

R$ 23,48

-0,67%

JBSS3

R$ 36,61

+0,02%

JHSF3

R$ 4,95

+1,22%

KLBN11

R$ 25,69

+2,22%

RENT3

R$ 49,85

+0,28%

LCAM3

R$ 22,45

+0,98%

LWSA3

R$ 8,64

+12,64%

LAME4

R$ 6,28

+9,40%

LREN3

R$ 24,85

+5,74%

MGLU3

R$ 6,31

+7,13%

MRFG3

R$ 22,69

+0,30%

BEEF3

R$ 9,87

-1,30%

MRVE3

R$ 11,24

+4,46%

MULT3

R$ 18,75

+2,40%

PCAR3

R$ 19,98

+1,62%

PETR3

R$ 34,25

-0,92%

PETR4

R$ 31,49

-0,47%

VBBR3

20,52

+4,69%

PRIO3

R$ 23,99

+0,29%

QUAL3

R$ 16,64

+3,61%

RADL3

R$ 20,54

-0,19%

RAIL3

R$ 16,73

+2,01%

SBSP3

R$ 35,69

+2,38%

SANB11

R$ 31,52

+0,19%

CSNA3

R$ 26,47

+2,63%

SULA11

R$ 23,77

+5,45%

SUZB3

R$ 61,85

-1,59%

TAEE11

R$ 36,81

+1,74%

VIVT3

R$ 48,69

+2,26%

TIMS3

R$ 12,99

+2,20%

TOTS3

R$ 25,30

+4,67%

UGPA3

R$ 13,23

+3,19%

USIM5

R$ 16,75

+1,26%

VALE3

R$ 88,21

+2,20%

VIIA3

R$ 4,00

+6,66%

WEGE3

R$ 30,50

-0,13%

YDUQ3

R$ 19,37

-1,32%

Python: Modelo de Precificação de Ativos (CAPM)

filipe-duarte

10 FEV

4 MIN

Python: Modelo de Precificação de Ativos (CAPM)

Hoje seguimos nosso estudo de introdução à ciência da computação com Python. Já temos uma série de aulas sobre o programa, vale a pena conferir nossa categoria “Quant & Investimentos” para acompanhar o curso completo.

O texto de hoje traz conteúdo sobre como aplicar o modelo CAPM (Capital Asset Pricing Model). O modelo de precificação de ativos é um método que analisa a relação entre o fator de risco sistemático e o retorno esperado de um determinado ativo. Dividimos o artigo nos seguintes tópicos:

  • Modelo CAPM
  • Calculando o CAPM com o Python

Boa leitura!

Curso de Introdução ao Python

Chegamos a nossa última da série de Introdução ao Python. Confira nossas últimas aulas:

No texto de hoje, iremos aprender como calcular o beta e o retorno esperado de um ativo e como estimar o modelo CAPM no Python a partir de uma biblioteca estatística chamada statsmodel.

Modelo CAPM

O modelo CAPM (Capital Asset Pricing Model) é utilizado para estimar o retorno esperado teórico de um ativo, ou melhor, a taxa de retorno esperada (custo de capital) que é apropriada para um determinado ativo.

A equação que calcula o retorno esperado de um ativo através do modelo CAPM está exposta na equação 1 a seguir:

Em que:

  • E [Ri] é o retorno esperado do ativo i;
  • βi é o beta do ativo i;
  • Rf é o retorno da taxa livre de risco;
  • E [Rm] é o retorno esperado do mercado;
  • E [Rm] – Rf é o Prêmio de Risco de Mercado.

A taxa livre de risco é calculada a partir de um investimento com o menor grau de risco no mercado de renda fixa. No exemplo a seguir utilizaremos a taxa Selic.

Regressão linear

Para estimar o beta (sensibilidade do retorno esperado ao mercado), utilizaremos o método estatístico Regressão Linear Simples o qual relaciona a variável Dependente (retorno esperado de um ativo) à variável independente (prêmio de risco de mercado).

A abordagem mais utilizada para estimar o beta de um ativo se dá através da regressão especificada na equação 2 a seguir:

Em que:

  • Rt – Rft é o excesso de retorno do ativo durante o período t;
  • Rmt – Rft é o excesso de retorno do mercado durante o período t;
  • ∈t é o resíduo da regressão.

Conforme Bali et al. (2016), se o modelo de regressão (equação 2) descrever o retorno do ativo e o alfa () for zero, então aplicando o valor esperado em ambos os lados da equação, teremos o modelo CAPM. Dessa maneira, o beta do ativo será o coeficiente estimado pela regressão linear.

Calculando o CAPM com o Python

Antes de iniciar estimando o modelo de regressão, apresentado na equação 2, precisamos aprender a importar uma biblioteca no Python. Biblioteca é uma coleção de módulos com diversas funções que simplificam nossa vida.

Para importar uma biblioteca basta digitar o comando ‘import’ seguido do nome da biblioteca. Para estimar o modelo de regressão, vamos importar duas bibliotecas:

  • numpy
  • statsmodel.api

Biblioteca numpy e statsmodel.api

A biblioteca numpy servirá para transformar nossa lista de dados em arrays (vetores), ao passo que a biblioteca statsmodel.api nos fornecerá uma função para estimar o modelo de regressão.

É possível simplificar os nomes das bibliotecas quando for importá-las. Basta você escrever o comando ‘as’ (após o nome da biblioteca) seguido do nome simplificado. Vamos importar numpy como ‘np’ e statsmodel.api como ‘sm’, veja abaixo:

Importando bibliotecas

Os dados utilizados neste artigo são de cotações de fechamento, de periodicidade anual e foram extraídos do Yahoo Finance e do Banco Central. Selecionamos a ação ordinária da Petrobrás (PETR3) e o índice Ibovespa (representando o mercado) para implementar o modelo e estimar e calcular o CAPM. O período compreende os anos 2010 a 2020, computados em 1º de janeiro. Para a taxa livre de risco, utilizamos a Selic (dados do Banco Central).

Dados de retorno da PETR3, Ibovespa e Selic

Transformando em array com o numpy

Calculando o excesso de retorno e o prêmio de risco de mercado (com array você pode realizar operações matriciais, não é necessário realizar um laço de repetição como visto em artigo anterior).

Estimação do modelo e apresentação dos resultados

Perceba que antes de estimar o modelo de regressão, criamos um objeto chamado ‘premio_risco_mercado_matriz’ para adicionar a constante (alfa) ao modelo de regressão.

A função que ‘cria a equação de regressão’ é chamada de ‘OLS()’, um atributo da biblioteca sm (por isso utilizamos sm.OLS). Nós criamos um objeto que se chama mod, o qual possui o atributo ‘.fit()’.

Dito isso, temos um beta no valor de 1,2612 cuja estatística t foi de 3.054, evidenciando uma significância estatística. Como podemos ver, o ativo PETR3 possui um beta maior do que 1, significando que ele possui uma maior sensibilidade às variações do mercado.

Sendo assim, temos a equação 3 do modelo CAPM para o ativo PETR3, como se vê a seguir:

Fixando os valores da taxa livre de risco e do valor esperado do retorno do mercado, podemos calcular o retorno esperado para o ativo PETR3. Esse valor esperado representa o custo de capital exigido como taxa de desconto, representando, desse modo, uma taxa de risco teórica para o ativo em questão.

Portanto, terminamos essa série de artigos de Introdução ao Python aprendendo a estimar uma regressão linear para obter o beta de um ativo a partir do modelo CAPM. Esperamos que tenham gostado. Em breve traremos ainda mais novidades!

Referências

BALI, T. G.; ENGLE, R. F.; MURRAY, S. Empirical Asset Pricing: The Cross Section of Stock Returns. Hoboken: Wiley, 2016.

Colaborador do TC School

Aprenda tudo sobre contabilidade

E-BOOK

Aprenda tudo sobre contabilidade

Neste e-book — “Contabilidade”, trazemos informações e conceitos importantes sobre contabilidade financeira.

Receba todas as novidades do TC

Deixe o seu contato com a gente e saiba mais sobre nossas novidades, eventos e facilidades.