Análise de ativos usando Python e análise de dados

Olá, sou Helvio Siqueira, estudante de Ciencia de Dados. Nos ultimos meses me interessei em investimentos pela bolsa, e para metodo de treino comprei algumas ações e fundos imobiliarios usando análise fundamentalista(ou tentando), e decidi agora usar o Python para uma análise de retornos. Fiz a compra desses ativos em momentos que achei propicio para obter algum lucro, mas como todo bom analista sabe, o mercado é extremamente volatil podendo não corresponder às nossa expectativas :)

Faço aqui uma análise de ativos usando Python e algumas bibliotecas para análise de dados (Pandas, numpy, matplotlib, seaborn), deixo claro que a análise desses ativos não compõe nenhuma especie de recomendação. Desde já digo que aceito criticas e sugestões à respeito do código ;)

Nesse inicio de codigo importo todas as bibliotecas que serão necessarias para fazer a análise(Pandas, Numpy) e plotar graficos(Matplotlib, Seaborn), a biblioteca pandas_datareader é responsavel por extrair os dados da API do Yahoo Finance(ainda ativa em 17/03/2021), API gratuita para a extração de dados do mercado financeiro.

Os ativos que vou fazer a análise seram: ITUB3(Itaú), TAEE3(Taesa), MXRF11(Fundo Maxi Renda), RECT11(Fundo UBS (BR) OFFICE), onde obtenho o fechamento do dia ajustado(com rendimentos, e JCP) desde 2015

Aqui colho uma amostra de 10% dos dados sem reposição e reorganizo-os pela data para criar um grafico de linha mais resumido e bonito de se olhar.

Retorno dos ativos

Começo a análise calculando o retorno dos ativos, que é exatamente o retorno diarios que os ativos dão, para anualizar esse valor basta tirar a media(.mean()) e multiplicar por 246(que é a quantidade de pregões medio em um ano). O retorno dos ativos foi obtido usando retorno logaritmico, mas a função .pct_change() que todo objeto DataFrame do pandas tem tambem poderia ser usada.

Risco dos ativos

O risco dos ativos é a quantificação da chance de que um ativo tem de apresentar risco, nessa análise eu utilizo o calculo de desvio padrão(.std()), e anualizo esse valor multiplicando por 246 elevado a 0.5(é preciso tirar a raiz da quantidade de pregões medio já que o calculo de desvio padrão também contém uma raiz).

Plotando em um grafico

Correlação e covariancia dos ativos

Correlação e covariancia são medidas para quantificar o comportamento de um ativo em relação a outro, podendo ter uma relação positiva(se um ativo sobre, o outro ativo também sobe), negativa(se um ativo sobre, o outro ativo desce) ou neutra(sem nenhuma relação entre o dois ativos). Todo objeto DataFrame do pandas tem um metodo .corr() e .cov() responsavel por calcular a correlação e a covariancia respectivamente.

O grafico heatmap é um grafico para a visualização de uma tabela de correlação, onde o espaço com a cor mais clara representa uma maior correlação entre os ativos e com a cor mais escura uma correlação negativa.

Sharpe Ratio

Sharpe Ratio é uma variavel criada para auxiliar na comparação de dois ativos, um ativo com uma taxa de retorno alta e taxa de risco baixa resulta em um Sharpe ratio alto.

Beta dos ativos

Variavel para quantificar o risco do ativo com relação ao mercado(IBOVESPA), quanto maior o Beta maior é a variancia do ativo em relação ao mercado, ou seja o ativo tem maior exposição ao mercado.

Retorno da carteira

O retorno da carteira é o retorno da carteira de ativos, ele depende muito do peso de cada ativo na carteira. Podendo variar dependendo do retorno de cada ativo naquele momento e da quantidade de cada ativo.

Risco da carteira

Semelhante ao retorno da carteira, é uma média ponderada do risco de todos os ativos.

Variância

Volatividade

Risco sistemático e não sistemático da carteira

O risco sistematico é a representação do risco que não é posivel ser controlado(desastres naturais, guerras e pandemias), já o risco não sistemático é a representação do risco inerente ao mercado na carteira(preço do petróleo, preço do dolar, economia interna), ele pode ser reduzido com uma boa diversificação de ativos.