Fórmula de Graham: Como Encontrar Ações Brasileiras Baratas via API
A fórmula de Graham Brasil continua sendo um dos primeiros filtros que analistas fundamentalistas aplicam ao universo listado na B3. Este guia apresenta a origem do método, o cálculo do valor intrínseco, a adaptação necessária ao mercado brasileiro e um screener completo em Python executado sobre o Ibovespa em 2026.
Quem foi Benjamin Graham e por que a fórmula dele ainda importa
Benjamin Graham (1894-1976) foi professor da Columbia Business School, gestor de fundos por mais de três décadas e autor dos dois textos fundadores da análise fundamentalista moderna: Security Analysis (1934, coescrito com David Dodd) e The Intelligent Investor (1949). A edição revisada por Jason Zweig em 2003 mantém o texto original de Graham e acrescenta comentários que contextualizam a metodologia para o leitor contemporâneo.
A herança intelectual de Graham chegou ao público amplo através de seu aluno Warren Buffett, que estudou com ele em Columbia no início dos anos 1950. O método é anterior ao arsenal moderno de valuation (DCF, múltiplos relativos, modelos fatoriais), mas sobrevive como filtro de sanidade: qualquer estimativa sofisticada de preço justo precisa fazer sentido quando testada contra uma aritmética simples de LPA, VPA e P/L.
No Brasil, a fórmula ganhou popularidade através de livros, fóruns de investidores e ferramentas como o Fundamentus. Plataformas como a API fundamentalista da bolsai permitem automatizar o cálculo em escala, aplicando o filtro a centenas de ações em segundos. Para quem começa, o guia de análise fundamentalista para iniciantes cobre os conceitos prévios de LPA, VPA, P/L e P/VP que a fórmula combina.
Como calcular o valor intrínseco de Graham
Fórmula de Graham: o valor intrínseco de uma ação é calculado como a raiz quadrada de 22,5 multiplicado pelo LPA (lucro por ação) e pelo VPA (valor patrimonial por ação). Quando o preço de mercado é inferior ao valor intrínseco, a ação é considerada potencialmente subvalorizada, e a diferença percentual entre os dois representa a margem de segurança do investidor.
Valor Intrínseco = √(22,5 × LPA × VPA)
Margem de Segurança = (Valor Intrínseco − Preço) / Valor Intrínseco
O cálculo é deliberadamente simples. O LPA captura a geração de lucro corrente da empresa por ação; o VPA captura a base patrimonial contábil por ação. A raiz quadrada do produto estabelece um valor central que respeita simultaneamente o teto de lucratividade e o teto de valor patrimonial aceitáveis. Graham argumentava que o investidor prudente deveria pagar, no máximo, esse valor por uma ação sólida, e de preferência bem abaixo.
Considerando uma empresa com LPA de R$ 5,00 e VPA de R$ 30,00, o valor intrínseco é igual à raiz quadrada de 3.375, ou aproximadamente R$ 58,09. Se o preço vigente na B3 for R$ 40,00, a margem de segurança é de 31,1%. Se for R$ 65,00, a fórmula indica que a ação está negociada acima do valor intrínseco, mesmo que indicadores isolados como P/L pareçam razoáveis.
O fator 22,5 e sua origem (15 × 1,5)
O coeficiente 22,5 não é arbitrário. Deriva diretamente dos dois tetos que Graham considerava aceitáveis para o investidor defensivo: P/L máximo de 15 e P/VP máximo de 1,5. O produto dos dois limites é 22,5, e a fórmula opera como uma fronteira multiplicativa conjunta. Uma empresa com P/L de 12 e P/VP de 1,2 tem produto de 14,4, dentro do limite; outra com P/L de 18 e P/VP de 2,0 tem produto de 36, fora do limite, ainda que individualmente nenhum número seja absurdo.
A elegância do método está em condensar dois critérios de rejeição em um único teste. Para aprofundamento em cada componente, vale consultar o guia dedicado ao P/L e o guia dedicado ao P/VP, que cobrem a metodologia CVM por trás de cada múltiplo.
A literatura acadêmica posterior, notadamente os trabalhos de Aswath Damodaran (NYU Stern), reconhece a fórmula como caso particular de um modelo de Gordon simplificado. Graham, porém, não derivou o produto por essa via: ele é empírico, calibrado contra o comportamento histórico das empresas industriais norte-americanas do início do século XX.
Adaptando Graham ao mercado brasileiro
A aplicação literal dos critérios do defensive investor enfrenta um obstáculo objetivo no Brasil. Graham exigia 20 anos consecutivos de dividendos pagos, entre outros itens. Poucas empresas brasileiras atendem esse requisito: o Plano Collor de 1990, a hiperinflação até 1994, a crise de 2002 e a recessão de 2015-2016 interromperam históricos de proventos em dezenas de nomes hoje considerados saudáveis. Aplicar o filtro sem adaptação elimina candidatas legítimas.
A adaptação aceita no meio analítico brasileiro substitui o critério rígido de dividendos por um critério mínimo de yield atual e mantém os demais filtros com pequenos ajustes. O filtro adaptado usa cinco cortes objetivos:
- P/L abaixo de 15, preservando o teto original de Graham
- P/VP abaixo de 1,5, também preservado
- Dívida líquida sobre patrimônio abaixo de 1, versão flexível do critério de endividamento de Graham
- ROE acima de 10%, substituto do critério de "lucros positivos por 10 anos" que exige histórico longo e ajusta para qualidade
- Dividend Yield acima de 4%, proxy do critério de dividendos consistentes sem exigir 20 anos ininterruptos
Os critérios de tamanho e de crescimento de lucro são, em geral, relaxados ou omitidos. O corte de receita da época de Graham (US$ 100 milhões nos anos 1950) é impossível de adaptar sem escolhas arbitrárias; o crescimento de 33% em 10 anos depende de histórico detalhado que nem sempre está disponível. O núcleo quantitativo do filtro, no entanto, continua operacional.
Implementação em Python com a API da bolsai
O primeiro exemplo calcula o valor intrínseco de Graham para uma ação individual. O endpoint /fundamentals/{ticker} retorna LPA, VPA e preço de fechamento em uma única resposta. O código abaixo consulta BBAS3, caso clássico de banco estatal com múltiplos historicamente compatíveis com o filtro clássico:
import httpx
from math import sqrt
API_KEY = "sua_chave_aqui"
BASE = "https://api.usebolsai.com/api/v1"
HEADERS = {"X-API-Key": API_KEY}
def valor_graham(ticker: str) -> dict:
r = httpx.get(f"{BASE}/fundamentals/{ticker}", headers=HEADERS)
r.raise_for_status()
d = r.json()
lpa = d["lpa"]
vpa = d["vpa"]
preco = d["preco"]
if lpa <= 0 or vpa <= 0:
return {"ticker": ticker, "erro": "LPA ou VPA não positivos"}
intrinseco = sqrt(22.5 * lpa * vpa)
margem = (intrinseco - preco) / intrinseco * 100
return {
"ticker": ticker,
"preco": preco,
"lpa": lpa,
"vpa": vpa,
"valor_intrinseco": round(intrinseco, 2),
"margem_seguranca_pct": round(margem, 2),
}
print(valor_graham("BBAS3"))
O resultado indica que o preço de R$ 28,47 representa aproximadamente 39% do valor intrínseco calculado pela fórmula clássica. A margem de segurança de 61,13% excede confortavelmente o desconto de 30% a 50% que Graham recomendava para compra. O número isolado, no entanto, não encerra a análise: bancos operam com alavancagem estrutural, e o LPA reflete o momento atual do ciclo de crédito.
Rode esse código em sua conta bolsai hoje
200 requisições gratuitas por dia, sem cartão de crédito. LPA, VPA e preço de 350+ ações da B3, com metodologia CVM documentada.
Exemplo: aplicando Graham no Ibovespa em 2026
O segundo exemplo escala o cálculo para o universo completo do Ibovespa usando o endpoint /screener, que aceita filtros simultâneos sobre P/L, P/VP, ROE, dívida/patrimônio e dividend yield. O filtro adaptado descrito na seção anterior é aplicado de uma só vez, e o código processa o resultado aplicando a fórmula de Graham a cada linha:
import httpx
from math import sqrt
API_KEY = "sua_chave_aqui"
BASE = "https://api.usebolsai.com/api/v1"
HEADERS = {"X-API-Key": API_KEY}
# Filtro adaptado ao Brasil: P/L<15, P/VP<1.5, dívida/PL<1, ROE>10%, DY>4%
params = {
"pl_lt": 15,
"pvp_lt": 1.5,
"debt_equity_lt": 1,
"roe_gt": 10,
"dividend_yield_gt": 4,
"sort": "pvp",
"order": "asc",
"limit": 50,
}
r = httpx.get(f"{BASE}/screener", params=params, headers=HEADERS)
candidatas = r.json()["data"]
print(f"{'Ticker':8}{'Preço':>9}{'Graham':>10}{'Margem %':>12}")
for acao in candidatas:
lpa = acao.get("lpa") or 0
vpa = acao.get("vpa") or 0
preco = acao["close_price"]
if lpa <= 0 or vpa <= 0:
continue
intrinseco = sqrt(22.5 * lpa * vpa)
margem = (intrinseco - preco) / intrinseco * 100
if margem >= 30:
print(f"{acao['ticker']:8}{preco:>9.2f}{intrinseco:>10.2f}{margem:>11.1f}%")
A saída lista as ações do filtro adaptado que apresentam margem de segurança igual ou superior a 30% contra o valor intrínseco clássico. O resultado reproduz um padrão recorrente no mercado brasileiro: bancos estatais, utilities reguladas, seguradoras e teles maduras tendem a aparecer com frequência, ao passo que empresas de crescimento mais elevado raramente passam no filtro. A documentação completa do screener detalha todos os parâmetros aceitos e suas faixas válidas.
A tabela a seguir consolida a aplicação do método a quatro nomes frequentemente citados na discussão do filtro de Graham no Brasil, usando dados consolidados em 2026-04-01:
| Ticker | LPA (R$) | VPA (R$) | Preço (R$) | Graham (R$) | Margem |
|---|---|---|---|---|---|
| BBAS3 | 7,12 | 33,51 | 28,47 | 73,25 | +61,1% |
| CMIG4 | 2,04 | 17,42 | 13,62 | 24,18 | +43,7% |
| VIVT3 | 4,11 | 50,82 | 46,30 | 68,55 | +32,5% |
| ITUB4 | 3,48 | 17,05 | 36,28 | 36,53 | +0,7% |
Três dos quatro nomes apresentam margem de segurança confortável pela fórmula clássica. ITUB4 aparece praticamente no valor intrínseco, resultado compatível com o P/VP próximo de 2 que o banco costuma apresentar e confirmando que instituições de alta qualidade raramente oferecem desconto sobre o valor contábil.
Limitações e críticas modernas à fórmula
A crítica mais incisiva aponta que critérios puramente quantitativos ignoram a qualidade do negócio subjacente. Warren Buffett, após décadas aplicando Graham estritamente, evoluiu para um método que incorpora moats, capacidade de alocação de capital e durabilidade competitiva. A lição atribuída a ele é preferir "uma empresa excelente a um preço razoável" a "uma empresa razoável a um preço excelente". A fórmula clássica privilegia a segunda categoria.
Setores asset-light desafiam estruturalmente o método. Empresas de tecnologia, SaaS e serviços profissionais geram valor a partir de marca, rede, algoritmos e capital humano. Nada disso entra no balanço contábil, o que produz VPA artificialmente pequeno e distorce a fórmula. Uma empresa com LPA forte e VPA baixo pode gerar valor intrínseco deprimido, excluindo a candidata por motivo que nada tem a ver com qualidade operacional.
Intangíveis, goodwill e provisões pesam no cálculo do VPA de formas que Graham não precisou considerar em 1949. Empresas que cresceram por aquisições caras carregam goodwill sujeito a impairment; o VPA correspondente está, assim, sobrestimado. Em picos de lucro cíclico, o LPA fica superestimado e a fórmula produz valor intrínseco otimista que não se sustenta no vale do ciclo.
Graham vs. Magic Formula (Greenblatt): comparação
A Magic Formula, proposta por Joel Greenblatt em The Little Book That Beats the Market (2006), ordena ações por dois critérios ranqueados: earnings yield (EBIT sobre enterprise value) e return on capital (EBIT sobre capital empregado). A combinação busca empresas baratas em relação ao lucro operacional e eficientes no uso de capital. A filosofia é próxima de Graham, mas o instrumental é distinto.
A tabela a seguir contrasta os dois métodos:
| Critério | Graham clássico | Magic Formula |
|---|---|---|
| Base de cálculo | Contábil (LPA, VPA) | Operacional (EBIT, capital empregado) |
| Sensível a alavancagem | Indiretamente, via P/VP | Neutralizada via enterprise value |
| Tratamento de bancos | Aplicável com ajuste | Não aplicável (sem EBIT) |
| Critério de qualidade | ROE (via adaptação) | Return on Capital embutido |
| Saída típica | Utilities, bancos, teles | Franquias de alto ROIC |
| Rebalanceamento | Discricionário | Anual (por construção) |
Os dois métodos funcionam melhor de forma complementar. Graham identifica candidatas descontadas sobre o balanço; Magic Formula prioriza qualidade operacional a preço razoável. Aplicar os dois em sequência, usando Graham como filtro inicial e Magic Formula como ordenador, é um uso razoável na prática quantitativa brasileira.
Perguntas frequentes
A fórmula de Graham funciona no Brasil?
Funciona como filtro inicial, não como decisão final. A fórmula foi calibrada para empresas industriais norte-americanas da primeira metade do século XX, com requisitos rígidos como 20 anos consecutivos de dividendos. No Brasil, a alta rotatividade macroeconômica, planos monetários e crises setoriais derrubam o critério de continuidade de proventos. A adaptação comum relaxa esse item e mantém o núcleo do filtro (P/L abaixo de 15, P/VP abaixo de 1,5, dívida controlada, ROE mínimo de 10%). Com esse ajuste, o método continua útil para identificar candidatas a estudo aprofundado.
Qual a diferença entre valor intrínseco e preço justo?
Valor intrínseco, no léxico de Graham, é o valor derivado dos fundamentos contábeis da empresa, independente do sentimento de mercado. Preço justo é um conceito mais amplo, usado em fluxo de caixa descontado e em modelos de múltiplos relativos, que tenta incorporar expectativas de crescimento, risco setorial e custo de capital. A fórmula clássica de Graham (raiz quadrada de 22,5 × LPA × VPA) produz um valor intrínseco conservador; um DCF costuma produzir um preço justo mais sensível a premissas futuras. Ambos servem a propósitos distintos.
Graham recomendaria comprar Itaú ou Banco do Brasil hoje?
A aplicação direta da fórmula em bancos exige cautela. Instituições financeiras operam com alavancagem estrutural e patrimônio reportado em contas distintas da CVM, o que afeta o cálculo do VPA. Ainda assim, em 2026 o Banco do Brasil apresenta P/VP abaixo de 1 e ROE acima de 20%, o que produz margem de segurança positiva no cálculo clássico. Itaú, com P/VP próximo de 2, raramente aparece abaixo do valor intrínseco de Graham. A leitura, no entanto, deve ser complementada por análise qualitativa de crédito e exposição regulatória.
Qual fator usar no lugar de 22,5 para setores diferentes?
O 22,5 é o produto de 15 (P/L máximo) × 1,5 (P/VP máximo), calibrado para defensive investors em empresas industriais maduras. Para utilities e bancos, alguns analistas reduzem o produto para 18 (12 × 1,5), refletindo menor potencial de crescimento. Para empresas de crescimento mais elevado, o fator pode ser ampliado para 30 (20 × 1,5), reconhecendo a disposição do mercado em pagar mais por fluxos futuros. A regra prática é calibrar o fator pelo P/L e P/VP máximos aceitáveis para o setor em questão, sem perder de vista que o método é um filtro, não um oráculo.
Este conteúdo é educativo e não constitui recomendação de investimento. Dados de mercado citados têm data de referência 2026-04-01 e estão sujeitos a atualização. Qualquer decisão de alocação deve considerar objetivos pessoais, horizonte de investimento e análise complementar.
Aplique Graham em escala na B3
LPA, VPA, P/L, P/VP e outros 23 indicadores calculados com TTM para 350+ ações. Screener ilimitado no plano Pro. Ver planos.