Category

Dicas de R

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

By | Dicas de R

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.


Códigos em R do modelo do Imperial College London sobre Covid-19

By | Dicas de R

Em ciência, é importante ter o seu trabalho visto e revisto pelos pares. Então, achei de muito bom tom que os autores do modelo do Imperial College sobre infecção por Covid-19, que tem sido citado por um monte de gente, terem disponibilizados os códigos de R do exercício. Os códigos podem ser acessados aqui e o artigo pode ser lido aqui.

________________


Covid-19: e se deixássemos a doença tomar o seu curso?

By | Dicas de R

Na terça-feira, publiquei o nosso comentário de conjuntura semanal com um modelo SIR ajustado aos dados do Brasil. Para quem quiser replicar, todos os códigos de R foram disponibilizados, de modo que o post é totalmente reprodutível. Já aqui, quero apresentar as curvas geradas pelo modelo, considerando um horizonte de 90 dias.

O modelo divide a população em compartimentos, como ilustra a figura a seguir.

As pessoas são suscetíveis à doença, depois infectadas e, por fim, recuperadas. Ao deixar a doença tomar seu curso, sem fazer nada a respeito, o total de infectados atingiria seu pico no início de maio, se reduzindo ao longo das semanas seguintes. O número do pico fica pouco abaixo de 24 milhões de pessoas, com todas as consequências conhecidas sobre o sistema de saúde.

Como o país está tomando medidas de distanciamento social, o pico de infectados deve ocorrer antes disso, em meados de abril e com um número menor.

(*) Aprenda a rodar modelos como esse ao aprender R em nossos Cursos Aplicados de R.

___________


Covid-19: o formato da Curva

By | Dicas de R

Ao longo dos últimos dias, tenho publicado nesse espaço alguns posts e exercícios sobre a pandemia do coronavírus. Ontem, a propósito, publiquei o comentário de conjuntura dessa semana com um modelo SIR ajustado aos dados da doença no Brasil. Como é possível observar nesse exercício, o Brasil está no início da transmissão, com um crescimento exponencial dos casos confirmados.

Se olharmos, contudo, para os dados da China, primeiro país exposto à pandemia, a curva de casos confirmados parece seguir um formato logístico. Isso, a propósito, está em linha com a tese de "imunidade de grupo", ou seja, quanto mais pessoas vão sendo expostas ao vírus, mais pessoas ganham imunidade e a contaminação passa a desacelerar.

As curvas em formato de sino que têm sido divulgadas por aí, nesse aspecto, derivam justamente do modelo SIR, onde as pessoas são "compartimentadas" nos grupos de suscetíveis, infectados e recuperados. Ou seja, as pessoas saem de um para outro grupo, daí o formato da curva.

O formato logístico, por seu turno, não significa que devemos simplesmente abandonar as medidas de distanciamento social. Isso porque, quanto mais pessoas forem expostas ao vírus, mais casos graves serão registrados, o que tende a congestionar o sistema de saúde, como temos visto na Itália.

A pergunta de um trilhão de reais, portanto, é onde é o "limite superior" da curva logística.

(*) Isso e muito mais você aprende no nosso Curso de Microeconometria usando o R.

___________


O pacote nCov2019

By | Dicas de R

Os esforços para conter a pandemia do coronavírus ao redor do mundo seguem, com ênfase em medidas cada vez mais intensas de distanciamento social e na busca de um tratamento efetivo contra o vírus. No campo dos dados, a humanidade nunca esteve tão preparada para lidar com uma ameaça dessas.

Há diversas bases de dados disponíveis para acompanhamento em tempo real. Algo que pode servir não apenas para prever o avanço da doença, como para direcionar esforços de contenção.

No R, foi criado o pacote nCov2019, que pode ser baixado via github. Maiores detalhes aqui.

___________________

(*) Aprenda R com nossos Cursos Aplicados de R.


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