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.