Introdução
O Fluxo de Caixa Descontado (DCF - Discounted Cash Flow) é considerado o método mais robusto de valuation. Enquanto múltiplos como P/L e P/VP oferecem uma visão rápida, o DCF calcula o valor intrínseco de uma empresa baseado no que realmente importa: a capacidade de gerar caixa no futuro.
Neste guia completo, você aprenderá:
- Fundamentos teóricos do DCF
- Como calcular o Free Cash Flow (FCF)
- Taxa de desconto (WACC) na prática
- Valor terminal e perpetuidade
- Implementação em Python com brapi.dev
- Análise de sensibilidade
O que é Fluxo de Caixa Descontado?
Conceito Fundamental
"O valor de qualquer ativo é o valor presente dos fluxos de caixa futuros que ele irá gerar." — Aswath Damodaran
┌─────────────────────────────────────────────────────────────┐
│ CONCEITO DCF │
├─────────────────────────────────────────────────────────────┤
│ │
│ Valor Hoje = Soma dos Fluxos de Caixa Futuros │
│ ──────────────────────────────── │
│ (1 + taxa de desconto)^n │
│ │
│ Exemplo: │
│ ├─ FCF Ano 1: R$ 100 / (1.12)¹ = R$ 89.29 │
│ ├─ FCF Ano 2: R$ 110 / (1.12)² = R$ 87.69 │
│ ├─ FCF Ano 3: R$ 121 / (1.12)³ = R$ 86.13 │
│ └─ ... │
│ │
│ Valor Total = Soma de todos os valores presentes │
│ │
└─────────────────────────────────────────────────────────────┘Componentes do DCF
| Componente | Descrição | Como Obter |
|---|---|---|
| FCF | Fluxo de Caixa Livre | DRE + DFC da empresa |
| Taxa de Desconto | WACC ou Custo de Equity | Cálculo (detalhado abaixo) |
| Período de Projeção | Normalmente 5-10 anos | Análise do setor |
| Valor Terminal | Valor após período explícito | Perpetuidade ou múltiplo |
Fórmula Geral
n FCFₜ TV
Valor Empresa = Σ ────────── + ──────────
t=1 (1 + WACC)ᵗ (1 + WACC)ⁿ
Onde:
- FCFₜ = Free Cash Flow no ano t
- WACC = Custo Médio Ponderado de Capital
- TV = Terminal Value (Valor Terminal)
- n = Número de anos projetadosPasso 1: Calcular o Free Cash Flow (FCF)
Fórmula do FCF
Free Cash Flow to Firm (FCFF):
FCF = EBIT × (1 - t) + D&A - CAPEX - Δ Capital de Giro
Onde:
- EBIT = Lucro operacional
- t = Taxa de imposto (34% no Brasil)
- D&A = Depreciação e Amortização
- CAPEX = Investimentos em ativos fixos
- Δ Capital de Giro = Variação no capital de giroExemplo de cálculo:
| Componente | Valor |
|---|---|
| EBIT | R$ 5,00 bi |
| Taxa de Imposto | 34% |
| NOPAT (EBIT × 0,66) | R$ 3,30 bi |
| (+) Depreciação | R$ 0,80 bi |
| (-) CAPEX | R$ 1,20 bi |
| (-) Δ Capital de Giro | R$ 0,20 bi |
| = FCF | R$ 2,70 bi |
Obtendo Dados com brapi.dev
// Obter dados para cálculo do FCF via brapi.dev
const response = await fetch(
"https://brapi.dev/api/quote/WEGE3?modules=incomeStatementHistory,cashflowStatementHistory",
{ headers: { Authorization: "Bearer SEU_TOKEN" } }
);
const { results } = await response.json();
const income = results[0].incomeStatementHistory?.incomeStatementHistory?.[0];
const cashflow = results[0].cashflowStatementHistory?.cashflowStatements?.[0];
const ebit = income?.ebit || 0;
const depreciacao = cashflow?.depreciation || 0;
const capex = Math.abs(cashflow?.capitalExpenditures || 0);
const variacaoCG = cashflow?.changeInWorkingCapital || 0;
// Calcular FCF
const taxaImposto = 0.34;
const nopat = ebit * (1 - taxaImposto);
const fcf = nopat + depreciacao - capex - variacaoCG;FCF Histórico e Projeção
┌─────────────────────────────────────────────────────────────┐
│ FCF HISTÓRICO E PROJETADO (R$ milhões) │
├─────────────────────────────────────────────────────────────┤
│ │
│ HISTÓRICO │ PROJETADO │
│ ────────── │ ────────── │
│ 2022: R$ 2.100 │ 2026: R$ 3.200 (+10%) │
│ 2023: R$ 2.450 │ 2026: R$ 3.520 (+10%) │
│ 2024: R$ 2.900 │ 2027: R$ 3.872 (+10%) │
│ │ 2028: R$ 4.065 (+5%) │
│ Cresc. médio: 17% │ 2029: R$ 4.268 (+5%) │
│ │ Após: 3% perpetuidade │
│ │
└─────────────────────────────────────────────────────────────┘Passo 2: Calcular a Taxa de Desconto (WACC)
O que é WACC?
O WACC (Weighted Average Cost of Capital) representa o custo médio ponderado do capital da empresa, considerando dívida e equity.
Fórmula do WACC:
WACC = Ke × We + Kd × (1 - t) × Wd
Onde:
- Ke = Custo do Equity
- Kd = Custo da Dívida
- t = Taxa de imposto
- We = Peso do Equity
- Wd = Peso da DívidaExemplo de cálculo:
| Componente | Valor |
|---|---|
| Custo do Equity (Ke) | 14% |
| Custo da Dívida (Kd) | 10% |
| Taxa de Imposto | 34% |
| Peso Equity | 70% |
| Peso Dívida | 30% |
| WACC | 14% × 0,70 + 10% × 0,66 × 0,30 = 11,78% |
Calculando o Custo do Equity (CAPM)
Fórmula do CAPM:
Ke = Rf + β × (Rm - Rf) + CRP
Onde:
- Rf = Taxa livre de risco (Selic)
- β = Beta da ação
- Rm - Rf = Prêmio de risco do mercado
- CRP = Country Risk Premium (risco país)Exemplo para Brasil (2026):
| Componente | Valor |
|---|---|
| Taxa Selic (Rf) | 11,75% |
| Beta WEGE3 | 0,85 |
| Prêmio de Mercado | 5,0% |
| Risco País (CDS) | 2,0% |
| Custo do Equity | 11,75% + 0,85 × 5% + 2% = 18,00% |
Obtendo Beta via brapi.dev
// Obter beta de uma ação via brapi.dev
const response = await fetch(
"https://brapi.dev/api/quote/WEGE3?fundamental=true",
{ headers: { Authorization: "Bearer SEU_TOKEN" } }
);
const { results } = await response.json();
const beta = results[0].beta || 1.0;
// Calcular custo do equity (CAPM)
const selic = 0.1175;
const premioMercado = 0.05;
const riscoPais = 0.02;
const custoEquity = selic + beta * premioMercado + riscoPais;
### Tabela de Referência WACC por Setor
| Setor | WACC Típico Brasil |
|-------|-------------------|
| Utilities (Energia) | 8-10% |
| Bancos | 10-12% |
| Consumo Básico | 10-12% |
| Indústria | 11-14% |
| Varejo | 12-15% |
| Tecnologia | 14-18% |
| Small Caps | 15-20% |
---
## Passo 3: Calcular o Valor Terminal
### Método da Perpetuidade (Gordon Growth)
**Fórmula do Valor Terminal:**TV = FCF(n+1) / (WACC - g)
Onde:
- FCF(n+1) = FCF do primeiro ano após projeção
- g = Taxa de crescimento na perpetuidade
**Exemplo de cálculo:**
| Componente | Valor |
|------------|-------|
| FCF Ano 5 | R$ 4,27 bi |
| Crescimento Perpétuo (g) | 3% |
| WACC | 12% |
| FCF Perpétuo (Ano 6) | R$ 4,40 bi |
| **Valor Terminal** | **R$ 4,40 bi / (0,12 - 0,03) = R$ 48,85 bi** |
> ⚠️ **Importante:** O WACC deve ser sempre maior que g, caso contrário o valor terminal seria infinito.
### Método do Múltiplo de Saída
**Fórmula:**TV = EBITDA(n) × Múltiplo
**Exemplo de cálculo:**
| Componente | Valor |
|------------|-------|
| EBITDA Ano 5 | R$ 6,00 bi |
| Múltiplo EV/EBITDA | 8x |
| **Valor Terminal** | **R$ 48,00 bi** |
### Qual Método Usar?
| Método | Quando Usar | Vantagem | Desvantagem |
|--------|-------------|----------|-------------|
| Perpetuidade | Empresas estáveis | Teoricamente correto | Sensível a g |
| Múltiplo | Comparação setorial | Simples | Depende do setor |
| Média | Conservador | Reduz erro | Menos preciso |
---
## Passo 4: Modelo DCF Completo
### Implementação Passo a Passo
O modelo DCF completo segue estes passos:
**1. Projetar FCFs futuros:**
| Ano | Taxa de Crescimento | FCF Projetado |
|-----|---------------------|---------------|
| 1 | 12% | R$ 2,80 bi |
| 2 | 12% | R$ 3,14 bi |
| 3 | 10% | R$ 3,45 bi |
| 4 | 8% | R$ 3,73 bi |
| 5 | 6% | R$ 3,95 bi |
**2. Descontar FCFs a valor presente:**
| Ano | FCF | Fator (1+WACC)^n | VP do FCF |
|-----|-----|------------------|-----------|
| 1 | R$ 2,80 bi | 1,12 | R$ 2,50 bi |
| 2 | R$ 3,14 bi | 1,25 | R$ 2,51 bi |
| 3 | R$ 3,45 bi | 1,40 | R$ 2,46 bi |
| 4 | R$ 3,73 bi | 1,57 | R$ 2,37 bi |
| 5 | R$ 3,95 bi | 1,76 | R$ 2,24 bi |
| **Soma** | | | **R$ 12,08 bi** |
**3. Calcular e descontar Valor Terminal:**
- Valor Terminal: R$ 45,2 bi
- VP do Terminal: R$ 25,7 bi
**4. Calcular valor da empresa:**
- Soma VPs FCFs: R$ 12,08 bi
- VP Terminal: R$ 25,7 bi
- **Valor Empresa: R$ 37,78 bi**
**5. Calcular preço justo:**
- Valor Empresa: R$ 37,78 bi
- (-) Dívida Líquida: R$ 2,00 bi
- Valor Equity: R$ 35,78 bi
- Ações: 2,1 bi
- **Preço Justo: R$ 17,04**
### Exemplo Prático: Valuation WEGE3
**Parâmetros do modelo (valores ilustrativos):**
| Parâmetro | Valor |
|-----------|-------|
| FCF Atual | R$ 2,5 bi |
| Anos de Projeção | 5 |
| Crescimento Anos 1-2 | 12% |
| Crescimento Anos 3-5 | 10%, 8%, 6% |
| WACC | 12% |
| Crescimento Perpétuo | 3% |
| Dívida Líquida | R$ 2,0 bi |
| Ações Outstanding | 2,1 bi |
**Resultado do DCF:**╔══════════════════════════════════════════════════════════════╗ ║ DCF VALUATION - WEGE3 ║ ╠══════════════════════════════════════════════════════════════╣ ║ ║ ║ FCFs Projetados (R$ bi): ║ ║ Ano 1: 2.80 Ano 2: 3.14 Ano 3: 3.45 ║ ║ Ano 4: 3.73 Ano 5: 3.95 ║ ║ ║ ║ Valor Terminal: R$ 45.23 bi ║ ║ Valor Terminal VP: R$ 25.68 bi ║ ║ ║ ║ Valor da Empresa: R$ 37.76 bi ║ ║ (-) Dívida Líquida: R$ 2.00 bi ║ ║ (=) Valor do Equity: R$ 35.76 bi ║ ║ ║ ║ ═══════════════════════════════════════════════════════ ║ ║ PREÇO JUSTO: R$ 17.03 ║ ║ ═══════════════════════════════════════════════════════ ║ ║ ║ ║ % Valor no Terminal: 68.0% ║ ║ ║ ╚══════════════════════════════════════════════════════════════╝
```typescript
// Implementação simplificada do DCF em TypeScript
async function runDCF(ticker: string, params: DCFParams) {
// Obter dados via brapi.dev
const response = await fetch(
`https://brapi.dev/api/quote/${ticker}?fundamental=true`,
{ headers: { Authorization: "Bearer SEU_TOKEN" } }
);
const { results } = await response.json();
// 1. Projetar FCFs
const fcfs: number[] = [];
let fcf = params.fcfAtual;
for (const taxa of params.taxasCrescimento) {
fcf = fcf * (1 + taxa);
fcfs.push(fcf);
}
// 2. Descontar FCFs
const fcfsVP = fcfs.map((f, i) => f / Math.pow(1 + params.wacc, i + 1));
// 3. Valor Terminal
const tv = fcfs[fcfs.length - 1] * (1 + params.crescimentoPerpetuo)
/ (params.wacc - params.crescimentoPerpetuo);
const tvVP = tv / Math.pow(1 + params.wacc, params.anosProjecao);
// 4. Preço Justo
const valorEmpresa = fcfsVP.reduce((a, b) => a + b, 0) + tvVP;
const valorEquity = valorEmpresa - params.dividaLiquida;
const precoJusto = valorEquity / params.acoesOutstanding;
return { precoJusto, valorEmpresa, valorEquity };
}
---
## Análise de Sensibilidade
### Por que é Importante?
O DCF é muito sensível a pequenas mudanças nos inputs. A análise de sensibilidade mostra como o preço justo varia com diferentes premissas.
**Tabela de Sensibilidade: WACC × Crescimento Perpétuo**
| WACC ↓ / g → | 2,0% | 2,5% | 3,0% | 3,5% | 4,0% |
|--------------|------|------|------|------|------|
| **10%** | R$ 38,50 | R$ 42,30 | R$ 47,20 | R$ 53,80 | R$ 63,50 |
| **11%** | R$ 32,10 | R$ 34,80 | R$ 38,20 | R$ 42,50 | R$ 48,20 |
| **12%** | R$ 27,30 | R$ 29,30 | R$ 31,80 | R$ 34,90 | R$ 38,90 |
| **13%** | R$ 23,60 | R$ 25,10 | R$ 27,00 | R$ 29,30 | R$ 32,20 |
| **14%** | R$ 20,70 | R$ 21,80 | R$ 23,30 | R$ 25,00 | R$ 27,10 |
**Interpretação:**
- Uma diferença de 1% no WACC pode alterar o preço justo em ~15-20%
- Uma diferença de 0,5% no crescimento perpétuo pode alterar o preço em ~10%
- Use cenários (pessimista, base, otimista) para definir faixas de preço justo
```typescript
// Análise de sensibilidade via brapi.dev
interface SensitivityResult {
wacc: number;
crescimento: number;
precoJusto: number;
}
const waccRange = [0.10, 0.11, 0.12, 0.13, 0.14];
const crescimentoRange = [0.02, 0.025, 0.03, 0.035, 0.04];
const resultados: SensitivityResult[] = [];
for (const wacc of waccRange) {
for (const g of crescimentoRange) {
const precoJusto = calcularDCF({ ...paramsBase, wacc, crescimentoPerpetuo: g });
resultados.push({ wacc, crescimento: g, precoJusto });
}
}Erros Comuns no DCF
1. Crescimento Perpétuo Muito Alto
❌ ERRADO: g = 5% (acima do PIB de longo prazo)
✅ CORRETO: g = 2-3% (linha com inflação + PIB real)
Regra: Crescimento perpétuo não deve exceder crescimento do PIB2. Valor Terminal Domina
⚠️ Se >70% do valor vem do Terminal Value, as projeções
de curto prazo importam pouco.
Solução: Aumente o período de projeção ou seja mais
conservador no TV.3. FCF Inconsistente
❌ ERRADO: Usar FCF de um único ano (pode ser atípico)
✅ CORRETO: Normalizar FCF usando média de 3-5 anos4. WACC Subestimado
Componentes frequentemente esquecidos:
- Risco país (Brasil: 200-400 bps)
- Prêmio por iliquidez (small caps: 200-400 bps)
- Prêmio de tamanhoDCF vs Outros Métodos
Comparativo de Métodos de Valuation
| Método | Complexidade | Quando Usar | Limitações |
|---|---|---|---|
| DCF | Alta | Empresas estáveis com FCF previsível | Sensível a premissas |
| P/L | Baixa | Comparação rápida | Ignora estrutura de capital |
| EV/EBITDA | Média | Empresas com dívida | Ignora CAPEX |
| Graham | Média | Value investing conservador | Empresas maduras apenas |
| DDM | Média | Dividend payers | Ignora crescimento |
Quando NÃO Usar DCF
- Startups - FCF negativo, crescimento imprevisível
- Empresas cíclicas - Lucros voláteis
- Turnarounds - Histórico não confiável
- Bancos - Usar múltiplos específicos (P/VP, ROE)
Modelo Simplificado para Uso Rápido
DCF Rápido - Passos:
- Obter EPS (lucro por ação) da empresa
- Estimar crescimento (máx. 15% para ser conservador)
- Converter EPS em FCF (usar 70% como proxy)
- Aplicar taxas padrão (WACC 12%, g perpétuo 3%)
- Calcular margem de segurança
Exemplo - WEGE3:
| Etapa | Cálculo | Valor |
|---|---|---|
| EPS | Dado brapi.dev | R$ 1,20 |
| FCF por ação | EPS × 0,70 | R$ 0,84 |
| Crescimento | Min(earningsGrowth, 15%) | 12% |
| VP dos FCFs (5 anos) | Σ descontados | R$ 4,50 |
| Valor Terminal VP | FCF₅ × (1+g) / (WACC-g) | R$ 10,20 |
| Preço Justo | VP FCFs + TV VP | R$ 14,70 |
| Preço Atual | Dado brapi.dev | R$ 35,00 |
| Margem de Segurança | (Justo - Atual) / Justo | -138% |
| Recomendação | Margem > 25%? | EVITAR |
// DCF simplificado via brapi.dev
const response = await fetch(
"https://brapi.dev/api/quote/WEGE3?fundamental=true",
{ headers: { Authorization: "Bearer SEU_TOKEN" } }
);
const { results } = await response.json();
const eps = results[0].earningsPerShare || 0;
const crescimento = Math.min(results[0].earningsGrowth || 0.05, 0.15);
const fcfPorAcao = eps * 0.7;
const wacc = 0.12;
const gPerpetuo = 0.03;
const anos = 5;
// VP dos FCFs
let vpTotal = 0;
let fcf = fcfPorAcao;
for (let ano = 1; ano <= anos; ano++) {
fcf = fcf * (1 + crescimento * (1 - ano / 10)); // Desaceleração
vpTotal += fcf / Math.pow(1 + wacc, ano);
}
// Valor Terminal
const tv = fcf * (1 + gPerpetuo) / (wacc - gPerpetuo);
const tvVP = tv / Math.pow(1 + wacc, anos);
const precoJusto = vpTotal + tvVP;
const precoAtual = results[0].regularMarketPrice;
const margem = ((precoJusto - precoAtual) / precoJusto) * 100;
const recomendacao = margem > 25 ? "COMPRA" : margem > 0 ? "NEUTRO" : "EVITAR";
---
## Conclusão
### Checklist DCF┌─────────────────────────────────────────────────────────────┐ │ CHECKLIST DCF │ ├─────────────────────────────────────────────────────────────┤ │ │ │ INPUTS │ │ ☐ FCF histórico (3-5 anos) │ │ ☐ Taxa de crescimento realista │ │ ☐ WACC com todos os componentes │ │ ☐ Crescimento perpétuo ≤ PIB │ │ │ │ VALIDAÇÃO │ │ ☐ TV < 70% do valor total │ │ ☐ Análise de sensibilidade │ │ ☐ Comparar com múltiplos │ │ ☐ Sanity check vs preço de mercado │ │ │ │ MARGEM DE SEGURANÇA │ │ ☐ Aplicar desconto de 20-40% │ │ │ └─────────────────────────────────────────────────────────────┘
### Quando o DCF é Mais Útil
1. **Empresas maduras** com FCF estável
2. **Aquisições** onde você precisa de valor absoluto
3. **Decisões de longo prazo** de buy and hold
4. **Comparar cenários** (base, otimista, pessimista)
---
**Pronto para fazer seu próprio DCF?** [Crie sua conta grátis](/signup) e acesse dados de fluxo de caixa de todas as empresas da B3!