Dicas de R

Visualizando os preços de ações com o R

By 22 de abril de 2020 No Comments

Nosso objetivo no novo Curso Mercado Financeiro e Gestão de Portfólios da área de finanças da Análise Macro será o de proporcionar tanto uma introdução dos alunos ao mercado financeiro quanto o de munir os mesmos com ferramentas analíticas para gestão de portfólios e tratamento/visualização de dados. Para ilustrar, vamos ver como é possível coletar dados de preços de ações a partir da base de dados online do Yahoo Finance e visualizar os mesmos com o pacote ggplot2.

Com o código a seguir, nós estamos pegando os preços das ações da Petrobras, Ambev, Magazine Luíza e Via Varejo.


library(tidyverse)
library(tidyquant)
library(timetk)
library(scales)
library(quantmod)

symbols = c('PETR4.SA', 'ABEV3.SA', 'MGLU3.SA', 'VVAR3.SA')
prices = getSymbols(symbols, src='yahoo',
from='2019-01-01',
to='2020-04-20',
warning=FALSE) %>%
map(~Cl(get(.))) %>%
reduce(merge) %>%
`colnames<-` (symbols) %>%
tk_tbl(preserve_index = TRUE,
rename_index = 'date') %>%
drop_na()

Observe que o código já trata os dados, tanto colocando os mesmos em um tibble quanto eliminando os valores faltantes (missing values). Feito isso, podemos criar um gráfico de linhas com o pacote ggplot2.


filter(prices, date > '2019-09-01') %>%
ggplot(aes(x=date))+
geom_line(aes(y=PETR4.SA, colour='PETR4'))+
geom_line(aes(y=ABEV3.SA, colour='ABEV3'))+
geom_line(aes(y=MGLU3.SA, colour='MGLU3'))+
geom_line(aes(y=VVAR3.SA, colour='VVAR3'))+
scale_colour_manual('',
values=c('PETR4'='blue',
'ABEV3'='red',
'MGLU3'='orange',
'VVAR3'='green'))+
scale_x_date(breaks = date_breaks("14 days"),
labels = date_format("%d/%b"))+
theme(axis.text.x=element_text(angle=45, hjust=1),
legend.position = 'bottom')+
labs(x='', y='R$',
title='Preços de ações brasileiras selecionadas',
caption='Fonte: analisemacro.com.br com dados do Yahoo Finance')

A partir daí, podemos criar os retornos das ações e partir para a construção do nosso portfólio.

Você as colocaria no seu?

(*) Isso e muito mais você irá aprender no nosso Novo Curso Mercado Financeiro e Gestão de Portfólios.


Comments

Cadastre-se na newsletter
e receba nossas novidades em primeira mão!