Skip to content

BernardooVale/CIRVA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📊 C.I.R.V.A.

Capital e Indicadores de Resultados para Valoração de Ações

Mascote CIRVA

Python Data Status License

🇧🇷 Português · 🇺🇸 English


🇧🇷 Português

VisĂŁo Geral

CIRVA é um sistema automatizado de análise quantitativa que processa demonstrativos financeiros públicos da CVM (Comissão de Valores Mobiliários) — incluindo DRE, Balanço Patrimonial e Capital Social — e gera um Score proprietário para ranquear empresas listadas na B3.

Este repositório não contém o motor de análise, que é mantido como propriedade intelectual privada. Aqui você encontrará apenas a saída processada do pipeline, disponibilizada em arquivos .csv. O objetivo deste repositório é servir como portfólio técnico de dados, demonstrando capacidade de estruturação, limpeza e análise de dados financeiros complexos.

🔭 Roadmap: uma interface web simples para visualização dos rankings está planejada para versões futuras.


Metodologia de Dados

Fonte Descrição
CVM Dados brutos extraĂ­dos diretamente do portal da CVM, limpos e normalizados internamente pelo pipeline.
yfinance Preços de mercado atualizados, consumidos via API do yfinance.

Destaque metodológico: o cruzamento entre o CNPJ das empresas (padrão CVM) e o Ticker de negociação (padrão B3) foi realizado por meio de mapeamento manual e minucioso, feito diretamente pelo autor — processo que garante maior confiabilidade na junção das duas fontes, dada a inexistência de um identificador público unificado entre elas.


Stack TecnolĂłgica do Motor Interno

O sistema fechado (nĂŁo incluso neste repositĂłrio) foi construĂ­do em Python 3.13.7, utilizando as seguintes bibliotecas principais para engenharia de dados:

  • pandas — manipulação e transformação de dados tabulares
  • numpy — operações numĂ©ricas e vetorizadas
  • yfinance — coleta de preços e dados de mercado
  • requests — requisições HTTP para coleta de dados da CVM
  • beautifulsoup4 — parsing e extração de dados HTML
  • peewee — ORM leve para persistĂŞncia de dados estruturados

Estrutura da SaĂ­da (CSV)

O resultado final é um CSV ranqueando as empresas por suas respectivas pontuações, mas há uma intenção de se gerar um site futuramente para auxiliar a visualização


Estrutura de Arquivos

.
├── dados/
├── historico/
└── scripts/

dados

Contém arquivos CSV com o desempenho das diferentes carteiras utilizadas no projeto, sejam elas baseadas em dados reais ou em simulações hipotéticas. Esses arquivos servem como base para a geração dos gráficos e das métricas apresentadas no repositório.

historico

Contém arquivos CSV com o histórico detalhado de cada portfólio, incluindo a composição da carteira ao longo do tempo, a distribuição dos ativos e o ranking das empresas avaliadas. Por questões de confidencialidade, algumas informações presentes nas análises originais foram removidas ou ocultadas.

scripts

Reúne os scripts responsáveis pela geração automática dos gráficos e demais artefatos do projeto. Esses scripts são executados por meio do GitHub Actions, mantendo os resultados do repositório sempre atualizados.


Desempenho Histórico da Estratégia

Os gráficos abaixo ilustram a simulação de desemepenho hipotético de diferentes carteiras ao longo do tempo.

  • dolar: 100% dolar
  • dow_jones: ĂŤndice Dow Jones
  • frankfurt: ĂŤndice Frankfurt
  • ibovespa: ĂŤndice Bovespa
  • resultados_completos: Carteira CIRVA considerando os preços do yfinance (teste automático), que Ă© corrigido por eventos (grupamentos, desdobramentos) e bonificações (dividendos)
  • resultados_especulativos: Carteira CIRVA considerando os preços do Investing.com/TradingView (teste manual), que Ă© corrigido por eventos (grupamentos, desdobramentos) sem considerar bonificações
  • s&p500: ĂŤndice S&P500
  • selic: Taxa SELIC

O gráfico abaixo faz uma comparação entre o CIRVA e bolsas globais

Bolsas Globais

O gráfico abaixo faz uma comparação entre o CIRVA e índices brasileiros

ĂŤndices brasileiros

O gráfico abaixo faz uma comparação entre o CIRVA e índices macroeconômicos

MacroeconĂ´micos

O gráfico abaixo faz uma comparação completa de todos os índices

Completo

Desempenho Atualizado da Estratégia

Este gráfico específico se propõe a acompanhar o desempenho da carteira na realidade, ou seja, o dono deste repositório irá operar seguindo exatamente esta estratégia e reportará os dados.

Atualizado


⚠️ Aviso Legal / Disclaimer

Este repositório não constitui, sob nenhuma hipótese, recomendação de investimento.

O autor não é assessor de investimentos licenciado pela CVM, nem Analista CNPI (Certificação Nacional do Profissional de Investimento). Todo o conteúdo aqui publicado tem finalidade estritamente educacional e de demonstração técnica de portfólio de engenharia e análise de dados.

Os dados, scores, rankings e gráficos disponibilizados não representam sugestão de compra, venda ou manutenção de qualquer ativo financeiro. Decisões de investimento são de inteira responsabilidade do leitor, que deve consultar um profissional devidamente licenciado antes de tomar qualquer decisão financeira.

Delay intencional: para reforçar o caráter não-consultivo deste material e evitar qualquer interpretação como "dica de mercado" em tempo real, todos os relatórios, gráficos e rankings publicados possuem um atraso mínimo de 1 (um) mês em relação à data de cálculo. Exemplo: um cálculo realizado em novembro só é publicado em dezembro.


🇺🇸 English

Overview

CIRVA(Capital and Performance Indicators for Stock Valuation, in english) is an automated quantitative analysis system that processes public financial statements from CVM (Brazil's Securities and Exchange Commission) — including income statements, balance sheets, and share capital data — to generate a proprietary Score ranking companies listed on B3 (the Brazilian stock exchange).

This repository does not contain the analysis engine, which is maintained as private intellectual property. What you'll find here is the processed output of the pipeline, published as .csv files. The purpose of this repository is to serve as a technical data portfolio, showcasing the ability to structure, clean, and analyze complex financial data.

đź”­ Roadmap: a simple web interface for visualizing rankings is planned for future releases.


Data Methodology

Source Description
CVM Raw data extracted directly from CVM's public portal, cleaned and normalized internally by the pipeline.
yfinance Updated market prices, consumed via the yfinance API.

Methodological highlight: the mapping between company CNPJ (CVM standard identifier) and trading Ticker (B3 standard) was performed through careful, manual mapping by the author — a process that ensures higher reliability when joining both data sources, given the lack of a unified public identifier between them.


Internal Engine Tech Stack

The closed-source system (not included in this repository) was built in Python 3.13.7, using the following core libraries for data engineering:

  • pandas — tabular data manipulation and transformation
  • numpy — numerical and vectorized operations
  • yfinance — market price and data collection
  • requests — HTTP requests for CVM data collection
  • beautifulsoup4 — HTML parsing and data extraction
  • peewee — lightweight ORM for structured data persistence

Output Structure (CSV)

The final result is a CSV file ranking companies by their respective scores, but there are plans to create a website in the future to facilitate visualization.


File Structure

.
├── dados/
├── historico/
└── scripts/

dados

Contains CSV files with the performance of different portfolios used in the project, based on either real-world data or hypothetical simulations. These files are used as the source for generating the charts and performance metrics presented in this repository.

historico

Contains CSV files with the detailed history of each portfolio, including portfolio composition over time, asset allocation, and the ranking of evaluated companies. For confidentiality reasons, some information from the original analysis files has been removed or anonymized.

scripts

Contains the scripts responsible for automatically generating the project's charts and other artifacts. These scripts are executed through GitHub Actions, keeping the repository's results up to date.


Historical Strategy Performance

The graphs below illustrate the hypothetical performance simulation of different portfolios over time.

  • dolar: Dolar Index
  • dow_jones: Dow Jones Index
  • frankfurt: Frankfurt Index
  • ibovespa: Bovespa Index
  • resultados_completos: CIRVA portfolio based on yfinance prices (automated test), adjusted for corporate events (reverse splits, stock splits) and distributions (dividends).
  • resultados_especulativos: CIRVA portfolio based on Investing.com/TradingView prices (manual test) — adjusted for corporate actions (reverse splits, stock splits) but excluding stock dividends/bonus shares.
  • s&p500: S&P500 Index
  • selic: The benchmark interest rate in Brazil

The graph below compares CIRVA with global stock markets.

Global Stock Markets

The graph below compares CIRVA with Brazilian indexes.

Brazilian indexes

The graph below compares CIRVA with macroeconomic indexes.

Macroeconomics

The graph below provides a comprehensive comparison of all the indexes.

Complete

Updated Strategy Performance

This specific chart aims to track the portfolio's actual performance; in other words, the owner of this repository will trade using this exact strategy and report the data.

Updated


⚠️ Legal Disclaimer

This repository does not, under any circumstances, constitute investment advice.

The author is not a licensed investment advisor registered with CVM, nor a CNPI-certified analyst (Brazilian National Investment Professional Certification). All content published here is intended strictly for educational purposes and technical portfolio demonstration of data engineering and analysis skills.

The data, scores, rankings, and charts provided do not represent a recommendation to buy, sell, or hold any financial asset. Investment decisions are the sole responsibility of the reader, who should consult a duly licensed professional before making any financial decision.

Intentional delay: to reinforce the non-advisory nature of this material and avoid any interpretation as real-time "market tips," all reports, charts, and rankings published carry a minimum delay of 1 (one) month relative to the calculation date. Example: a calculation performed on November is only published in December.


© 2026 — CIRVA Project. Distributed for portfolio and educational demonstration purposes only.

About

CIRVA is a quantitative finance framework designed to process and rank B3-listed assets. By integrating financial statements from the CVM with real-time market data, the project implements a proprietary scoring system to evaluate operational efficiency and investment potential, serving as an automated engine for financial data analysis

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Languages