Coletando e visualizando preços de commodities no R

No Brasil, é comum acompanhar preços de commodities, afinal, qualquer mudança desses ativos afeta a vida dos brasileiros, seja diretamente ou indiretamente, mesmo para quem não atue no mercado financeiro. No post de hoje, vamos mostrar como é possível coletar dados de commodities e visualizá-los no R.

library(quantmod)
library(tidyverse)
library(timetk)

Após o carregamento dos pacotes, iremos criar os vetores com os tickers dos ativos que iremos coletar. Utilizaremos como fonte o Yahoo Finance, portanto, devemos encontrar os símbolos para a coleta no site.

# Define os tickers que iremos coletar

tickers <- c("KC=F", "NG=F", "CL=F", "SB=F")

Com os símbolos em mãos, podemos retirar os preços a partir do ano de interesse (aqui a partir de 2019), utilizando a função getSymbols(). Em seguida, podemos tratar os dados pegando somente os dados de fechamento e juntando em um só tibble os preços das quatro commodities.

Após isso, transformamos nosso conjunto de dados no formato long, de forma que fique mais fácil utilizar o ggplot para a visualiza-los.

# Retira os preços do Yahoo Finance e realiza o tratamento

prices <- getSymbols(tickers, src = "yahoo",
                     from = "2019-01-01") %>%
  map(~Cl(get(.))) %>% 
  reduce(merge) %>% 
  `colnames<-` (c("Coffee Mar 22", "Natural Gas Dec 21", "Crude Oil", "Sugar #11 Mar 22")) %>% 
  tk_tbl(preserve_index = TRUE,
         rename_index = "date") %>% 
  drop_na()

# Transforma em formato long

prices_long <- prices %>% 
  pivot_longer(cols = -date,
               values_to = "price")


# Plota os preços

prices_long %>% 
ggplot(aes(x = date, y = price, colour = name))+
  geom_line()+
  labs(title = "Preços de Commodities em US$",
       x = "$",
       y = "",
       caption = "Fonte: Yahoo Finance")

Como podemos ver, houve uma escalada de preços do café no ano de 2021. Também é possível notar o momento em que o preço do petróleo cru ficou negativo em abril de 2020.

________________________

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

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Investigando a precedência temporal entre a taxa Selic e as expectativas da Selic no Boletim Focus usando o R

Neste exercício, aprofundamos a compreensão da dinâmica entre a taxa Selic e as expectativas dos agentes econômicos no Brasil ao identificar a direção da precedência temporal da relação entre as duas variáveis. A análise engloba desde a coleta e tratamento dos dados até a visualização e análise econométrica, culminando na avaliação da causalidade de Granger e na interpretação dos resultados.

Como analisar o sentimento dos textos do COPOM no Python?

Neste exercício construímos um indicador que busca quantificar o sentimento proveniente das decisões de política monetária no Brasil. Usando técnicas de mineração de texto, implementamos todas as etapas necessárias, desde web scraping e pré-processamento das atas do Comitê de Política Monetária do Banco Central (COPOM), até a criação de tokens e a classificação do sentimento implícito nos textos.

Como importar os textos do COPOM para análise de sentimentos no Python?

Os textos divulgados pelo COPOM, sejam os comunicados ou atas, são o ponto de partida para diversos tipos de análises quantitativas, como a análise de sentimentos, e qualitativas, como uma análise de cenário econômico. Neste artigo, mostramos como coletar estes textos de forma automatizada usando web scrapping e Python.

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.