Média, variância e distribuição normal

Introdução ao Gerenciamento de Risco de Portfólio em Python

Dakota Wixom

Quantitative Analyst | QuantCourse.com

Momentos das distribuições

Distribuições de probabilidade têm os seguintes momentos:

  • 1) Média ($ \mu $)
  • 2) Variância ($ \sigma ^ 2 $)
  • 3) Assimetria
  • 4) Curtose
Introdução ao Gerenciamento de Risco de Portfólio em Python

Existem muitos tipos de distribuições. Algumas são normais e outras não. Uma variável aleatória com distribuição Gaussiana é dita normalmente distribuída.

Distribuições normais têm as seguintes propriedades:

  • Média = $ \mu $
  • Variância = $ \sigma ^ 2 $
  • Assimetria = 0
  • Curtose = 3

Introdução ao Gerenciamento de Risco de Portfólio em Python

A distribuição normal padrão

A Normal Padrão é um caso especial da Normal quando:

  • $ \sigma $ = 1
  • $ \mu $ = 0
Introdução ao Gerenciamento de Risco de Portfólio em Python

Comparando com uma distribuição normal

  • Distribuições normais têm assimetria perto de 0 e curtose perto de 3.
  • Retornos financeiros tendem a não ser normalmente distribuídos
  • Retornos financeiros podem ter curtose alta
Introdução ao Gerenciamento de Risco de Portfólio em Python

Comparando com uma distribuição normal

Introdução ao Gerenciamento de Risco de Portfólio em Python

Calculando médias de retorno em Python

Para calcular o retorno médio diário, use a função np.mean():

import numpy as np
np.mean(StockPrices["Returns"])
0.0003

Para calcular o retorno médio anualizado assumindo 252 pregões por ano:

import numpy as np
((1+np.mean(StockPrices["Returns"]))**252)-1
0.0785
Introdução ao Gerenciamento de Risco de Portfólio em Python

Desvio-padrão e variância

Desvio-padrão (Volatilidade)

  • Variância = $ \sigma ^ 2 $
  • Frequentemente representado como $ \sigma $ ou chamado de volatilidade
  • Um investimento com $ \sigma $ maior é visto como mais arriscado
  • Mede a dispersão dos retornos

Introdução ao Gerenciamento de Risco de Portfólio em Python

Desvio-padrão e variância em Python

Considere que você já carregou os retornos das ações no objeto StockData. Para calcular o desvio-padrão periódico dos retornos:

import numpy as np
np.std(StockPrices["Returns"])
0.0256

Para calcular a variância, eleve o desvio-padrão ao quadrado:

np.std(StockPrices["Returns"])**2
0.000655
Introdução ao Gerenciamento de Risco de Portfólio em Python

Escalonando a volatilidade

  • A volatilidade escala com a raiz quadrada do tempo
  • Normalmente você pode assumir 252 pregões por ano e 21 por mês

Introdução ao Gerenciamento de Risco de Portfólio em Python

Escalonando a volatilidade em Python

Considere que você já carregou os retornos das ações no objeto StockData. Para calcular a volatilidade anualizada dos retornos:

import numpy as np
np.std(StockPrices["Returns"]) * np.sqrt(252)
0.3071
Introdução ao Gerenciamento de Risco de Portfólio em Python

Vamos praticar!

Introdução ao Gerenciamento de Risco de Portfólio em Python

Preparing Video For Download...