Fontes e padronização
Fonte primária
Portal de dados abertos da CVM — DFP (demonstrações financeiras padronizadas,
anuais) de companhias abertas, 2010 em diante, CSV.
https://dados.cvm.gov.br/dados/CIA_ABERTA/DOC/DFP/DADOS/
Licença ODbL (uso comercial e redistribuição de derivados permitidos, com atribuição à CVM). Cotações, quando usadas para múltiplos, virão exclusivamente de dados fim-de-dia/históricos da B3 (COTAHIST), cuja distribuição a política comercial da B3 (itens 7.9/7.10) declara livre.
Como os dados são tratados
- Cru preservado. Cada linha da CVM é gravada como veio (escala já em R$: arquivos em "MIL" são multiplicados por 1000). Regra de padronização nova nunca exige rebaixar o histórico.
- Consolidado primeiro. Usamos as demonstrações consolidadas; se a empresa
não consolida em um ano, caímos para as individuais e a escolha fica gravada
(
fato.agreg). A decisão é por exercício, não por empresa: 1.244 empresa-anos usam o individual porque não há consolidado naquele ano.
Na fronteira, comparar dois anos compara dois perímetros. 67 empresas
trocam de base ao longo da série, em 88 exercícios — e aí o crescimento, o
ROA, o ROE e o Piotroski atravessam a mudança. Caso real: a TELEBRÁS 2014
sai com +268,3% de receita porque o consolidado de 2014 (155,5 mi) é
comparado ao individual de 2013 (42,2 mi); na mesma base, a receita caiu
26%. O número está certo para as contas que ele cita e é enganoso como
variação econômica, então todo indicador nessa situação leva a flag
base_contabil_mudou. Não recalculamos no individual: isso jogaria fora o
consolidado, que é a base certa no ano em que existe. Qual das duas
leituras interessa é decisão de quem usa — a nossa parte é avisar que há
duas.
3. Só o exercício ÚLTIMO alimenta os indicadores. O comparativo PENÚLTIMO
(o mesmo exercício reportado um ano depois) serve de contraprova: divergência
acima de 0,5% é reapresentação e fica registrada na tabela
reapresentacao — visível, nunca corrigida em silêncio.
4. Versões. A CVM publica reapresentações com VERSAO crescente; vale sempre
a maior.
5. Sinais normalizados por identidade contábil, nunca por chute. A
convenção de sinal de custo e IR varia entre companhias nos arquivos da CVM
(caso real: Vale 2022 reporta custo positivo). O sinal publicado é o único
que fecha a identidade — custo: receita + custo = resultado bruto; IR:
LAIR + IR = resultado das operações continuadas. Crédito fiscal legítimo
fecha a identidade sem troca e é preservado. Toda troca fica gravada em
fato.origem (sinal_normalizado_pela_identidade); se nenhum sinal fecha,
o valor fica como veio e o invariante da DRE acusa.
6. Itens sem conta fixa (ex.: D&A) são extraídos por regra declarada (busca
textual na DFC método indireto, bloco 6.01) e a origem exata fica gravada em
fato.origem. Quando a regra não encontra o item, o valor fica NULO com
flag — nunca estimado.
Limitações declaradas
- IFRS 16 (2019): quebra estrutural em dívida e EBIT; comparações 2018→2019 carregam esse efeito.
- Quebras societárias documentadas em
dados_b3/empresas.py(ex.: Ambev S.A. só existe como registro desde 2013). - Financeiras fora do MVP: plano de contas próprio.
- DFP é anual; a camada trimestral (ITR) será adicionada com a mesma metodologia.