EN
Metodologia aberta

Múltiplos (P/L, P/VP, EV/EBITDA)

Múltiplos (P/L, P/VP, EV/EBITDA)

O princípio que separa este banco da maioria das ferramentas de varejo

O preço usado para calcular um múltiplo nunca é o preço de fechamento do exercício (31/12 do ano). É o preço do primeiro pregão a partir da data em que a demonstração daquele ano ficou publicamente disponível — o campo DT_RECEB da própria capa do documento na CVM.

Por quê: uma DFP de exercício encerrado em 31/12 costuma ser publicada só em fevereiro ou março do ano seguinte. Usar o preço de 31/12 junto com o lucro daquele balanço é comparar uma cotação que o mercado tinha naquele dia com uma informação que o mercado ainda não tinha — vazamento de informação futura. Caso real medido neste banco: a DFP de 2025 da WEG (cd_cvm 5410, exercício encerrado 31/12/2025) só foi recebida pela CVM em 25/02/2026; o múltiplo de 2025 usa o preço de fechamento de 25/02/2026, não de 31/12/2025.

Fórmulas

  • Ações em circulação = total emitido (QT_ACAO_TOTAL_CAP_INTEGR) menos ações em tesouraria (QT_ACAO_TOTAL_TESOURO), da própria composição de capital que acompanha a DFP — nunca de fonte externa.
  • Market cap = preço ponto-no-tempo × ações em circulação.
  • P/L = Market cap / Lucro atribuído aos controladores (cai para o lucro consolidado com flag lucro_total_sem_minoritarios quando a companhia não reporta a abertura).
  • P/VP = Market cap / (PL total − participação de não controladores).
  • EV/EBITDA = (Market cap + Dívida líquida) / EBITDA — herda as mesmas travas do EBITDA (ver divida_liquida_ebitda.md): sem D&A na DFC, o múltiplo não é publicado.

Escolha do ticker

Uma empresa pode ter mais de uma classe de ação negociada (ON e PN). O ticker "principal" usado para preço e múltiplos vem do cadastro oficial da CVM (FCA — Formulário Cadastral, dataset valor_mobiliario), nunca de busca por nome: prioriza-se a classe Ordinária, ainda em negociação (sem data de fim), entre as listadas em Bolsa. Empresas sem classe elegível (ex.: só debêntures listadas, ou delistadas) ficam sem múltiplo — não é estimado.

Quando o cadastro da CVM não dá o ticker

O ticker sai do FCA, que a própria companhia preenche — e companhia preenche errado. A CSN põe 4030 no campo do código de negociação: é o código CVM dela, não o ticker. Nossa validação de formato rejeita, corretamente, e a CSNA3 — 251 pregões só em 2024 — ficava fora do banco inteiro. Eram 104 companhias sem nenhum código, entre elas BTG Pactual e Marisa.

A segunda fonte é o catálogo da B3 (GetInitialCompanies, o mesmo que já usamos para casar proventos), que devolve codeCVM → sigla de quatro letras. Chave por código CVM, nunca por nome — casar empresa por semelhança de nome é como se cola dado na companhia errada.

Três travas acompanham:

  • Sigla não vira ticker sozinha. Só entra o código que aparece negociando no COTAHIST. Sigla sem negócio fica de fora; não inventamos papel.
  • Só ação. Sufixos 3, 4, 5, 6, 7, 8 e 11. Fora daí a B3 negocia com a mesma sigla coisas que não são participação no capital — 1 e 2 são direitos de subscrição, 9 e 10 são recibos. Na primeira versão eu aceitava qualquer dígito e a Marisa entrou com AMAR1 e AMAR9.
  • Sigla disputada é descartada. Se duas companhias reivindicam a mesma, nenhuma fica com ela.

O papel principal é o mais líquido, não o de melhor classe. Prioridade de classe sozinha erra: pela regra "ON primeiro", o BTG Pactual seria representado pelo BPAC3, que quase não negocia, em vez do BPAC11, onde está a liquidez. A contagem de pregões decide, com a classe como desempate. Pelo mesmo motivo, a companhia cujo principal declarado não negocia passa a ser representada pela classe que negocia — antes ela ficava sem preço nenhum, sumindo do site por um detalhe de cadastro.

Resultado, medido quando a correção entrou (10/08/2026): 290 → 320 empresas com preço, e 281 → 306 com múltiplos. São números de um momento — a cobertura de hoje está em /cobertura.

Empresa que trocou de código

A B3 renomeia tickers com alguma frequência: CCR virou MOTV3, Arezzo virou AZZA3, CTEEP virou ISAE3, Eletrobras virou AXIA3, Embraer virou EMBJ3. Durante um tempo o banco só conhecia o código de hoje, então a empresa renomeada perdia toda a série de preço anterior — e a busca do preço ponto-no-tempo, sem teto, "caía para a frente" até achar um pregão: o P/L de 2010 da Embraer saía calculado com preço de 2025. Estava assim em 22% das linhas de múltiplos. Ver /metodologia/setores para o post-mortem completo.

O que resolve, e o que não resolve. A ideia óbvia — casar por ISIN, como fazemos nos FIIs — não funciona para ação: o ISIN brasileiro embute as quatro letras do código e troca junto com ele. ELET3/BRELETACNOR6 virou AXIA3/BRAXIAACNOR0; ARZZ3/BRARZZACNOR3 virou AZZA3/BRAZZAACNOR9. O ISIN não é a identidade estável que aparenta ser.

O que resolve é a própria FCA lida ano a ano: cada formulário anual traz o código vigente naquele ano para o mesmo CNPJ, e a sequência dos arquivos reconstrói a linha do tempo (FCA 2024: CCRO3 · FCA 2025: MOTV3). Fonte oficial da CVM e ponto-no-tempo por construção.

Duas regras acompanham isso:

  • Classe não se mistura. Só entram códigos da mesma classe do principal de hoje. A Azul negociava AZUL4 (PN) e hoje tem AZUL3 (ON); emendar as duas daria uma série que troca de papel no meio, e o retorno calculado nela não seria de nada que se pudesse ter comprado e segurado.
  • Na semana de transição vence o código atual. Quando o velho e o novo coexistem, fica um preço por dia, o do principal — não o que aparecer por último no arquivo.

Limitação declarada: a coluna Codigo_Negociacao da FCA só vem preenchida a partir de 2018. Antes disso o arquivo existe, tem as linhas, e o campo está vazio. Renomeação anterior a 2018 não é recuperável por esta via. Todas as que conhecemos são posteriores, mas o limite fica escrito em vez de suposto.

De onde vem o número de ações (e por que a cobertura afina indo para trás)

O valor de mercado precisa de duas pontas: preço e número de ações. A segunda vem de duas fontes da CVM, nesta ordem de preferência:

  1. composicao_capital da DFP/ITR — traz ações emitidas e em tesouraria, então dá a contagem em circulação exata. Só existe a partir de 2020: nos zips de 2012, 2016 e 2019 o arquivo não está lá.
  2. capital_social do FRE (Formulário de Referência) — existe desde 2010. Traz as ações emitidas por tipo de capital; usamos o Capital Emitido, as ações que existem de fato (não o autorizado, que é teto estatutário e não está na mão de ninguém).

Enquanto só a primeira era usada, P/L, P/VP e EV/EBITDA começavam em 2019. Com o FRE, começam em 2010 — e a Embraer, que tinha recuperado 16 anos de preço e nenhum múltiplo, passou a ter os dois.

O que o FRE não traz, e fica declarado: tesouraria. O bloco correspondente é esparso (39 linhas em 2016, contra 457 companhias no capital social). Linha vinda do FRE grava tesouraria nula — nula, não zero, porque não sabemos que é zero — e o múltiplo carrega a flag acoes_do_fre_sem_tesouraria. Onde a companhia recomprou ação de verdade, isso superestima levemente as ações e o valor de mercado. Quando as duas fontes existem para a mesma data, a DFP vence.

Ponto-no-tempo também aqui. A janela usa a data em que o número ficou público (DT_RECEB da capa do formulário), não a data de referência do período. Um balanço de 31/03 só vira informação em maio; casar preço de abril com a contagem de 31/03 seria usar dado que o mercado ainda não tinha — o mesmo erro de natureza do preço do múltiplo, em escala menor. Corrigido junto.

Trava de plausibilidade. O FRE é campo livre preenchido pela companhia, e tem lixo de ordem de grandeza: a Ferrovia Centro-Atlântica declara 210 trilhões de ações, a Ampla 3,9 trilhões. Isso produzia valor de mercado de R$ 180 trilhões — quinze vezes o PIB — e foi o invariante I-E04 que reprovou a publicação. A régua para barrar é o patrimônio da própria empresa, que é independente do nº de ações: companhia listada negocia entre uma fração e algumas dezenas de vezes o patrimônio, e fora de [0,02x, 50x] não é avaliação de mercado, é contagem errada. A banda é larguíssima de propósito — não julga se a ação está cara, detecta ordem de grandeza impossível. 38 linhas ficaram de fora por esta trava, sem valor de mercado e com o motivo na flag acoes_implausiveis.

E uma quarta trava, de continuidade (24/09/2026). Uma contagem 10x errada ainda cabe na banda acima: a CSN Mineração saiu com R$ 271 bilhões de valor de mercado em 2025 (33 bilhões em 2024, com o preço caindo), P/L 164 e P/VP 40, e passou. A quantidade de ações de uma companhia não muda 3x de um ano para o outro sem um evento societário — desdobramento, grupamento, emissão —, e os eventos estão na base. Quando muda e nada explica (nem evento registrado no ano, no anterior ou no seguinte; nem ajuste já feito por evento ou por escala; nem ser o ano seguinte à abertura de capital), o ano fica sem valor de mercado, P/L e P/VP, com o motivo na flag acoes_salto_sem_evento. Medido antes de ligar: 18 anos-companhia, 5 deles de 2025.

A cobertura, ano a ano

Os múltiplos existem de 2010 a hoje, mas não para todo mundo em todo ano — e a página /transparencia mostra a contagem exata, atualizada a cada publicação, ao lado da coluna dos indicadores (que não dependem de preço e cobrem a série inteira). Em 2010 são ~30 empresas com múltiplo contra ~264 com indicadores; em 2024, ~267 contra ~426.

A diferença entre as duas colunas é limite da fonte, não buraco de ingestão: quanto mais antigo o formulário, menos companhia o entregou em formato aproveitável. Preferimos mostrar a curva a deixar o leitor achar que o vazio é descuido nosso.

Travas declaradas (cada uma vira flag)

  • Sem DT_RECEB ou sem pregão a partir dali: múltiplo não calculado, flag sem_data_publicacao / sem_preco_apos_publicacao.
  • Sem ações em circulação: sem_acoes_em_circulacao.
  • Lucro ≤ 0: P/L é publicado mesmo assim (número real, não escondido), com flag pl_negativo — P/L negativo não é comparável ao P/L de uma empresa lucrativa, mas é informação, não erro.
  • PL dos controladores ≤ 0: P/VP não é publicado (pl_nao_positivo) — dividir por patrimônio negativo não tem leitura econômica direta.
  • |P/L| > 200 ou |P/VP| > 50: publicado com flag pl_extremo / pvp_extremo — nas 457 do universo isso é quase sempre lucro ou patrimônio minúsculo (empresa em recuperação, distressed pós-crise), não erro de conta.

Fonte e licitude

Preço: COTAHIST (B3), série histórica fim-de-dia — dados da B3, exibidos para consulta informativa; uso comercial ou redistribuição dependem de licença da B3. Ticker: FCA da CVM (ODbL). Nenhuma fonte de cotação em tempo real é usada ou redistribuída.

Múltiplos trimestrais (P/L TTM e P/VP)

Mesma disciplina ponto-no-tempo, ancorada no DT_RECEB da ITR de cada trimestre:

  • Lucro TTM (últimos 12 meses) por identidade, sem estimar o 4º trimestre: TTM no Qk = anual(ano−1) − [Q1..Qk de (ano−1)] + [Q1..Qk de (ano)]. Se qualquer pedaço falta (anual anterior ou um trimestre), o TTM fica NULO com flag (ttm_sem_anual_anterior / ttm_sem_trimestre_...) — nunca interpolado.
  • P/L TTM = Market cap na data do preço / Lucro TTM.
  • P/VP = Market cap / PL dos controladores do balanço do próprio trimestre (o balanço trimestral é foto, não fluxo).
  • Ações em circulação: snapshot mais recente da composicao_capital (DFP e ITR) até a data do preço — nunca snapshot futuro, e nunca a quantidade do ano anterior quando existe a do trimestre: desdobramento no meio do ano quebraria o market cap em silêncio. Snapshot mais velho que 200 dias em relação ao preço ganha flag acoes_defasadas.
  • LPA TTM (lpa_ttm) = Lucro TTM dos controladores / acoes, onde acoes é a mesma contagem que formou o market cap daquele trimestre (a regra acima, já com ajuste por evento, correção de escala e trava de plausibilidade; recuperada como market cap ÷ preço por ação, sem coluna nova). Logo lpa_ttm × acoes = lucro_ttm e pl_ttm = preço por ação / lpa_ttm. É LPA por AÇÃO: numa unit o preço da linha é o da unit e a flag market_cap_ajustado_por_unit_de_N_acoes informa a cesta (divida o preço por N). Sem market cap ou sem lucro TTM, acoes/lpa_ttm ficam NULOS com a flag do trimestre. O LPA anual (lpa) é o lucro do exercício / acoes do ano. Sai em /empresas/{ticker}/multiplos, em /trimestres e no conjunto multiplos_trimestrais do /dump.
  • EV/EBITDA trimestral NÃO existe neste banco, de propósito: a DFC da ITR vem só acumulada (medido no universo inteiro: D&A trimestral isolado existe em ~4.200 empresa-anos no Q1, mas só ~35 no Q2 e ~16 no Q3 — o Q1 existe porque isolado e acumulado coincidem). Sem D&A isolado não há EBITDA trimestral sem estimativa, e este banco não estima. EV/EBITDA fica anual. (Desde 06/11/2026 o D&A ACUMULADO do ano é guardado, e a página da ação mostra a dívida líquida/EBITDA de 12 meses pela identidade do TTM, com as peças conferidas — ver divida_liquida_ebitda.md. EV/EBITDA trimestral continua fora.)
  • P/VP de banco: desde 06/11/2026 usa o PL dos controladores (PL menos a linha de não controladores do plano de banco, 2.08.09 ou 2.07.02), como as demais companhias; antes usava o PL consolidado inteiro, com a flag pl_total_sem_minoritarios.

Múltiplos por classe de ação (ON, PN, PNA/PNB, unit)

Os múltiplos são calculados por companhia, com o preço do ticker principal. Quem pede outra classe (/empresas/PETR3/multiplos em vez de PETR4) recebe P/L e P/VP com o fechamento daquela classe no mesmo pregão que o principal usou:

  • O lucro por ação e o valor patrimonial por ação são os da companhia (lucro e patrimônio dos controladores ÷ total de ações em circulação). Só o preço muda. Logo P/L(classe) = P/L(principal) × preço por ação da classe ÷ preço por ação do principal; nenhuma trava de escala, banda ou salto de ações é decidida de novo.
  • Unit: preço da unit ÷ ações da cesta (unit_composicao, inferida do preço). Unit sem cesta inferida não tem múltiplo (flag unit_sem_cesta_inferida).
  • O fechamento da classe pode ser de até 7 dias antes do pregão do principal (flag preco_da_classe_Nd_antes_do_pregao); sem isso o múltiplo vem nulo (sem_preco_da_classe_na_data).
  • A resposta traz classe_consultada, o preco_da_classe, o preco_por_acao_da_classe e o dia (data_preco_da_classe) em cada linha, e o valor do principal em pl_principal, pvp_principal, pl_ttm_principal. Valor de mercado, EV/EBITDA e FCF yield seguem os da companhia, pelo preço do principal.
  • O histórico de preço de cada classe vem do mesmo COTAHIST (tabela preco_classe, 2010 até hoje). Código antigo de outra sigla (CCRO3 → MOTV3) e unit sem cesta não entram.

O TTM como estava numa data (as_of)

/empresas/{ticker}/multiplos?as_of=AAAA-MM-DD refaz, em trimestrais, o lucro_ttm, o lpa_ttm e o pl_ttm com a versão que valia em as_of de cada documento da identidade (a DFP do ano anterior e as ITR dos dois anos) — a maior versão recebida até a data. Versão atual usa a base; versão anterior usa o valor que o build arquivou. Se a versão vigente existiu mas o número dela não foi guardado, o lucro, o LPA e o P/L saem nulos (versao_original_indisponivel: true): nunca o número da versão nova. Cada linha lista as versoes_usadas; trimestre cuja ITR ainda não tinha sido recebida sai da lista. O preço é o do 1º pregão a partir do recebimento da ITR vigente; as ações são as da linha; o P/VP usa o patrimônio da versão atual. Sem as_of, nada muda.

Aviso de lucro com salto atípico (06/11/2026)

A CVM não publica lucro "recorrente", e este banco não inventa lucro ajustado: o P/L e o ROE continuam com o lucro contábil. Quando o lucro do período tem um trimestre que destoa dos anteriores, o número sai com o aviso "lucro com salto atípico no {trimestre}: pode haver efeito não recorrente; veja o resultado do trimestre", o trimestre, os números dos dois testes e a fonte (ITR do trimestre, ou DFP no 4T, com a data de entrega à CVM).

  • Lucro do trimestre isolado. 1T, 2T e 3T da ITR (fato_trimestral, trimestre isolado); o 4T = lucro do exercício (DFP) menos 1T a 3T. Lucro dos controladores quando informado; senão, o total. Consolidado quando há.
  • Teste 1 (trimestre fora da curva). m = mediana do lucro isolado dos 4 trimestres anteriores, com m > 0, e |lucro do trimestre − m| ≥ 3 × m (o trimestre é pelo menos 4 vezes a mediana, ou fica abaixo de −2 vezes ela).
  • Teste 2 (efeito no lucro de 12 meses). O lucro de 12 meses que termina no trimestre é pelo menos o dobro do que termina no trimestre anterior, ou no máximo a metade (o anterior positivo).
  • Os dois testes juntos. Medido na base de 06/11/2026 nas 276 ações com preço no último pregão, de 1T25 a 2T26: só o teste 1 com 3× marcava 55 companhias (empresa sazonal tem trimestre forte todo ano); com os dois, e 4×, 19 companhias com salto para cima e 18 para baixo. Nas 158 ações líquidas das listas, 17 têm aviso no exercício de 2025; na lista de P/L abaixo de 10 (67 ações), 5 (ALLD3 3T25, RIAA3 4T25, AZZA3 2T25, TEND3 2T25, BRAV3 2T25).
  • Onde aparece. O P/L do exercício e o ROE usam o lucro anual: o aviso olha os 4 trimestres daquele ano. O P/L e o ROE de 12 meses usam o lucro de 12 meses: o aviso olha os 4 trimestres da janela. Ficha († no P/L e o aviso no bloco "Hoje"), /listas/acoes-pl-abaixo-de-10 (coluna "aviso de lucro"), /empresas/{T}/multiplos (valuation.lucro_salto_atipico, valuation.aviso_lucro e o bloco aviso_lucro_atipico, com exercicio e doze_meses), /empresas/{T}/indicadores (aviso_lucro_atipico.anos_marcados) e as ferramentas multiplos, indicadores_anuais e listas do MCP (booleano + texto).
  • Sem aviso, nem a favor nem contra, quando a mediana dos 4 trimestres anteriores não é positiva (empresa que vinha no prejuízo) ou quando falta algum dos 4.

Limitações declaradas

  • 457 empresas no universo; nem todas têm ticker resolvido (as demais não têm classe elegível em Bolsa no cadastro mais recente da CVM — delistadas, só dívida, ou nunca negociaram ação).
  • O lucro TTM mistura lucro dos controladores com consolidado quando algum período só reporta o total — a flag lucro_total_sem_minoritarios acompanha o número quando isso acontece.

This page in English

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-08-escala-do-fre · página gerada em 2026-11-09 14:46 UTC. Se isto não bater com o /saude, você está lendo uma cópia em cache.