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.