Dados B3 › Transparência
Transparência
Transparência — como você confere os números você mesmo
Versão do dado 2026-11-03-ponte-b3-codigo-de-fundo · página gerada em 2026-11-07 01:13 UTC. Se isto não bater com o /saude, você está lendo uma cópia em cache.
O que é conferido, antes de cada publicação — 1238 testes automáticos, coletados ao vivo
113 são invariantes de DADO (o número fecha?) e 131 são de produto — gate de acesso, navegação, idioma, conector de IA. Chamar os 1238 de 'invariantes' seria inflar: a divisão é conferível na própria lista. Não é uma seleção à mão dos melhores exemplos: cada teste abaixo foi achado agora, introspectando os arquivos de teste de verdade, do mesmo jeito que pytest --collect-only acharia. Agrupados pelo que protegem, não pelo arquivo onde moram.
Nível 1 — Integridade: o dado fecha? (99)
I-B34— `situacao` só pode ser um dos quatro valores declarados.I-B35— Empresa marcada `com_proventos` tem proventos de verdade, e empresa marcada `sem_proventos` não tem nenhum.I-B57— ordem 'U' é a publicação ORIGINAL e 'P' é a republicação.I-B58— Em /reapresentacoes, "antes" é `valor_ultimo` (o original).I-B01— Ativo total == Passivo total (conta 2 já inclui o PL).I-B02— Resultado bruto == Receita + Custo (custo vem negativo).I-B02b— LAIR + IR == Resultado das operações continuadas (3.09).I-B03— NOPAT = EBIT × (1 − aliq) com aliq em [0, 45%], e ROIC só é publicado com capital médio positivo.I-B04— O universo do banco é EXATAMENTE o que a regra declarada produz agora — recomputado por caminho independente do que o ingest gravou.I-B04b— As 20 empresas resolvidas à mão mantêm o ticker no banco — enriquecimento não pode se perder numa reingestão em escala.I-B27— ROA = lucro líquido / ativo médio, e o ativo total é sempre positivo (I-B05 já garante 0 <= ativo < 1e14).I-B06— Furo no MEIO da série de uma empresa é defeito de carga — dado que devia estar lá sumiu.I-B09— Margem bruta recalculada direto do CRU (sem passar pelo fato) bate com o indicador publicado.I-B26— F-Score de Piotroski é soma de 9 binários: só pode ser inteiro de 0 a 9. Fora disso, algum critério vazou um valor não-booleano.I-B28— Liquidez corrente recalculada direto do CRU (conta 1.01 do BPA / 2.01 do BPP, sem passar pelo fato) bate com o indicador publicado.I-B30— Toda empresa com fato tem macro-setor, e o setor está no domínio dos 10. Se um SETOR_ATIV novo do cadastro não casar nenhuma regra, a empresa fica sem setor e este teste reprova — em vez de cair num balde errado em silêncio.I-B21— Provento é entrada de caixa: valor > 0 sempre.I-B22— tipo no domínio fechado e data_com em ISO AAAA-MM-DD — é o que os endpoints e o cálculo de dividend yield assumem.I-B19— O lucro TTM gravado bate com o TTM recomputado AQUI, direto das tabelas fato/fato_trimestral, sem passar pelo código de precos.I-B20— Todo ano de 2010 até o ano corrente tem preços no banco.I-B29— FCF yield = (CFO + capex) / market_cap, recomputado direto do fato (CFO 6.01 + capex 6.02, sem passar por precos.I-B13— Mesmo invariante do I-B01 (ativo = passivo), na granularidade trimestral.I-B10— Números conferidos à mão, um a um, contra o calculado.I-B55— Nenhuma companhia não-ativa da CVM está no nosso universo.I-B56— A contagem de canceladas desde 2010 é maior que zero.I-B102— Companhia que o cadastro da CVM marca como não-ativa sai de `empresa` e de toda tabela por companhia, deixa o retrato (anos de DFP) e o motivo em `companhia_fora_do_universo` e a conta do que foi retirado em `saida_do_universo`; quem está fora da regra SEM a CVM marcar como não-ativa NÃO é apagada; cadastro sem universo não apaga ninguém.I-B103— A trava de encolhimento (`conferir_nao_encolheu`) perdoa a queda de contagem que é EXATAMENTE a saída de uma companhia cancelada, e só ela.I-B104— `construir_local.I-B36— O rastro publicado aponta para conta que EXISTE naquela empresa.I-B59— O último pregão do banco tem de ser recente.I-B60— O /saude diz até quando vai a série, não só quantos preços tem.I-B61— Patrimônio que despenca ~1000x e volta é MARCADO, e o ROE junto.I-B62— Patrimônio a caminho do negativo NÃO é marcado como escala.I-B63— A série trimestral publica só o que a ITR publica: 1T, 2T e 3T.I-B63b— `roe_ttm` é lucro de 12 meses sobre o PL MÉDIO dos controladores da MESMA janela — o mesmo trimestre do ano anterior, nunca o trimestre imediatamente anterior.I-B64— A decisão de reconstruir o banco sai do DISCO, não da memória do processo: uma semana já reconstruída com sucesso não é reconstruída de novo, e fora da janela de madrugada só se retoma o que ficou pela metade naquela mesma semana.I-B64b— `_estado_persistido_do_build` lê a tabela `meta` de verdade e devolve semana ISO — e um banco sem os registros não faz o laço quebrar, devolve o lado seguro (reconstruir).I-B65— Indicador que uma classe de companhia NUNCA tem é declarado como "não se aplica" — não sai como traço, que se lê como "não temos".I-B66— A atualização noturna procura EXATAMENTE os dias úteis que faltam: depois do último pregão do banco, até hoje — e hoje só depois da hora em que a B3 publica o arquivo.I-B66b— A rodada noturna ingere o arquivo diário numa CÓPIA, confere, e só então troca o banco no ar.I-B66c— A chave de cache do buscador, do /hoje e da página de ticker muda quando o ARQUIVO do banco muda — não só quando a versão da pipeline muda.I-B66d— Trocar o banco em produção exige o WAL do alvo consolidado e vazio.I-B66e— Banco com rodada `sem_novidade` e nenhum `ok`: o /saude diz `estado: "sem_novidade"` e preenche `ultima_rodada`; a rodada sem novidade não apaga o `ok` anterior; o bloco explica o estado, aponta `cobertura_de_preco.I-B66f— Banco sem nenhuma chave `diario_*`: `estado: "nunca_rodou"`, `ultima_rodada` vazia (nem inventa data nem resultado) e a explicação diz que não há registro.I-B67— A ficha da companhia (descrição, segmento, sede, escriturador, auditor, controle) sai do Formulário Cadastral MAIS RECENTE de cada companhia; o segmento de listagem é o do ticker PRINCIPAL; o endereço é o da sede; o escriturador é o em atuação.I-B68— A atualização noturna, além do preço, pergunta à B3 pelos proventos de ação e pelos rendimentos de FII, e à CVM pelos avisos de proventos (a data-com futura), na mesma cópia e antes do DY ser recalculado — e registra quantos entraram.I-B69— O boot aplica a migração de COLUNA, não só o CREATE TABLE.I-B70— Com a tabela de ETF já preenchida, o boot ACRESCENTA as linhas que faltam no derivado e não toca nas que existem.I-B71— `dados_b3.leitura` é a interface interna estável (Bloco 0): só lê, recebe a conexão de fora, não importa página nem estilo — e o que devolve BATE com o que a página de empresa mostra.I-B72— Reconstruir a base do zero PRESERVA o retrato das companhias que saíram da bolsa — na tabela e no derivado reexportado.I-B73— A meta Selic (SGS 432) entra como vigências contínuas: um dia que falte quebra a vigência em vez de esticar a meta anterior por cima; a média do exercício só sai com o ano inteiro coberto; uma janela da fonte que falha não grava nada; o derivado versionado nunca é reescrito com menos dias do que já cobre; o boot o carrega numa base vazia; e a base cobre todo exercício fechado com indicador.I-B74— A página de empresa lê a série de indicadores, os múltiplos, a série trimestral, as reapresentações e os proventos pela camada de leitura (1ª fatia da migração, 26/09/2026) — e o que ela recebe é IGUAL à leitura direta do banco, valor e flag, para 20 companhias de tipos diferentes (banco, seguradora, exercício fora de dezembro, múltiplo suprimido).I-B75— A reapresentação registrada é a da agregação que o fato publica naquele exercício (con, ou ind quando a companhia não consolida), com a agregação NA CHAVE — nunca mais o individual por cima do consolidado.I-B37— O denominador do crescimento é o comparativo REAPRESENTADO.I-B38— Exercício com escala divergente não publica valor ABSOLUTO.I-B39— Nenhuma flag de exceção vale para 100% de uma classe de empresa.I-B40— PL_final = PL_inicial + sócios + abrangente + internas.I-B41— Conta com valores contraditórios no arquivo não é publicada.I-B42— O aviso de escala viaja no FATO, não só no indicador.I-B43— O indicador publicado bate com os fatos que o geraram.I-B44— Flag que a REGRA exige tem de estar lá — some, o teste grita.I-B45— Preço e market cap fora do possível não são publicados.I-B46— ROE e ROA batem com os fatos — não só as razões simples.I-B47— A versão gravada no banco é a versão do código que o gerou.I-B48— Linha de reapresentação que não diverge não é reapresentação.I-B49— Não existe caminho alternativo para dentro do lote de fatos.I-B50— O P/L trimestral é market cap dividido por lucro TTM.I-B51— JCP continua sendo metade do provento brasileiro.I-B52— A soma dos trimestres não pode contradizer o exercício.I-B53— DRE sem a linha de custo não publica margem limpa.I-B54— Quando as duas publicações da empresa discordam, o dado avisa.I-B66g— Ao ATIVAR uma base nova (a função real `ativar_se_compativel`), as chaves `diario_*` da tabela `meta` do banco que estava no ar passam para o banco novo antes de ele entrar no ar, e o fato fica registrado (`diario_herdado_em` e `herdou_diario` no resultado).I-B66h— Se o banco NOVO já traz histórico `diario_*` mais recente que o do banco que sai, o novo vale: nada dele é sobrescrito e só entra o que lhe falta (ex.I-B100— A empresa que publica a DFC pelo método direto (DFC_MD) tem o caixa das operações (6.01) lido dali, com a origem dizendo `DFC_MD:6.01`; se existe o método indireto, ele manda.I-B101— Linha 3.11.01 (lucro dos controladores) entregue como ZERO com lucro líquido (3.11) diferente de zero vira AUSENTE, com o motivo na origem — anual e trimestral —, e o ROE cai no lucro total com a ressalva `lucro_total_sem_minoritarios` em vez de sair 0,0%.I-B76— O plano de contas sai do texto do 3.01 do exercício mais recente, sem diferenciar maiúsculas: "intermediação" é banco; "seguradora" OU "resseguro" (cada um sozinho basta) é seguradora; outro texto, texto vazio ou nenhum 3.01 é geral.I-B77— receita + custo = resultado bruto, e lair + IR = resultado das continuadas: custo positivo que só fecha negativo vira negativo (e a origem diz); o que já fecha, ou não fecha de jeito nenhum, fica como está; crédito fiscal legítimo fecha sem troca.I-B78— Custo com a conta-mãe 3.02 zerada (ou ausente) vira a soma dos filhos de PRIMEIRO nível — neto não conta duas vezes — e a origem diz; conta-mãe com número fica com o número, mesmo que os filhos somem outra coisa.I-B79— D&A soma as FOLHAS casadas de 6.01 (pai que tem filho casado fica fora), inclui exaustão, exclui amortização de custo de transação de debênture e linha sem rótulo; capex soma só SAÍDAS (valor < 0; zero não é saída) de imobilizado/intangível em 6.02, folhas também, sem venda de ativo nem aplicação financeira.I-B80— Em banco, PL e lucro saem pelo RÓTULO: o PL de nível 1 (menor código) fora das linhas de atribuição; o lucro da ÚLTIMA linha "Lucro … Período" (maior código, não o maior valor) fora de "por ação"; o do controlador fora de "não controladores".I-B81— PL final = inicial + transações com sócios + resultado abrangente + mutações internas, cada termo com o seu sinal.I-B82— Basta UMA parte conflitante numa origem somada (antes do `;`) para o item sair vazio com o motivo; origem vazia ou sem `demo:` não é conflitante.I-B83— Arquivo multiplicado por mil tem a razão das DUAS colunas perto de mil (a(F)) e de um milésimo (a(F−1)): vira correção de fator 0,001 (e dividido por mil, fator 1.000); a mediana de número par de contas é a média das duas centrais; com 20 contas diagnostica, com 19 não.I-B84— A soma dos três trimestres contra a receita anual: acima de 100x (100,5x já é) ou abaixo de 0,01x é dúvida (razão arredondada a 4 casas, 3 trimestres); exatamente 100x e exatamente 0,01x não são; soma zero não se compara; ano sem os três trimestres não entra; no trimestral não se roda.I-B85— Patrimônio que cai ≥100x contra CADA vizinho e volta, com fator implícito (média geométrica) entre 1/3 e 3x de mil ou de um milhão, é marcado (razão a 2 casas) e a origem do fato ganha o aviso; vizinhos de sinais opostos (cruzando o zero) não; queda de 100x exata marca, de menos não; queda contra um vizinho só não; fator de exatamente 3.000 marca, de 3.500 não; 333,5 marca; valor exatamente 1 (não 0) marca.I-B86— Exercício que aparece como ÚLTIMO e PENÚLTIMO com diferença relativa acima de 0,5% (sobre o maior dos dois, mínimo R$ 1) é reapresentação, com a diferença a 6 casas; exatamente 0,5% não é.I-B87— `padronizar` grava um fato por item por exercício a partir do ano mínimo (inclusive), devolve quantos gravou, anota o consolidado zerado — e só ele: companhia que só tem individual não ganha a anotação —, registra a escala divergente das duas fontes (duas colunas e ITR); `padronizar_trimestral` faz o mesmo nos trimestres 1, 2 e 3. ATAQUE: pular o ano mínimo; anotar o individual comum; esquecer um trimestre; devolver contagem errada.I-B88— Com números redondos, cada indicador do plano comum sai exato e sem flag: margens bruta/EBIT/líquida sobre a receita; ROIC = EBIT × (1 − IR/LAIR) sobre o capital investido MÉDIO (dívida + PL − caixa − aplicações); ROE = lucro dos controladores sobre o PL dos controladores médio (PL − minoritários); EBITDA = EBIT + D&A; dívida líquida; DL/EBITDA; crescimento; ROA = lucro TOTAL sobre o ativo médio (6 casas); liquidez corrente como foto; Piotroski 8 de 9 (o giro igual não pontua; a contagem de ações igual pontua).I-B89— Alíquota efetiva = −IR/LAIR.I-B90— Sem o ano anterior, o capital é o do fim (`capital_final_sem_ media`); capital médio zero ou negativo não tem ROIC; |ROIC| acima de 2 é `roic_extremo` (2,5 já é), exatamente 2 não; caixa ausente conta zero e avisa (`caixa_nao_publicado`, também na dívida líquida e no DL/EBITDA); aplicação ausente conta zero sem aviso; sem dívida, sem capital.I-B91— Sem lucro dos controladores, lucro total com `lucro_total_sem_minoritarios`; sem linha de minoritários, o PL total inteiro; PL médio zero ou negativo não tem ROE (`pl_nao_positivo`).I-B92— Receita zero: margens e crescimento vazios com `receita_zero_na_dre`; margem EBIT acima de 100% é `margem_ebit_implausivel`, exatamente 100% não; ativo médio zero, `ativo_medio_zero`; passivo circulante zero, `passivo_circulante_zero`; ativo abaixo de R$ 1 milhão marca TODO indicador do ano com `empresa_sem_operacao`, exatamente R$ 1 milhão não.I-B93— O denominador do crescimento é o comparativo REAPRESENTADO do ano anterior (conta ordem P, mesma agregação do fato) — sem flag; na falta dele, a receita de época com `denominador_sem_comparativo`.I-B94— Escala divergente no exercício: EBITDA e dívida líquida (os ABSOLUTOS) saem vazios, razões ficam, todos com `escala_divergente`.I-B95— Comparação cujas DUAS pontas estão em bases diferentes (con × ind) é `base_contabil_mudou`: crescimento de 1 ano, ROE, ROA e Piotroski na janela de 1 ano; CAGR na de 5. Ano sem vizinho não compara, e a margem (sem comparação) nunca é marcada.I-B96— Banco: margem líquida sobre a receita de intermediação, ROE sobre o PL consolidado médio (sempre com `pl_consolidado_inclui_ minoritarios`; sem lucro dos controladores, lucro total e a flag), ROA, crescimento pelo comparativo reapresentado — e NADA de ROIC, EBITDA, margem bruta, liquidez ou Piotroski.I-B97— A contagem de ações de cada exercício é a do documento MAIS RECENTE daquele ano (dezembro vence setembro, qualquer que seja a ordem de gravação); contagem vazia não entra.I-B98— Cada régua "≤ 0" é sobre zero, não sobre R$ 1: LAIR, capital médio, PL médio, EBITDA, receita e base do CAGR de 50 centavos ainda fazem conta.I-B99— A DRE sem custo (`custo_ausente_na_dre`) marca o que lê a DRE — margens, ROE, ROA, EBITDA, crescimento, Piotroski — e NÃO marca a liquidez corrente nem a dívida líquida, que são foto do balanço e não leem linha nenhuma da DRE.
Nível 2 — Semântica: a conta significa o que o cálculo supõe? (6)
I-B07— Toda divergência ÚLTIMO × PENÚLTIMO acima de 0,5% nas contas- chave tem que estar em `reapresentacao`.I-B24— Todo banco/seguradora que tem fato tem lucro E PL extraídos no ano mais recente.I-B15— O preço usado em `multiplo` nunca é anterior a `dt_receb` — é o INVARIANTE central de todo o bloco de múltiplos: sem ele, o P/L "conhece" um balanço que o mercado ainda não tinha visto.I-B16— Contraprova: market_cap recomputado fora do código de cálculo (preço × snapshot de ações mais recente ATÉ a data do preço) bate com o gravado.I-B18— Mesmo invariante central do I-B15, no bloco trimestral: o preço do múltiplo nunca é anterior ao dt_receb da ITR.I-B32— Todo indicador emitido no banco tem entrada de proveniência no DICIONARIO — a fórmula, as contas CVM e a BASE do lucro que /indicadores agora embute AO LADO do número.
Nível 3 — Econômico: o resultado é possível no mundo real? (8)
H-B05— Ativo total nunca negativo; nunca acima de R$ 100 tri (denuncia ESCALA_MOEDA=MIL aplicada em dobro).H-B08— |ROIC| > 200% sem flag `roic_extremo` é defeito até prova em contrário.H-B23— Mesmo padrão do H-B08/H-B17: provento > 5x o preço na data-com é preço histórico não ajustado por desdobramento (comum na B3 em dado antigo), não erro de parsing do valor.H-B25— ROE de banco fora de [-100%, 150%] é quase sempre erro de extração (PL ou lucro trocado).H-B17— Mesmo padrão do H-B08 (ROIC): |P/L|>200 ou |P/VP|>50 sem flag é defeito até prova em contrário.I-B31— O índice setorial tem os 10 macro-setores + 'Mercado (B3)', cada um com a série cheia (mesmo nº de semanas), níveis positivos e base 100 no início.I-B33— Nenhuma semana de nenhum setor anda mais do que uma bolsa consegue andar numa semana.H-B14— Q1+Q2+Q3 isolados de receita <= receita anual da DFP (tolerância 2%) para a GRANDE maioria das empresas — o resíduo (Q4 implícito) tem que ser não-negativo.
Outros testes do produto (0)
Gate comercial, navegação e o conector MCP — testam se o produto funciona, não se um número está certo, então não entram nos 3 níveis acima por natureza. Contados e listados do mesmo jeito:
Reconstrua você mesmo — margem líquida de 5 empresas, 4 setores
Não pedimos que você confie nos números. Eis a margem líquida de cinco empresas de quatro setores diferentes, cada uma reconstruída direto do balanço anual (DFP) na CVM — lucro líquido ÷ receita, batendo exatamente com o valor publicado. Para QUALQUER indicador, de qualquer empresa, a cadeia inteira até a linha do arquivo da CVM está em /linhagem:
| Empresa · setor | Lucro líq. (conta CVM) | Receita (conta CVM) | Margem =÷ |
|---|---|---|---|
| WEGE3 · indústria | R$ 6,78 bi DRE:3.11 | R$ 40,80 bi DRE:3.01 | 16,6% |
| VALE3 · mineração | R$ 11,81 bi DRE:3.11 | R$ 213,59 bi DRE:3.01 | 5,5% |
| PETR4 · petróleo | R$ 110,61 bi DRE:3.11 | R$ 497,55 bi DRE:3.01 | 22,2% |
| ITUB4 · banco | R$ 45,85 bi DRE:3.09 | R$ 387,12 bi DRE:3.01 | 11,8% |
| BBAS3 · banco | R$ 16,78 bi DRE:3.11 | R$ 319,46 bi DRE:3.01 | 5,3% |
Baixe a DFP de qualquer uma delas na CVM, pegue as contas de lucro e receita, divida — você chega no mesmo número. Bancos usam a receita de intermediação (o que faz sentido pra um banco), então a reconciliação é ciente do setor; os demais usam a receita de vendas. Valores do último exercício.
Por que às vezes divergimos de outro site (e não é erro)
Uma diferença entre dois sites geralmente não é um estar errado — é uma escolha de método. A nossa está aberta:
- Capital médio vs final: ROE e ROIC usam patrimônio/capital médio (ano atual + anterior ÷ 2), não o saldo final — então não são uma divisão ingênua de um ano só.
- Controladora vs consolidado: dizemos qual cada item usa.
- TTM vs anual: múltiplos trimestrais usam lucro dos últimos 12 meses.
- IFRS 16, goodwill, caixa, imposto excepcional: cada um tratado explicitamente e sinalizado quando distorce.
Os testes mordem? Sim — casos reais que a bateria já pegou
Um teste que nunca falha pode significar dado perfeito — ou teste fraco. Estes nasceram de erros reais que passaram, e hoje reprovam — só aparece o que existe de verdade na bateria coletada acima:
- I-B16 · o P/L = 0 dos bancos: a CVM reporta o nº de ações ora em unidades, ora em milhares (varia por empresa e por ano); o market cap saía 1000× menor e o P/L dava zero. O I-B16 (preço × ações recomputado) pegou — corrigimos 661 múltiplos anuais e 2.027 trimestrais.
- I-B24 · o lucro que sumia: a conta de lucro/PL varia por banco (Itaú 3.09, BB 3.11); se a busca por rótulo falha, o número some em silêncio e o ROE nasce errado. I-B24 faz esse buraco reprovar.
- H-B23 · o dividend yield de 800%: provento antigo na B3 vem com preço não ajustado por desdobramento; sem o H-B23 o yield sairia absurdo como se fosse real. A flag mantém o registro e avisa.
- I-B20 · o furo do COTAHIST 2023: no 1º deploy, o download de um ano de preços falhou em silêncio; a API subiu com ~50 mil preços a menos e a bateria passou, porque nenhum teste olhava cobertura. Criamos o I-B20 — ano sem preço agora reprova o build alto.
- I-B33 · Petróleo e Gás em −89,6% numa semana: o COTAHIST não é ajustado por desdobramento; um split 10:1 lia como −90% de retorno semanal e ficava no acumulado para sempre, sem nada reprovar (um filtro cego de amplitude nem resolveu — só trocou o erro de sinal). I-B33 (nenhuma semana de setor além de ±35%, a régua é a própria bolsa) faz o build parar.
- I-B31 · 364 de 865 semanas do índice setorial congeladas: ao estender a série até 2010, setor sem nenhuma empresa com market cap naquela semana virava fator 1,0 — uma linha reta que o retorno acumulado lia como 'mercado parado', e o retorno 'desde 2010' saía ficcional (+527%). I-B31 reprova qualquer semana repetida ao centavo.
- I-E05 · o P/L de 2010 da EMBRAER com preço de 2025: a busca de preço ponto-no-tempo caía para a frente sem teto quando o ticker atual não tinha preço na época do balanço (troca de código, mudança de classe); o múltiplo saía calculado com um preço 15 anos no futuro, em 22% das linhas anuais e trimestrais, em silêncio. A janela de 45 dias (e o I-E05) barra isso: sem pregão dentro do prazo, o múltiplo não é calculado.
- I-E04 · a AZUL com R$ 1,67 quadrilhão de valor de mercado: o balanço trazia 54,7 trilhões de ações da recuperação judicial, mas o preço usado já estava na base pós-grupamento de 1:150.000 — duas pontas em bases diferentes, market cap errado por ordens de grandeza. I-E04 (valor de mercado nunca maior que o PIB do Brasil) faz esse absurdo reprovar o build.
Até onde vai cada bloco de dado
Aqui não tem asterisco: esta é a cobertura ano a ano, contada agora. Indicadores (ROE, ROIC, margens, crescimento) saem só das demonstrações e cobrem a série inteira. Múltiplos (P/L, P/VP, EV/EBITDA) exigem preço e número de ações — e o nº de ações vem do Formulário de Referência, que quanto mais antigo menos companhia entregou em formato aproveitável. A diferença entre as duas colunas é limite da fonte, não buraco de ingestão. Se você procurar um P/L antigo e não achar, é porque ninguém tem — não porque escondemos. Os mesmos números em JSON: /cobertura.
| Ano | Empresas com indicadores | Empresas com múltiplos |
|---|---|---|
| 2025 | 440 | 290 |
| 2024 | 444 | 296 |
| 2023 | 442 | 298 |
| 2022 | 429 | 295 |
| 2021 | 423 | 296 |
| 2020 | 411 | 274 |
| 2019 | 372 | 166 |
| 2018 | 327 | 167 |
| 2017 | 318 | 165 |
| 2016 | 312 | 154 |
| 2015 | 304 | 144 |
| 2014 | 302 | 140 |
| 2013 | 293 | 131 |
| 2012 | 291 | 112 |
| 2011 | 284 | 98 |
| 2010 | 277 | 34 |
Cobertura ao vivo
456 empresas · 883,569 pontos de preço · 8,670 reapresentações registradas · última atualização 2026-11-06 01:27:27. Contagens completas ao vivo em /saude.
Fontes: CVM (dados abertos, ODbL) e B3 (COTAHIST). Não afiliado à B3 nem à CVM. Não é recomendação de investimento.
Os números desta página são ao vivo. Versão do dado 2026-11-03-ponte-b3-codigo-de-fundo · página gerada em 2026-11-07 01:13 UTC. Se isto não bater com o /saude, você está lendo uma cópia em cache.