Category

Economia

Coletando dados do SICONFI com R e Python

By | Indicadores

O Sistema de Informações Contábeis e Fiscais do Setor Público Brasileiro - Siconfi é uma ferramenta criada com o objetivo de receber informações contábeis, financeiras e de estatísticas fiscais oriundas dos municípios, estados e da união. O Siconfi também compartilha esses dados através de sua API e é possível acessá-la através do R e do Python.

Introdução

O site da API do Siconfi pode ser acessado no seguinte link: https://apidatalake.tesouro.gov.br/docs/siconfi/. Nele é possível obter os anexos relatórios, o RREO, o RGF e o DCA, além de outros dados de relatórios contábeis. Através do link, é possível construir um código para acessar a API de informações, entretanto, há pacotes e bibliotecas que oferecem funções prontas para importar os dados, e no qual as utilizaremos aqui.

SICONFI com o R

Com o R é possível acessar os dados do Siconfi com o pacote {siconfir}, criado por Pedro Castro.

Abaixo, com o pacote já instalado via CRAN, utilizou-se a função find_cod para buscar o código IBGE do município. Esse código é necessário para ser utilizado como chave para realizar a busca das informações dos relatórios em cada função do pacote que realiza a importação dos dados. O código IBGE encontrado pela função para o município de Varginha é o 3170701.

Com a função get_fiscal, foi importados os dados do relatório de gestão fiscal do primeiro trimestre (period = 1), do ano de 2020 (year = 2020)  do munícipio de Varginha (cod = 3170701).

Com o pacote é possível obter dados de mais relatórios do Siconfi executando o mesmo procedimento da função acima.

SICONFI com o Python

Para o Python, existe a biblioteca siconfipy, criada pelo mesmo autor de {sincofir}, com o mesmo objetivo. Entretanto, no presente momento da finalização desse post, não foi possível utilizar a biblioteca para acessar a API.

Outra forma de acesso (além de uma construção manual de acesso a API) pode ser feito através do site e da biblioteca do Base de Dados.

Abaixo no código, utiliza-se a tabela do site disponível no link acima, em conjunto com a biblioteca basedosdados. Para obter os dados do Siconfi com a Base de Dados, é necessário criar uma conta e um projeto no Google Cloud, e inserir no argumento billing_project_id da função bd.read_table().

Diferente da função do R, será importado todas as informações disponíveis de todos os entes do país, o que pode resultar em uma demora de carregamento.

Como dessazonalizar uma série temporal no Python

By | Indicadores

Sazonalidade é definida como mudanças na série que são sempre fixas e o seu período de ocorrência é conhecido. É muito comum a aparição  desse padrão em séries econômicas e financeiras. No post de hoje, iremos mostrar os métodos para decompor uma série temporal com o Python.

Uma série temporal é definida como uma série de dados ou observações registradas em intervalos de tempos regulares (discretos) ou irregulares (contínuos). Em geral, definimos uma série temporal em sua forma discreta, com dados em intervalos bem definidos. A frequência de uma série pode ser em horas, dias, semanas, meses, trimestre ou anos.

Como uma série temporal é por observações no tempo, diversas variáveis econômicas e financeiras são partes desta área. O PIB de um país mede o crescimento econômico ao longo de trimestres ou anos. A inflação é medida em formato mensal. O preço de uma ação é observado no período de dias úteis ou mesmo de forma contínua no intra-diário.

Uma série temporal pode exibir uma variedade de padrões, e é comum separar a série em diferentes componentes, cada uma representando esse padrão. Esses componentes são:

Tendência (trend)

A tendência existe quando há um termo que mede inclinação da série, seja de forma crescente ou decrescente. É possível observar a tendência de forma linear, entretanto, é possível referi-la como ponto de mudança da série, de um ponto crescente para um decrescente

Sazonal (Seasonal)

Um padrão sazonal ocorre quando uma série temporal é afetada por efeitos sazonais como por exemplo a hora de um dia, dias semanas ou meses do ano. A sazonalidade de uma série é sempre fixa e o seu período de ocorrência é conhecido.

Ciclo (cyclic)

Um ciclo ocorre quando a série exibe subidas e quedas que não são fixas a uma frequência. Essas flutuações podem ocorrer por condições econômicas, conhecidas como ciclo econômico.

Série Temporal

Considerando uma série temporal com as observações ${Z_{t}, t = 1, ... , N}$ uma decomposição desses pontos no tempo consiste em escrever  Z_t como a soma ou multiplicação dos três componentes não observáveis acima - tendência, sazonalidade e ciclo.

Considere que T é o componente de tendência, S o componente de sazonalidade e R o termo residual.

Série Temporal Aditiva

Uma série aditiva é mais apropriada se a magnitude do componente sazonal ou a variação da tendência-ciclo, não varia com o nível do tempo da série.

 Z_t = T_t + S_t + R_t

Série Temporal Multiplicativa

Uma série multiplicativa é mais apropriada caso a variação do componente sazonal ou a variação da tendência-ciclo varia de forma proporcional ao nível da série temporal.

 $Z_t = T_t x S_t x R_t$

Decomposição

Agora que entendemos os componentes de uma série temporal, podemos passar a entender como podemos lidar com eles, principalmente o componente sazonal.

Como exemplo, iremos aplicar na série de concessão de crédito total, importada do Banco Central. Antes de dessazonalizar, iremos deflacionar a série.

Concessões Totais de Crédito

Observe no gráfico como fica claro entender os períodos de sazonalidade. Há claramente picos e declínios em períodos fixos da série. Ao lidarmos com essa série, seja para análise ou para modelagem, é necessário levarmos em conta esse aspecto.

Método Naive

O primeiro método é a possibilidade de extrair o componente sazonal da série por meio do método de médias móveis. Esse método é conhecido como "naive" e é o mais simples. É possível utiliza-lo com o método seasonal_decompose da biblioteca statsmodels.

Com o seasonal_decompose é possível escolher tanto o método multiplicativo, quanto o aditivo. O resultado será um objeto de classe statsmodels.tsa.seasonal.DecomposeResult, do qual será possível extrair os resultados com os atributos. Podemos utilizar .seasonal (para obter os valores sazonais) ou .resid, para obter o resultado da série sem a sazonalidade e a da tendência.

É possível visualizar os valores por meio do .plot()

STL

Outro método de decomposição útil para retirar a sazonalidade é o método STL, que utiliza o LOESS (regressão local) através do método STL do módulo statsmodels.tsa.seasonal. Utilizamos a função em conjunto com .fit() para obter seus valores.

x13-Arima Seats

Outro método mais robusto para extrair a sazonalidade de uma série é o x13-Arima Seats, criado pelo US Census Bureau. É possível utilizar o x13-Arima Seats no Python através do módulo statsmodels.tsa.x13.x13_arima_analysis, entretanto, é necessário instalar o programa do x13 e especificar a pasta do arquivo na função do módulo para a sua utilização, portanto, deixaremos para abordar esse método em outro post.

____________________________________

Quer saber mais?

Veja mais no nosso curso de Análise de Séries Temporais e no nossos cursos de Macroeconomia Aplicada.

Dados alternativos em Macroeconomia

By | Indicadores

Comumente, ao analisar dados Macroeconômicos, nos preocupamos em utilizar dados de estatísticas oficiais, entretanto, é possível obter insights utilizando outros tipos de dados, como é o caso dos dados alternativos. Um tipo de dado alternativo interessante é obtido através do relatório de mobilidade da comunidade do Google. No post de hoje, vamos analisar os dados deste relatório utilizando o R.

Dados alternativos são dados não tradicionais que fornecem informações úteis para determinada área. No caso do relatório de mobilidade do google (mobility trends), é possível obter informações dos locais de maior mobilidade da população de uma região ou país.

Com a devida análise do mobility trends, podemos saber os setores que estão recebendo maior número de deslocamento, tais como varejo e lazer, mercados e farmácias, parques, estações de transporte público, locais de trabalho e áreas residenciais. Logo, as informações podemos construir formas de capturar os possíveis volumes de venda de determinado setor no curto prazo.

Vamos realizar uma análise do mobility trend do google utilizando o pacote {covid19mobility}, disponível no repositório do Github do autor "covid19r/covid19mobility".

Uma vez instalado, utilizamos a função refresh_covid19mobility_google_country() para importar os dados do Google, que nos fornecerá o relatório para diversos países do mundo, bem como de todos os setores. Portanto, é necessário realizar os devidos filtros antes de realizar a análise

________________________________________

Quer saber mais?

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

Faça parte também do nosso grupo especial de compartilhamento de códigos Clube AM

 

Análise da Produção Industrial no Python

By | Indicadores

A Pesquisa Mensal da Indústria (PIM-PF) é um dos principais indicadores de acompanhamento do produto real das indústrias extrativa e de transformação, e é extremamente útil para entender o comportamento conjuntural da economia do país. No post de hoje, mostramos como é possível utilizar o Python para criar uma breve análise do indicador.

Através da PIM-PF é possível averiguar o volume de bens produzidos pelo setor industrial do país. Ao construir cálculos de variações do volume, é possível entender a conjuntura do país.

O indicador pode ser buscado através do Sidra, repositório de acesso de dados das pesquisas realizados pelo IBGE. É extremamente fácil de realizar a importação de dados do Sidra através do Python, no qual ensinamos todos os passos através do Clube AM, onde disponibilizamos o código e o vídeo comentado. Também ensinamos toda a teoria e prática da Análise da PIM-PF no curso Análise de Conjuntura usando o R.

Abaixo, temos o gráfico da variação acumulada em 12 meses do indicador desde 2002.

________________________________________

Quer saber mais?

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

Faça parte também do nosso grupo especial de compartilhamento de códigos Clube AM

Analisando dados da Pesquisa Mensal de Serviços com o Python

By | Indicadores

A Pesquisa Industrial Mensal - Produção Física (PIM) é um dos principais indicadores de acompanhamento do setor de serviços no Brasil, e é extremamente útil para entender o comportamento conjuntural da economia do país. No post de hoje, mostramos como é possível utilizar o Python para criar uma breve análise do indicador.

O indicador pode ser buscado através do Sidra, repositório de acesso de dados das pesquisas realizados pelo IBGE. É extremamente fácil de realizar a importação de dados do Sidra através do Python, no qual ensinamos todos os passos através do Clube AM, onde disponibilizamos o código e o vídeo comentado. Também ensinamos toda a teoria e prática da Análise da PMS no curso Análise de Conjuntura usando o R.

Abaixo, temos o gráfico da variação acumulada em 12 meses do indicador desde 2011, demonstrando os caminhos percorridos pelo Setor de Serviços. É visível a queda do indicador proporcionada pela pandemia de Coronavírus em 2020, e a subsequente recuperação, apesar da queda na ponta.

É possível criar diversos estilos de gráficos, computando a variação interanual, marginal e acumulada no ano. A devida coleta reprodutível também permite a criação de modelos de previsões totalmente automatizados.

________________________________________

Quer saber mais?

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

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

Assinar Gratuitamente