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

Estamos em pleno emprego no mercado de trabalho?

Este artigo investiga se o mercado de trabalho brasileiro atingiu o nível de pleno emprego, utilizando uma estimativa da NAIRU (Non-Accelerating Inflation Rate of Unemployment) baseada na metodologia de Ball e Mankiw (1997). Através de uma modelagem em Python que unifica dados históricos da PME e PNAD Contínua com as expectativas do Boletim Focus, comparamos a taxa de desocupação corrente com a taxa neutra estrutural. A análise visual e quantitativa sugere o fechamento do hiato de desemprego, sinalizando potenciais pressões inflacionárias. O texto detalha o tratamento de dados, a aplicação do Filtro Hodrick-Prescott e discute as vantagens e limitações da metodologia econométrica adotada.

Como se comportou a Taxa de Participação no Brasil nos últimos anos? Uma Análise com a Linguagem R

O objetivo deste estudo é analisar a evolução da Taxa de Participação no Brasil, contrastando-a com a Taxa de Desocupação e decompondo suas variações para entender os vetores (populacionais e de força de trabalho) que influenciam o comportamento atual do mercado de trabalho. Para isso, utilizamos a linguagem R em todo o processo, desde a coleta e o tratamento das informações até a visualização dos resultados, empregando os principais pacotes disponíveis no ecossistema da linguagem.

Como se comportou a inflação de serviços no Brasil nos últimos anos?

Uma análise econométrica da inflação de serviços no Brasil comparando os cenários de 2014 e 2025. Utilizando uma Curva de Phillips própria e estimativas da NAIRU via filtro HP, investigamos se o atual desemprego nas mínimas históricas repete os riscos do passado. Entenda como as expectativas de inflação e o hiato do desemprego explicam o comportamento mais benigno dos preços atuais em relação à década anterior.

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

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.