All Posts By

Vitor Wilher

Brasil: a cigarra que quer viver como formiga

By | Dicas de R

Dia desses, publiquei aqui no Blog um post sobre o projeto maddison, que busca publicar dados de pib per capita de todos os países do mundo para tempos remotos. Um baita trabalho de história econômica, diga-se de passagem. Com base no respectivo pacote maddison no R, a propósito, é possível fazer comparações de pib per capita entre diversos países...

Por exemplo, muitas pessoas gostam de falar do sistema de proteção social da Suécia e, indubitavelmente, querem ter esse sistema aqui no Brasil. O problema desse tipo de coisa é que ela não leva em conta, justamente, o tal do pib capita. Abaixo, fazendo uso do pacote maddison, nós pegamos o dado para os dois países.


library(maddison)
df = subset(maddison, year >= '1870-01-01' &
iso2c %in% c('BR', 'SE'))

E a seguir, colocamos um gráfico.


ggplot(df, aes(x=year, y=gdp_pc, colour=country))+
geom_line(size=.8)+
scale_colour_manual('',values=c('Brazil'='darkblue',
'Sweden'='orange'))+
scale_x_date(breaks='10 years',
date_labels = '%Y')+
labs(x=NULL, y='PIB per capita (GK dólar int, 1990)',
title='PIB per capita: Brasil vs. Suécia',
subtitle='Fonte: Maddison Project Dataset')+
theme(panel.background = element_rect(fill='#acc8d4',
colour='#acc8d4'),
plot.background = element_rect(fill='#8abbd0'),
axis.line = element_line(colour='black',
linetype = 'dashed'),
axis.line.x.bottom = element_line(colour='black'),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
legend.position = c(.4,.5),
legend.background = element_rect((fill='#acc8d4')),
legend.key = element_rect(fill='#acc8d4',
colour='#acc8d4'),
plot.margin=margin(5,5,15,5))+
annotation_custom(g,
xmin=as.Date('1870-01-01'),
xmax=as.Date('1893-01-01'),
ymin=15000, ymax=25000)

No início da série, 1870, a Suécia tinha um pib per capita cerca de 1.9 maior do que o Brasil. No último dado da série, 2010, o pib per capita da Suécia é cerca de 3.7 maior do que o nosso. Em outras palavras, houve um processo de divergência entre os dois países.

Por que temos juros tão altos: uma resposta econométrica

By | Macroeconometria

Na Edição 60 do Clube do Código, construímos um modelo simples que explica a trajetória do spread bancário no Brasil. O spread é a diferença entre as taxas de captação e de empréstimo bancário, que é sistematicamente mais elevado no país do que a evidência internacional. De modo a entender essa anomalia, utilizamos como variáveis explicativas para o spread as provisões dos bancos, compulsórios bancários, taxa de inadimplência, taxa Selic e taxa de desemprego. Abaixo o ajuste do modelo.

O modelo que construímos tem um R^2 de 0,96, o que significa que o mesmo consegue explicar 96% da variação na nossa variável de interesse. Abaixo, colocamos uma tabela que resume os resultados encontrados.

Dependent variable:
spread
provisoes 1.232**
(0.512)
compulsorio 0.007**
(0.003)
inadimplencia 1.338***
(0.386)
selic 0.559***
(0.030)
desemprego 0.559***
(0.115)
Constant -7.509***
(1.426)
Observations 84
R2 0.962
Adjusted R2 0.960
Note: *p<0.1; **p<0.05; ***p<0.01

Como se depreende da tabela, todas as variáveis foram estatisticamente significativas para explicar o spread bancário. Em particular, os resultados encontrados sugerem que um aumento de 1 p.p. na taxa de inadimplência faz o spread bancário aumentar em 1,33 p.p.

Como de praxe, os códigos do exercício estão disponíveis no repositório do Clube do Código.

____________________

ps: estamos aqui na Análise Macro com inscrições abertas para os cursos de Macro Aplicada e para a Formação em Produção de Trabalhos Empíricos usando o R, onde você aprende a lidar com dados da forma que eu mostrei no post com o uso do R. O primeiro lote está com 30% de desconto, mas deve acabar logo, então corre e se inscreve logo!  

O Banco Central e a Espada de Dâmocles

By | Comentário de Conjuntura

O Banco Central divulga hoje a sua decisão para a taxa básica de juros em meio a um clima de baixa expectativa. Dada a comunicação das últimas atas e do Relatório de Inflação de março, o consenso do mercado está inclinado a acreditar que a taxa Selic fica mesmo em 6,5% até o final do ano. A despeito do marasmo, contudo, uma análise um pouco mais profunda do pulso da economia coloca o Banco frente a uma difícil escolha hoje e nas próximas reuniões: reduzir ou não reduzir os juros básicos da economia?

Como ilustra o gráfico acima, o crescimento mediano esperado para o ano tem caído de forma sistemática nas últimas semanas, considerando os respondentes da pesquisa Focus do próprio Banco Central. Pela 10ª semana consecutiva, os agentes de mercado revisaram para baixo o crescimento desse ano. Espera-se agora que ele seja de 1,49%.

Essa expectativa pessimista do mercado, diga-se, é confirmada pelas pesquisas de alta frequência que têm sido divulgadas ao longo do primeiro trimestre. O gráfico abaixo ilustra o comportamento da variação acumulada em 12 meses da produção industrial e do comércio varejista.

As pesquisas de alta frequência indicam, por suposto, que o PIB deve vir fraco no trimestre encerrado em março. Na margem, existe uma probabilidade não desprezível de termos um número negativo. Isso afasta ainda mais o hiato do produto do terreno positivo, mantendo a recuperação do mercado de trabalho em marcha lenta, como mostraram os resultados divulgados pela PNAD Contínua.

A manutenção de um hiato do produto negativo e lenta recuperação do mercado de trabalho, como ilustra o gráfico acima, põem uma espada de dâmocles sobre as cabeças dos membros do Comitê de Política Monetária. Isso porque, mesmo com o repique nas expectativas, a inflação esperada para o ano ainda permanece dentro da meta. E para 2020, a mediana está há 96 semanas em monótonos 4%.

Tudo isso dito, o que farão os membros do Copom? A economia em compasso de espera por uma reforma da previdência que respira por aparelhos no Congresso certamente deve mexer com função de reação da autoridade monetária. À medida que essa mesma reforma é seguidamente adiada, contudo, aumenta a incerteza na economia, contaminando, os prêmios de risco e a taxa de câmbio, o que pode levar a um choque na inflação.

Como se vê, portanto, o trabalho dos membros do Copom será o de ponderar até que ponto temos chances de aprovar uma reforma da previdência no Congresso e em quanto tempo isso vai ocorrer. A depender dessas conjecturas, pode-se construir um cenário para a inflação esperada em 2019 e em 2020, dado o comportamento do hiato do produto.

E dados esses cenários, a reação do Copom vai depender do tamanho do valor do parâmetro do hiato na função de perda, isto é, se o mesmo está disposto a ser mais ou menos conservador. Em um cenário hoje otimista de aprovação da reforma da previdência com economia acima de R$ 800 bilhões, o hiato do produto tende a ir para o terreno positivo, fazendo o Banco Central corrigir os juros para uma posição mais neutra e até restritiva. Já em um cenário de reforma da previdência com economia menor do que R$ 800 bilhões, talvez valha a pena manter os juros em terreno expansionista por mais algum tempo.

No extremo oposto, sem reforma da previdência, os prêmios de risco aumentam, há contaminação do câmbio e repasse para a inflação, moderado pela ociosidade da economia. Não se vê chance aqui de redução de juros. Muito pelo contrário. A depender da difícil conjuntura fiscal, os juros podem ter de aumentar para conter as expectativas e a inflação.

Tudo isso dito e dados mostrados, o caminho mais sensato para o Copom no momento é manter a Selic inalterada e sinalizar uma dependência dos dados para as próximas reuniões. E, obviamente, ir contabilizando a desidratação da reforma da previdência conforme ela for passando pelos ritos no Congresso. Isso tende a manter equilibrada a espada de Dâmocles. Ao menos por enquanto...

_____________________________

ps: estamos aqui na Análise Macro com inscrições abertas para os cursos de Macro Aplicada, onde você aprende a lidar com essa montanha de dados aí que eu mostrei no post com o uso do R. O primeiro lote está com 30% de desconto, mas deve acabar logo, então corre e se inscreve logo!  

ps 2: como de praxe, os códigos dos gráficos estão disponíveis no repositório privado do Clube do Código

Coletando dados do Banco Mundial com o R

By | Dicas de R

Ontem, divulguei o pacote OECD de modo que é possível coletar dados da OCDE diretamente para o RStudio. Hoje, a dica é o pacote WDI, que faz coleta de dados do Banco Mundial. Para ilustrar, pego os dados da taxa de poupança e taxa de juros para 2017.


library(WDI)

interest = WDI(country='all',
indicator = 'FR.INR.RINR',
start=2017, end=2017)

saving = WDI(country = 'all',
indicator = 'NY.GNS.ICTR.ZS',
start=2017, end=2017)

Uma vez coletado os dados e depois de algum tratamento, podemos gerar o gráfico abaixo...

Impressiona que em diversas comparações que tenho mostrado por aqui, o Brasil está sempre como um outlier, não é mesmo?

Quer saber mais sobre como usar o R para analisar dados? Conheça o nosso curso de Introdução ao R para Análise de Dados que abriu inscrições ontem, 06/05. O 1º lote está com 30% de desconto, mas deve acabar logo...

Interessados no código do gráfico, basta rolar a barra à direita e colocar o e-mail na nossa newsletter semanal. Toda segunda, envio o código de um dos posts mais comentados e curtidos da semana para a lista!

Coletando dados da OCDE com o R

By | Dicas de R

Como tenho dito há muito tempo nesse espaço, uma das grandes vantagens de se utilizar o R no dia a dia é poder centralizar o processo de análise de dados em um único ambiente. Desde a coleta até a comunicação dos resultados, via uma apresentação ou relatório. Para ilustrar, vou dar um exemplo real aqui. Recentemente, tive de produzir uma palestra sobre educação e uma das necessidades que tinha era comparar o gasto com educação básica e superior do Brasil com outros países. Para isso, recorri à base de dados da OCDE.

Sem o R, eu teria que acessar o site da OCDE, fazer uma pesquisa por lá até encontrar os dados que eu queria. Depois exportar para o Excel e por fim construir o gráfico que ilustraria minha apresentação no Power Point, por exemplo.

Tedioso, não é mesmo? Bom, com o R a coisa fica mais simples. Eu abri um .Rmd no RStudio e comecei a produzir a minha apresentação. No slide onde iria plotar o gráfico que eu queria, eu recorri ao pacote OECD, onde pude então coletar os dados que queria:


library(OECD)
df = get_dataset(dataset="EAG_FIN_RATIO_CATEGORY",
filter='AUS+AUT+BEL+CAN+CHL+CZE+DNK+EST+FIN+FRA+DEU+GRC+HUN+ISL+IRL+ISR+ITA+JPN+KOR+LVA+LTU+LUX+MEX+NLD+NZL+NOR+POL+PRT+SVK+SVN+ESP+SWE+CHE+TUR+GBR+USA+NMEC+ARG+BRA+COL+CRI+IND+IDN+RUS+ZAF.L1+L2T3+L5T8.FIN_PERSTUD.T.T.INST_T+INST_PUB+INST_PRIV',
start_time = '2015',
end_time = '2015')

O data frame df contém então os dados de gastos por aluno nos três níveis principais de ensino abrindo por instituições públicas, privadas e ambas. Assim, com um pouco de tratamento dos dados, cheguei ao gráfico abaixo.

Depois, foi só compilar o .Rmd e produzir a apresentação. Sem ter que abrir qualquer outro programa...

Todo esse processo, eu ensino no nosso novo Curso de Introdução ao R para Análise de Dados que abriu inscrições hoje, 06/05. O 1º lote está com 30% de desconto, mas deve acabar logo...

Interessados no código do gráfico, basta rolar a barra à direita e colocar o e-mail na nossa newsletter semanal. Toda segunda, envio o código de um dos posts mais comentados e curtidos da semana para a lista!

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