Tag

boletim focus Archives - Análise Macro

Como coletar dados do Boletim Focus com o Python

By | Indicadores

O Boletim Focus é uma pesquisa realizada pelo Banco Central do Brasil, que divulga semanalmente as projeções de diversos indicadores macroeconômicos do país. A pesquisa é extremamente útil para entender a conjuntura econômica do país. Para coletar os dados do relatório, podemos utilizar a biblioteca {python-bcb}, que realiza a conexão com a API do Banco Central e permite realizar a importação dos dados direto para o Python.

Para utilizar o {python-bcb} é extremamente simples. Primeiro devemos carregar o módulo Expectativas e utilizar suas funções e métodos para realizar a importação.

Utilizamos a função Expectativas() para instanciar com as informações da pesquisa. Salvamos em objeto com o nome "em" para utilizar o método describe() de forma a obtermos as pesquisas disponíveis e conectar com a que desejamos. No caso, queremos obter informações das Expectativas Anuais.

Com as informações conhecidas sobre o data frame a ser importado, utilizamos o método get_endpoint() para conectar com a API do Banco Central e executar a consulta com .query()

Em conjunto com query(), utilizamos os métodos do pandas de forma a obter os dados já tratados, com os dados da expectativas do IPCA do ano referente a 2023, coletados em 2022.

Por fim, obtemos o data frame com a Media e a Mediana das projeções divulgadas pelo Boletim Focus nas semanas ao longo de 2022. Abaixo, criamos o gráfico para representar a evolução do indicador.

________________________________________

Quer saber mais?

Veja nossos cursos de Macroeconomia através da nossa trilha de Macroeconomia Aplicada.

Coletando dados do Banco Central com Python

By | Indicadores

O ideal é que todo o processo da análise de dados econômicos e financeiros deve ser facilitado em todas as etapas, principalmente as iniciais, que constam como a coleta e tratamento de dados. Por sorte, existem pacotes e funções prontas que facilitam todo esse processo para os usuários, como é o caso do python-bcb, que nos ajuda a coletar dados do Banco Central. Neste post de hoje, mostramos como é fácil retirar esses dados.

O python-bcb é uma interface em Python estruturada para obter informações da API de dados abertos do Banco Central do Brasil. Criado por Wilson Freitas, professor dos cursos de Renda Fixa usando o R e Construindo um Banco de Dados Financeiro Automatizado com R aqui da Análise Macro.

A interface oferece diversas APIs que permitem acessar os dados de vários bancos de dados do BACEN. Sendo eles:

  •   Sistema Gerenciador de Séries Temporais (SGS);
  •   Conversor de moedas;
  •   Expectativas divulgadas pelo boletim FOCUS;
  •   Integração com o OData, fornecendo dados de Expectativas, Moedas, Taxas de Juros, IFdata e Mercado Imobiliário.

Sistema Gerenciador de Séries Temporais

O SGS consolida e divulga diversas séries econômico-financeiros mantidas pelo Banco Central e também por outras instituições. É nesse gerenciador que podemos encontrar as séries de diversos temas: Atividade Econômica, Preços, Mercado de Trabalho, Setor Externo, Finanças Públicas, Juros e etc.

São ofertadas as séries em diferentes periodicidades e formatos, portanto, somando todos os fatores, se torna um sistema ideal para coletar séries, ainda mais quando o próprio BCB oferece APIs que facilitam a extração.

Para buscar uma série do SGS com o python-bcb, seguiremos os seguintes passos:


Como exemplo, utilizamos a série da Taxa de juros - Meta Selic definida pelo Copom %a.a, identificada pelo código 432 no SGS. Vemos abaixo como é possível utilizar a função sgs.get().

Caso haja a necessidade em importar mais de uma série, também é possível. Abaixo, importamos as séries do IPCA Mensal em Var. % mensal e do IGP-M Var. % mensal.

Conversor de Moedas

O Conversor de Moedas realiza o Web Scrapping do sistema de mesmo nome do Banco Central. Permite que seja importado as cotações diárias de diversas moedas diante do real. Para saber as moedas que são possíveis de importar, e consequentemente seus respectivos símbolos, utiliza-se a função currency.get_currency_list().

A função retorna um data frame contendo as colunas com cada uma contendo os códigos numéricos da moeda, o nome completo da moeda, o símbolo de cada moeda, e o código do país, o nome do país, o tipo e a data de exclusão.

Após escolhido as moedas de interesse com base na lista do conversor, utiliza-se a função currency.get() para obter as moedas diante do real com base no seus respectivos símbolos e período.

Expectativas FOCUS

O python-bcb oferece a API Expectativas como forma de obter os dados divulgados pelo boletim FOCUS. Essa integração permite obter as expectativas de mercado de cerca de 130 instituições do mercado financeiros que participam do Sistema de Expectativa de Mercado. Para obter os dados, primeiro devemos instanciar com a classe bcb.Expectativas e obter as informações dos endpoints com o método bcb.Expectativas.describe()

Veja que é retornado os EntitySets, que são os endpoints do qual podemos importar os dados das Expectativas de Mercado, como exemplos, iremos buscar as Expectativas de Mercado Anuais.


É retornado todas as informações do endpoint escolhido, com suas respectivas colunas. Isto é útil devido ao fato de caso haja a necessidade de importações do dados já filtrados, desta forma, é possível saber quais colunas poderemos realizar os filtros.

Com todas as informações sobre o endpoint em mãos, iremos de fato importa-las com o python-bcb, utilizando a função expec.get_endpoint(), especificando o endpoint de interesse. Assim que conectamos com o endpoint, realizamos o query com  o método query(). No exemplo abaixo, realizamos esses dois procedimentos em conjunto com uma filtragem para o indicador da Selic.


OData

O OData do Banco Central permite acesso a mais dados do sistema, incluindo o API do Expectativas (bcb.Expectativas), também é possível retirar dados da PTAX (bcb.PTAX), que permite acesso a cotações de taxas de câmbio, Taxa de Juros dos bancos (bcb.TaxaJuros), dados de Instituições Financeiras (bcb.IFDATA) e dados do Mercado Imobiliário (bcb.MercadoImobiliario).

O processo de retirada de dados do OData segue o mesmo que realizamos com o bcb.Expectativas acima, sendo possível realizar com as outras APIs. Primeiro colhemos as informações da API e seus respectivos endpoints com describe(), e após, colhemos as informações de interesse com get_endpoint() e query(). Vemos um exemplo abaixo com a API TaxadeJuros.

A

No exemplo acima retiramos os dados das taxas de juros de diversas instituições bancárias do Brasil. Veja que limitamos o query para apenas 10 observações, apenas como exemplo para que não haja demoras na importação.

Quer saber mais sobre Python?

Veja nossos cursos de Python aplicado para as áreas de Análise de dados e Economia. R e Python para Economistas, Estatística usando R e Python  e  Econometria usando R e Python.

Deterioração do debate fiscal e seus efeitos sobre as expectativas dos agentes

By | Comentário de Conjuntura

O debate fiscal se deteriorou nas últimas semanas. A discussão sobre precatórios, bem como a andamento da reforma tributária têm estragado o humor dos agentes de mercado. Esse recrudescimento do ambiente doméstico tem efeitos diretos sobre as expectativas dos agentes. Em particular, houve uma empenada na Curva de Juros.

A Estrutura a Termo da Taxa de Juros (ETTJ), como pode ser visto no gráfico acima, retrata esse comportamento dos agentes. A ETTJ é um dos principais canais de transmissão da política monetária (como aprendemos em nosso Curso de Análise de Conjuntura usando o R).

De certa forma, essa empenada na Curva amplifica o movimento de alta do juro real, empreendido pelo Banco Central a partir das últimas decisões do Comitê de Política Monetária. Como mostra o gráfico acima, o juro real está se aproximando do juro neutro, cujos efeitos se dão, primeiro, sobre o hiato do produto e, posteriormente, sobre a inflação (veja nosso Curso de Macroeconometria usando o R). 

Uma externalidade (ruim) do recrudescimento do ambiente político é o seu efeito sobre as expectativas. A tabela abaixo, construída de forma automatizada com o R a partir do boletim Focus, ilustra (como aprendemos em nosso Curso de Análise de Conjuntura usando o R).

A expectativa para a inflação segue em crescimento, tanto para 2021 quanto para 2022, horizonte agora mais relevante para a política monetária.

Há, também, um início de correção do crescimento do PIB em 2021. O mercado passa, cada vez mais, a corrigir o seu otimismo com o dado do primeiro trimestre e esboça mais pessimismo com a deterioração do debate fiscal.

Dada essa conjuntura, espera-se que o Banco Central siga aumentando a taxa básica de juros, tentando ancorar as expectativas de inflação para o ano que vem.

______________

(*) Os códigos desse Comentário de Conjuntura fazem parte do Monitor de Política Monetária, desenvolvimento dentro do Curso de Análise de Conjuntura usando o R, onde os alunos aprendem também a desenvolver dashboards em shiny como esse aqui.

(**) Membros do Clube AM têm acesso aos códigos desse e de todos os outros Comentários de Conjuntura, além de acessar também nossos demais exercícios.

Boletim Focus: o que esperar de 2021?

By | Indicadores

Vai chegando ao fim um dos piores anos do último século. A pandemia do coronavírus destruiu famílias, empresas e expectativas. Com a iminência de uma vacina, contudo, e a proximidade do final do ano, só nos resta pensar na recuperação que virá no próximo ano. De modo a vislumbrar a mesma, uma boa base de dados para isso é o boletim Focus do Banco Central, que reúne as expectativas de mais de uma centena de instituições econômicas e financeiras. A análise completa da pesquisa faz parte do nosso Curso de Análise de Conjuntura usando o R.

O script começa, como de praxe, com os pacotes que utilizo.


library(rbcb)
library(scales)
library(tstools)
library(tidyverse)

Na sequência, pegamos alguns dos indicadores disponíveis na base de dados do Focus.

data = get_annual_market_expectations(c('PIB Total', 'IPCA',
'Taxa de câmbio',
'Meta para taxa over-selic',
'Fiscal'),
start_date = '2019-01-01') %>%
replace_na(replace = list(indic_detail = 'Média'))

data$indic = ifelse(data$indic == 'Taxa de câmbio', 'Taxa de Câmbio',
data$indic)

data$indic_detail = ifelse(data$indic_detail == "Resultado Primário",
'Resultado Primário',
data$indic_detail)

Uma vez que os dados foram coletados, podemos gerar um gráfico como abaixo, que contém as expectativas para esses indicadores em 2021.

A mediana das projeções aponta para um crescimento de 3,3% no próximo ano, nada muito excepcional se comparado ao tombo verificado em 2020. Ademais, espera-se uma inflação comportada, próximo a 3,5%, algum aumento marginal na taxa básica de juros e câmbio ainda acima dos 5 R$/US$.
_______________

(*) A análise completa está disponível no nosso Curso de Análise de Conjuntura usando o R.

Análise das Expectativas do boletim Focus com o R

By | Indicadores

O boletim Focus, do Banco Central, traz as projeções do mercado para diversas variáveis macroeconômicas. Com o pacote rbcb, escrito pelo Wilson Freitas, é possível importar esses dados para o R com grande facilidade. No nosso Curso de Análise de Conjuntura usando o R, inclusive, eu ensino os alunos a lidar com esses dados. A seguir, para ilustrar, eu baixo as projeções de algumas variáveis selecionadas.


library(rbcb)
library(tidyverse)

data = get_annual_market_expectations(c('PIB Total', 'IPCA',
'Taxa de câmbio',
'Meta para taxa over-selic',
'Fiscal'),
start_date = '2019-01-01') %>%
replace_na(replace = list(indic_detail = 'Média'))

Uma vez que os dados estejam disponíveis, podemos construir um gráfico como abaixo.

Observa-se na margem um avanço nas projeções para a inflação esse ano e certa estabilidade nas demais variáveis.

_____________________

(*) Para ter acesso aos códigos completos de nossos futuros exercícios, cadastre-se na nossa Lista VIP aqui.

(**) As inscrições para as Turmas de Verão começam no próximo dia 27/10. Para ser avisado por e-mail, cadastre-se aqui.

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais
e conteúdos exclusivos sobre Análise de Dados!

Assinar Gratuitamente