Thanks to visit codestin.com
Credit goes to github.com

Skip to content

API e script Python para automação e cálculo de séries históricas de índices econômicos brasileiros acumulados (SELIC, IPCA, INPC, IGP-M, TR, Poupança, IPC-FIPE). Coleta dados oficiais (IBGE, BACEN, FIPE) e exporta fatores de correção monetária em JSON.

Notifications You must be signed in to change notification settings

ratpun/api-indices

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Api-indices

Projeto em Python para geração de série histórica de índices econômicos acumulados (Fatores de Correção Monetária).

O sistema coleta dados automaticamente de fontes oficiais (IBGE, Banco Central/Ipeadata e FIPE), realiza o cálculo dos fatores acumulados mensais desde Janeiro de 2007 até o mês atual e exporta o resultado consolidado em formato JSON.

Este projeto foi desenhado para simular correções de débitos e atualizações monetárias, replicando metodologias utilizadas por órgãos oficiais (como a Receita Federal para a SELIC e o IBGE para índices de preços).

Índices Suportados e Metodologia

Índice Fonte de Dados Metodologia de Cálculo Acumulado
SELIC Banco Central (via Ipeadata) Soma Simples (Juros de Mora).
Padrão Sicalc/Receita Federal:
1. Mês do pagamento (atual) = 1%.
2. Mês anterior ao pagamento = Taxa Selic do mês.
3. Meses anteriores = Soma simples das taxas.
IPCA IBGE (API SIDRA) Número-Índice.
Cálculo via divisão da série histórica de número-índice (Base Fixa).
Fórmula: (Índice Atual / Índice Data Base) - 1.
INPC IBGE (API SIDRA) Número-Índice.
Mesma metodologia do IPCA.
IPCA-E IBGE (API SIDRA) Número-Índice.
Baseado na série histórica do IPCA-15.
IPC-FIPE FIPE Número-Índice.
Coleta direta da série histórica do índice geral da FIPE.
IGP-M FGV (via Ipeadata) Produtório (Juros Compostos).
Acumulado das taxas mensais percentuais.
TR Banco Central (via Ipeadata) Produtório (Juros Compostos).
Acumulado das taxas mensais da Taxa Referencial.
Poupança Banco Central (via Ipeadata) Produtório (Juros Compostos).
Acumulado dos rendimentos mensais da poupança.

Como Executar

Pré-requisitos

  • Python 3.8 ou superior
  • Gerenciador de pacotes pip

Instalação

  1. Clone este repositório.
  2. Instale as dependências necessárias listadas no requirements.txt:
pip install -r requirements.txt

Execução

Para gerar o arquivo JSON atualizado, execute o script principal:

python main.py

O script realizará os seguintes passos:

  1. Conexão com a API do Ipeadata (SELIC, TR, IGP-M, Poupança).
  2. Conexão com a API SIDRA do IBGE (IPCA, INPC, IPCA-E).
  3. Conexão com a API da FIPE (IPC).
  4. Cálculo dos acumulados reversos (de cada mês histórico até a data de hoje).
  5. Geração do arquivo indices_acumulados.json no diretório raiz (ou no caminho configurado).

Estrutura do Projeto

O projeto foi modularizado para facilitar a manutenção e a escalabilidade de novas fontes de dados:

  • main.py: Arquivo principal. Gerencia a orquestração das chamadas, realiza os cálculos matemáticos dos acumulados e exporta o JSON.
  • service_ibge.py: Módulo responsável por buscar as séries de Números-Índices na API SIDRA.
  • service_ipea.py: Módulo responsável por buscar as séries de Taxas Mensais no Ipeadata.
  • service_fipe.py: Módulo responsável por iterar e buscar a série histórica no site da FIPE.
  • requirements.txt: Lista de bibliotecas Python necessárias (pandas, numpy, requests, ipeadatapy).

Formato de Saída (JSON)

O arquivo gerado (indices_acumulados.json) contém um array de objetos. Cada objeto representa a referência mensal e os fatores acumulados para correção de um valor daquela data até o presente.

Exemplo:

[
    {
        "Ano": 2024,
        "Mes": 11,
        "Referencia": "11/2024",
        "SELIC": 14.18,      
        "TR": 2.1239,
        "INPC": 4.4902,
        "IPCA": 4.6807,
        "IPCAE": 5.1523,
        "IGPM": 1.1967,
        "Poupanca": 9.5096,
        "IPC_FIPE": 5.0721
    },

]

Nota: Os valores representam a porcentagem acumulada (%). Ex: 14.18 significa 14,18% de correção.


Desenvolvido com Python e Pandas.

About

API e script Python para automação e cálculo de séries históricas de índices econômicos brasileiros acumulados (SELIC, IPCA, INPC, IGP-M, TR, Poupança, IPC-FIPE). Coleta dados oficiais (IBGE, BACEN, FIPE) e exporta fatores de correção monetária em JSON.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages