Analisando ações através de gráficos do pacote {PerformanceAnalytics}

A análise da performance e do risco de ativos financeiros se compreende em uma importante maneira de assegurar ganhos no mercado financeiro. O que acontece em diversos casos, é que muitos se embarram em uma complexidade de cálculos para realizar essa avaliação. Para isso, o pacote {PerformanceAnalytics} traz de forma simples e fácil, uma forma de realizar a avaliação de ativos financeiros. Neste texto, iremos dar exemplos de códigos na construção de gráficos úteis que o pacote oferece.

Primeiramente, devemos coletar os dados necessários para realizar a análise. Para isso, iremos utilizar o pacote {quantmod} para retirar os preços ajustados das ações preferenciais do Itaú, tomado aqui somente como exemplo de forma aleatória. Para Benchmark, iremos utilizar o IBOVESPA.


# Carrega os pacotes necessários
library(PerformanceAnalytics)
library(quantmod)
library(tidyverse)
## Coleta os Preços das ações utilizando a função getSymbols() do pacote {quantmod}

ticker <- c("ITUB4.SA", "^BVSP") # Ticker dos ativos que iremos utilizar
start = "2010-12-31" # Data de referência da série que iremos utilizar

getSymbols(ticker, 
           src= 'yahoo',
           from = start,
           auto.assign = TRUE,
           warnings =  FALSE)
## Transforma os preços em Retornos Mensais

itau <- ITUB4.SA$ITUB4.SA.Adjusted %>% 
  to.monthly(indexAt = "last",
             OHLC = FALSE) %>% 
  Return.calculate(method = "log") %>% 
  na.omit()


ibov <- BVSP$BVSP.Adjusted %>% 
  to.monthly(indexAt = "last", 
             OHLC = FALSE) %>% 
  Return.calculate(method = "log") %>% 
  na.omit()


returns <- merge(itau, ibov, all = TRUE) # Junta em um data.frame os retornos do Itaú e do IBOVESPA

O primeiro gráfico que podemos utilizar é o chart.RollingMean(). Ele permite que façamos uma visualização do retorno médio do ativo ao longo do tempo.

chart.RollingMean(itau) 

Logo em seguida, podemos utilizar a função charts.PerformanceSummary(), para visualizar a série do retorno acumulado dos ativos desde a data de referência, o retorno mensal dos ativos e o Drawndown.

charts.PerformanceSummary(returns,
                          colorset = redfocus,
                          legend.loc = "topleft"
                          )

Outro gráfico muito útil é o charts.RollingRegression(), que nos retorna um gráfico de regressão ao longo do tempo do seu ativo de escolha em relação a outro qualquer ativo ou Benchmark, permitindo visualizar o Alpha, o Beta e o R².

charts.RollingRegression(Ra = returns$ITUB4.SA.Adjusted,  # Retorno da variável dependente
                        Rb = returns$BVSP.Adjusted, # Retorno da variável independente
                        width = 12, # Período para aplicar a janela da rolling regression
                        colorset = redfocus, 
                        legend.loc = "topright"
                        )

Por fim, para visualizar de maneira geral o risco do ativo, podemos utilizar a função charts.RollingPerformance(), que exibe o desvio-padrão, o Índice de Sharpe, bem como também retorno anual dos ativos.

charts.RollingPerformance(R = returns, 
                          width = 12,
                          Rf = 0, # Retorno do ativo livre de risco. Utilizamos 0 aqui apenas para fins didáticos.
                          colorset = redfocus,
                          legend.loc = "topleft"
                          )

De forma rápida e condensada, conseguimos visualizar a performance e o risco dos ativos. O pacote também oferece diversos outros cálculos e gráficos para a avaliação de ativos financeiros.

________________________
(*) Para entender mais sobre Mercado Financeiro e aprender como realizar a coleta, tratamento e visualização de dados financeiros, confira nosso curso de R para o Mercado Financeiro.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Como automatizar tarefas repetitivas usando Python? Um exemplo para largar o Excel

Manter relatórios diários com dados e análises atualizados é um desafio, pois envolve várias etapas: coleta de dados, tratamento de informações, produção de análises e atualização de relatório. Para superar este desafio algumas ferramentas como Python + Quarto + GitHub podem ser usadas para automatizar tudo que for automatizável. Neste artigo mostramos um exemplo com dados do mercado financeiro.

Criando um Dashboard de análise de Ações no Python

Um Dashboard é um painel de controle que consolida uma variedade de informações sobre um determinado objeto de estudo em um ou mais painéis. Ele simplifica significativamente o processo de análise de dados, oferecendo uma visão global e fácil de entender. Uma maneira simples de construir um Dashboard para acompanhar uma ação específica é utilizando duas ferramentas: Quarto e Python. Neste post, mostramos o resultado da criação de um Dashboard de Ação.

Analisando séries temporais no Python e esquecendo de vez o Excel

Séries temporais representam uma disciplina extremamente importante em diversas áreas, principalmente na economia e na ciência de dados. Mas, afinal, como lidar com esses dados que se apresentam ao longo do tempo? Neste exercício, demonstraremos como compreender uma série temporal e como o Python se destaca como uma das melhores ferramentas para analisar esse tipo de dado.

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.