Skip to main content

No project description provided

Project description

Benchmark Indexes - Web Scraper Framework

Descrição

Este projeto é um framework modular para a captura, processamento e análise de dados históricos de índices de mercado, como IBOVESPA, CDI, entre outros. Ele é projetado para ser flexível, permitindo a adição de novos índices e fontes de dados com facilidade.


Estrutura do Projeto

benchmark_indexes/
├── data/                     # Diretório para armazenamento de dados
│   ├── bronze/               # Dados brutos extraídos
│   ├── silver/               # Dados intermediários
│   ├── gold/                 # Dados tratados
├── indexes/                  # Módulos de captura de índices
│   ├── ibov/                 # Módulo para o índice IBOVESPA
│   ├── cdi/                  # Módulo para o índice CDI
│   ├── index_config.json     # Configurações globais de índices
├── notebooks/                # Notebooks para análise e exploração
│   ├── análise_indices.ipynb # Análises gerais dos índices
├── LICENSE                   # Licença do projeto
├── README.md                 # Documentação do projeto

Funcionalidades

  • Scraping Modular:

    • Captura de dados de múltiplos índices de mercado (IBOV, CDI, etc.).
    • Configuração automatizada do WebDriver com webdriver_manager.
  • Transformação e Análise de Dados:

    • Processamento de dados para análise (ETL).
    • Estrutura flexível para armazenamento em níveis (bronze, silver, gold).
  • Exploração com Jupyter Notebooks:

    • Notebooks para análise interativa e geração de insights.

Requisitos

  • Python 3.8+
  • Bibliotecas:
    • selenium
    • webdriver_manager
    • pandas
    • numpy
    • matplotlib

Instale as dependências com:

pip install -r requirements.txt

Uso

Executando o Scraper para um Índice

  1. Configure o módulo correspondente ao índice desejado (ex.: ibov/ibov_config.json).
  2. Execute o scraper:
    python indexes/ibov/IbovWebScrapperB3.py
    

Análise no Jupyter Notebook

  1. Navegue até o diretório notebooks.
  2. Abra o notebook de análise no Jupyter:
    jupyter notebook análise_indices.ipynb
    

Logs

Os logs do sistema são gerenciados pelo LoggerUtil. Você pode personalizar os níveis e locais de armazenamento no código:

logger = LoggerUtil.get_logger("IndexLogger")
logger.info("Este é um log de exemplo.")

Arquitetura do Framework

O projeto segue o padrão ETL (Extract, Transform, Load):

  1. Extract:
    • Captura de dados brutos das fontes configuradas (web scraping, APIs, etc.).
  2. Transform:
    • Processamento e padronização dos dados para análise.
  3. Load:
    • Armazenamento dos dados tratados em níveis específicos (bronze, silver, gold).

Configuração do WebDriver

A configuração do WebDriver é gerenciada pelo WebDriverUtil, com suporte para:

  • Cache de drivers para evitar downloads desnecessários.
  • Logs detalhados para rastreamento de erros.

Adicionando um Novo Índice

  1. Crie um diretório para o índice em indexes/.
  2. Adicione um arquivo de configuração JSON para o índice:
    {
        "module": "CdiApiWrapper",
        "description": "Módulo para captura de dados do CDI via API do BACEN.",
        "version": "1.0.0",
        "author": "Seu Nome",
        "indexData": {
            "indexName": "CDI",
            "indexSource": "BACEN",
            "indexSourceReference": "https://bacen.gov.br",
            "indexDocumentation": "https://bacen.gov.br/docs"
        }
    }
    
  3. Implemente o scraper utilizando as classes utilitárias disponíveis.

Contribuindo

Contribuições são bem-vindas! Por favor:

  1. Faça um fork deste repositório.
  2. Crie um branch para sua feature:
    git checkout -b minha-feature
    
  3. Envie suas alterações via pull request.

Licença

Este projeto é licenciado sob a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

data_market_index_fetcher-0.1.16.tar.gz (13.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

data_market_index_fetcher-0.1.16-py3-none-any.whl (17.6 kB view details)

Uploaded Python 3

File details

Details for the file data_market_index_fetcher-0.1.16.tar.gz.

File metadata

  • Download URL: data_market_index_fetcher-0.1.16.tar.gz
  • Upload date:
  • Size: 13.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.5 CPython/3.10.0 Windows/10

File hashes

Hashes for data_market_index_fetcher-0.1.16.tar.gz
Algorithm Hash digest
SHA256 10e8314d84b66fadd16edde8fc4c6145d4207919111982bed2b2320155148c12
MD5 941399f34cf737ed597cc04ca5ab600e
BLAKE2b-256 03a49d23d4e5c37ff2bc47b5635208b6a18e31b827238d1ba330f74542da7ad7

See more details on using hashes here.

File details

Details for the file data_market_index_fetcher-0.1.16-py3-none-any.whl.

File metadata

File hashes

Hashes for data_market_index_fetcher-0.1.16-py3-none-any.whl
Algorithm Hash digest
SHA256 76a9110a06906374851b9d7725ff69fe77b3b6435bb1bdec0c8e35be77bae1f8
MD5 7fca50f4e234dc6995b472508d241ef7
BLAKE2b-256 4f14f6dd8e3c9aafdfc16814ec92f3fc482505f766eee3a49ef91f30626b979d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page