Skip to content

tonsatomicos/bacen-currency-api-integration

Repository files navigation

Projeto de Processamento de Dados
Bacen - PTAX

Este projeto envolve o desenvolvimento de uma solução em Python para acessar e consumir a API do Banco Central, obtendo os valores de fechamento de venda e compra de cotação de moedas estrangeiras.

Utilizando a biblioteca requests para fazer as requisições HTTP e o Docker com PostgreSQL para armazenar os dados, buscando facilitar o acesso e análise dessas informações de forma direta e eficiente.

Projeto

Diagram

Sinta-se à vontade para clonar, adaptar e ajustar o projeto conforme necessário. Consulte as instruções abaixo, se precisar. 👽

Dependências do Projeto

Este projeto foi desenvolvido utilizando o Poetry + Pyenv para gerenciamento de ambientes virtuais e bibliotecas.

Bibliotecas Utilizadas

  • pandas = "^2.2.1"
  • requests = "^2.31.0"
  • sqlalchemy = "^2.0.29"
  • psycopg2 = "^2.9.9"

Instalação das Dependências

Você pode instalar as dependências manualmente, ou, utilizando o Poetry ou o Pip com os seguintes comandos:

Utilizando Poetry

poetry install

Utilizando Pip

pip install -r requirements.txt

Configurações do Projeto

Utilizando PostgreSQL para persistência de dados, porém você tem a liberdade de optar por outras bases de dados. No entanto, caso escolha o PostgreSQL, sinta-se à vontade para seguir o guia abaixo.

Banco de dados PostgreSQL

Você pode escolher entre utilizar o Docker para subir um banco PostgreSQL ou instalar de outras maneiras.

Utilizando Docker

docker-compose up -d

Outras maneiras

Segue tutorial aleatório da Hashtag Treinamentos.
Script de criação da tabela disponibilizado em src/sql.

Conclusão

Lembre-se sempre de verificar o usuário, senha, base, porta e tabela. Configurado logo após o início da função main, altere se necessário.

    start_date = '02-01-2016'
    end_date = '04-01-2024'
    coin = 'EUR' # or USD
    dbuser = 'teste'
    dbpass = 'teste'
    dbname = 'teste_db'
    dblocal = 'localhost:5437'
    dbtable = 'public.ptax'

Isso irá garantir que as informações sejam persistidas no banco de dados PostgreSQL.

Considerações Finais

  • A documentação pode não estar tão detalhada; talvez seja necessário um certo nível de conhecimento para adaptar o código.
  • Se tudo estiver configurado corretamente, basta executa o script e verificar a tabela no banco de dados usando pgAdmin ou DBeaver.
  • Com esse projeto, conseguimos facilmente persistir informações de diversos tipos de moedas, contanto que estejam disponíveis na base de dados do Banco Central do Brasil (BACEN).
  • Disponibilizado um arquivo ipynb em src/data_analysis com alguns insights.

Image

About

Estudo independente: consumindo dados da API de PTAX do BACEN.

Topics

Resources

Stars

Watchers

Forks