Growth vs Value: O Debate Eterno
A divisão entre Growth (Crescimento) e Value (Valor) é uma das mais fundamentais no mundo dos investimentos. Cada estilo tem seus defensores fervorosos, mas a verdade é que ambos podem funcionar dependendo do contexto, perfil e horizonte do investidor.
Neste guia, vamos explorar as características de cada estilo, identificar exemplos na B3, e ajudá-lo a decidir qual abordagem faz mais sentido para você.
Definições Básicas
| Aspecto | Growth (Crescimento) | Value (Valor) |
|---|---|---|
| Foco | Potencial futuro | Preço atual vs valor intrínseco |
| Múltiplos | P/L e P/VP altos | P/L e P/VP baixos |
| Dividendos | Baixos ou zero | Geralmente altos |
| Reinvestimento | Lucros reinvestidos | Lucros distribuídos |
| Volatilidade | Alta | Menor |
| Horizonte | Longo prazo | Médio a longo prazo |
Ações Growth: Apostando no Futuro
Ações de crescimento são empresas que reinvestem seus lucros para expandir rapidamente. O mercado paga um prêmio por essas empresas na expectativa de lucros muito maiores no futuro.
Características das Ações Growth
┌─────────────────────────────────────────────────────────────┐
│ PERFIL DA AÇÃO GROWTH │
├─────────────────────────────────────────────────────────────┤
│ │
│ 📈 CRESCIMENTO ACELERADO │
│ • Receita crescendo > 15% ao ano │
│ • Lucros expandindo rapidamente │
│ • Market share em expansão │
│ │
│ 💰 REINVESTIMENTO INTENSO │
│ • Pouco ou nenhum dividendo │
│ • CapEx elevado │
│ • Aquisições estratégicas │
│ │
│ 📊 MÚLTIPLOS ELEVADOS │
│ • P/L > 20x (frequentemente > 30x) │
│ • P/VP > 3x │
│ • EV/EBITDA > 12x │
│ │
│ 🎯 EXPECTATIVAS ALTAS │
│ • Mercado precifica crescimento futuro │
│ • Sensível a revisões de projeções │
│ • Volatilidade elevada │
│ │
└─────────────────────────────────────────────────────────────┘Exemplos de Growth na B3
import requests
def identificar_acoes_growth() -> list:
"""
Identifica ações com características de growth na B3
"""
# Candidatas a growth na B3
tickers = ["WEGE3", "TOTS3", "RENT3", "PRIO3", "HAPV3", "RAIL3", "ARZZ3", "LWSA3"]
growth_stocks = []
for ticker in tickers:
url = f"https://brapi.dev/api/quote/{ticker}"
params = {"fundamental": "true"}
headers = {"Authorization": "Bearer SEU_TOKEN_AQUI"}
response = requests.get(url, params=params, headers=headers)
data = response.json()
if "results" not in data:
continue
r = data["results"][0]
pl = r.get("priceToEarningsTrailingTwelveMonths")
pvp = r.get("priceToBook", 0)
dy = r.get("dividendYield", 0) * 100 if r.get("dividendYield") else 0
roe = r.get("returnOnEquity", 0) * 100 if r.get("returnOnEquity") else 0
crescimento = r.get("earningsGrowth", 0) * 100 if r.get("earningsGrowth") else 0
# Critérios growth: P/L alto, DY baixo, crescimento
if pl and pl > 15 and dy < 3:
growth_stocks.append({
"ticker": ticker,
"nome": r.get("shortName", ""),
"preco": r.get("regularMarketPrice", 0),
"pl": round(pl, 1),
"pvp": round(pvp, 1),
"dy": round(dy, 2),
"roe": round(roe, 1),
"crescimento": round(crescimento, 1),
"score_growth": calcular_score_growth(pl, dy, crescimento, roe)
})
growth_stocks.sort(key=lambda x: x['score_growth'], reverse=True)
return growth_stocks
def calcular_score_growth(pl, dy, crescimento, roe):
"""Calcula score de growth baseado em múltiplos fatores"""
score = 0
if crescimento > 20:
score += 3
elif crescimento > 10:
score += 2
elif crescimento > 0:
score += 1
if dy < 2:
score += 2
elif dy < 4:
score += 1
if roe > 20:
score += 2
elif roe > 15:
score += 1
return score
growth = identificar_acoes_growth()
print("\n" + "=" * 75)
print("📈 AÇÕES GROWTH NA B3")
print("=" * 75)
print(f"\n{'Ticker':<10} {'Preço':<12} {'P/L':<10} {'P/VP':<8} {'DY':<8} {'ROE':<10} {'Score':<8}")
print("-" * 75)
for g in growth:
print(f"{g['ticker']:<10} R$ {g['preco']:<8.2f} {g['pl']:<10.1f}x {g['pvp']:<8.1f}x {g['dy']:<6.2f}% {g['roe']:<8.1f}% {g['score_growth']:<8}")WEG (WEGE3): O Case Clássico de Growth
A WEG é o exemplo mais emblemático de growth stock brasileira:
def analisar_case_weg():
"""
Análise da WEG como case de growth
"""
url = "https://brapi.dev/api/quote/WEGE3"
params = {"fundamental": "true"}
headers = {"Authorization": "Bearer SEU_TOKEN_AQUI"}
response = requests.get(url, params=params, headers=headers)
data = response.json()
if "results" not in data:
return
r = data["results"][0]
print("\n" + "=" * 60)
print("CASE STUDY: WEG (WEGE3) - GROWTH STOCK BRASILEIRA")
print("=" * 60)
print(f"\n📊 DADOS ATUAIS")
print(f"Preço: R$ {r.get('regularMarketPrice', 0):.2f}")
print(f"Market Cap: R$ {r.get('marketCap', 0) / 1_000_000_000:.1f} bilhões")
print(f"\n📈 MÚLTIPLOS (Típicos de Growth)")
print(f"P/L: {r.get('priceToEarningsTrailingTwelveMonths', 0):.1f}x")
print(f"P/VP: {r.get('priceToBook', 0):.1f}x")
print(f"EV/EBITDA: {r.get('enterpriseValueEbitda', 0):.1f}x")
print(f"\n💰 DIVIDENDOS (Baixos para growth)")
dy = r.get('dividendYield', 0) * 100 if r.get('dividendYield') else 0
print(f"Dividend Yield: {dy:.2f}%")
print(f"\n🎯 RENTABILIDADE (Alta qualidade)")
print(f"ROE: {r.get('returnOnEquity', 0) * 100:.1f}%")
print(f"Margem Líquida: {r.get('profitMargins', 0) * 100:.1f}%")
print(f"\n💡 POR QUE WEG É GROWTH:")
print("""
✓ Reinveste grande parte dos lucros em P&D e expansão
✓ Crescimento consistente de receita e lucro por décadas
✓ Expansão internacional (>50% receita exterior)
✓ Múltiplos premium justificados pelo track record
✓ Setor beneficiado por transição energética
✓ Baixo payout de dividendos (~30%)
""")
analisar_case_weg()Ações Value: Comprando Barganhas
Ações de valor são empresas negociadas abaixo do seu valor intrínseco. O investidor value busca a "margem de segurança" entre o preço de mercado e o valor real da empresa.
Características das Ações Value
┌─────────────────────────────────────────────────────────────┐
│ PERFIL DA AÇÃO VALUE │
├─────────────────────────────────────────────────────────────┤
│ │
│ 📉 MÚLTIPLOS BAIXOS │
│ • P/L < 10x │
│ • P/VP < 1,5x │
│ • EV/EBITDA < 8x │
│ │
│ 💵 DIVIDENDOS ATRATIVOS │
│ • Dividend Yield > 5% │
│ • Payout ratio elevado │
│ • Histórico consistente │
│ │
│ 🏢 NEGÓCIO MADURO │
│ • Crescimento estável/moderado │
│ • Posição consolidada no mercado │
│ • Fluxo de caixa previsível │
│ │
│ ⚠️ PODE ESTAR BARATA POR MOTIVO │
│ • Setor em declínio │
│ • Problemas temporários │
│ • Ignorada pelo mercado │
│ │
└─────────────────────────────────────────────────────────────┘Exemplos de Value na B3
def identificar_acoes_value() -> list:
"""
Identifica ações com características de value na B3
"""
# Candidatas a value na B3
tickers = ["VALE3", "BBAS3", "PETR4", "CPLE6", "TAEE11", "BBSE3", "CMIG4", "ENBR3"]
value_stocks = []
for ticker in tickers:
url = f"https://brapi.dev/api/quote/{ticker}"
params = {"fundamental": "true"}
headers = {"Authorization": "Bearer SEU_TOKEN_AQUI"}
response = requests.get(url, params=params, headers=headers)
data = response.json()
if "results" not in data:
continue
r = data["results"][0]
pl = r.get("priceToEarningsTrailingTwelveMonths")
pvp = r.get("priceToBook", 0)
dy = r.get("dividendYield", 0) * 100 if r.get("dividendYield") else 0
roe = r.get("returnOnEquity", 0) * 100 if r.get("returnOnEquity") else 0
# Critérios value: P/L baixo, DY alto
if pl and pl < 12 and dy > 4:
value_stocks.append({
"ticker": ticker,
"nome": r.get("shortName", ""),
"preco": r.get("regularMarketPrice", 0),
"pl": round(pl, 1),
"pvp": round(pvp, 1),
"dy": round(dy, 2),
"roe": round(roe, 1),
"score_value": calcular_score_value(pl, pvp, dy)
})
value_stocks.sort(key=lambda x: x['score_value'], reverse=True)
return value_stocks
def calcular_score_value(pl, pvp, dy):
"""Calcula score de value baseado em múltiplos fatores"""
score = 0
if pl < 6:
score += 3
elif pl < 10:
score += 2
elif pl < 15:
score += 1
if pvp < 1:
score += 3
elif pvp < 1.5:
score += 2
elif pvp < 2:
score += 1
if dy > 8:
score += 3
elif dy > 6:
score += 2
elif dy > 4:
score += 1
return score
value = identificar_acoes_value()
print("\n" + "=" * 75)
print("💰 AÇÕES VALUE NA B3")
print("=" * 75)
print(f"\n{'Ticker':<10} {'Preço':<12} {'P/L':<10} {'P/VP':<8} {'DY':<8} {'ROE':<10} {'Score':<8}")
print("-" * 75)
for v in value:
print(f"{v['ticker']:<10} R$ {v['preco']:<8.2f} {v['pl']:<10.1f}x {v['pvp']:<8.1f}x {v['dy']:<6.2f}% {v['roe']:<8.1f}% {v['score_value']:<8}")Vale (VALE3): O Case Clássico de Value
A Vale frequentemente aparece como value stock devido aos múltiplos baixos e dividendos altos:
def analisar_case_vale():
"""
Análise da Vale como case de value
"""
url = "https://brapi.dev/api/quote/VALE3"
params = {"fundamental": "true"}
headers = {"Authorization": "Bearer SEU_TOKEN_AQUI"}
response = requests.get(url, params=params, headers=headers)
data = response.json()
if "results" not in data:
return
r = data["results"][0]
print("\n" + "=" * 60)
print("CASE STUDY: VALE (VALE3) - VALUE STOCK BRASILEIRA")
print("=" * 60)
print(f"\n📊 DADOS ATUAIS")
print(f"Preço: R$ {r.get('regularMarketPrice', 0):.2f}")
print(f"Market Cap: R$ {r.get('marketCap', 0) / 1_000_000_000:.1f} bilhões")
print(f"\n📉 MÚLTIPLOS (Típicos de Value)")
print(f"P/L: {r.get('priceToEarningsTrailingTwelveMonths', 0):.1f}x")
print(f"P/VP: {r.get('priceToBook', 0):.1f}x")
print(f"EV/EBITDA: {r.get('enterpriseValueEbitda', 0):.1f}x")
print(f"\n💵 DIVIDENDOS (Altos para value)")
dy = r.get('dividendYield', 0) * 100 if r.get('dividendYield') else 0
print(f"Dividend Yield: {dy:.2f}%")
print(f"\n🎯 RENTABILIDADE")
print(f"ROE: {r.get('returnOnEquity', 0) * 100:.1f}%")
print(f"Margem EBITDA: {r.get('ebitdaMargins', 0) * 100:.1f}%")
print(f"\n💡 POR QUE VALE É VALUE:")
print("""
✓ Múltiplos baixos (P/L frequentemente < 8x)
✓ Dividend Yield elevado (>8% em muitos anos)
✓ Negócio maduro e consolidado
✓ Geração de caixa robusta
✓ Líder global em minério de ferro
⚠️ RISCOS QUE JUSTIFICAM DESCONTO:
• Commodity cíclica (preço do minério)
• Dependência da China
• Riscos ESG (Brumadinho, Mariana)
• Volatilidade cambial
""")
analisar_case_vale()Comparativo Direto: Growth vs Value
Vamos comparar diretamente empresas growth e value:
def comparativo_growth_vs_value():
"""
Comparativo entre ações growth e value representativas
"""
growth_tickers = ["WEGE3", "TOTS3", "RENT3"]
value_tickers = ["VALE3", "BBAS3", "PETR4"]
def obter_dados(ticker):
url = f"https://brapi.dev/api/quote/{ticker}"
params = {"fundamental": "true"}
headers = {"Authorization": "Bearer SEU_TOKEN_AQUI"}
response = requests.get(url, params=params, headers=headers)
data = response.json()
if "results" not in data:
return None
r = data["results"][0]
return {
"ticker": ticker,
"pl": r.get("priceToEarningsTrailingTwelveMonths"),
"pvp": r.get("priceToBook", 0),
"dy": r.get("dividendYield", 0) * 100 if r.get("dividendYield") else 0,
"roe": r.get("returnOnEquity", 0) * 100 if r.get("returnOnEquity") else 0,
"margem": r.get("profitMargins", 0) * 100 if r.get("profitMargins") else 0
}
print("\n" + "=" * 80)
print("📊 COMPARATIVO: GROWTH vs VALUE")
print("=" * 80)
# Growth
print(f"\n{'─' * 80}")
print("📈 AÇÕES GROWTH")
print(f"{'─' * 80}")
print(f"{'Ticker':<10} {'P/L':<12} {'P/VP':<10} {'DY':<10} {'ROE':<12} {'Margem':<10}")
growth_data = []
for ticker in growth_tickers:
dados = obter_dados(ticker)
if dados:
growth_data.append(dados)
pl_str = f"{dados['pl']:.1f}x" if dados['pl'] else "N/A"
print(f"{dados['ticker']:<10} {pl_str:<12} {dados['pvp']:.1f}x{'':<5} {dados['dy']:.2f}%{'':<5} {dados['roe']:.1f}%{'':<7} {dados['margem']:.1f}%")
# Value
print(f"\n{'─' * 80}")
print("💰 AÇÕES VALUE")
print(f"{'─' * 80}")
print(f"{'Ticker':<10} {'P/L':<12} {'P/VP':<10} {'DY':<10} {'ROE':<12} {'Margem':<10}")
value_data = []
for ticker in value_tickers:
dados = obter_dados(ticker)
if dados:
value_data.append(dados)
pl_str = f"{dados['pl']:.1f}x" if dados['pl'] else "N/A"
print(f"{dados['ticker']:<10} {pl_str:<12} {dados['pvp']:.1f}x{'':<5} {dados['dy']:.2f}%{'':<5} {dados['roe']:.1f}%{'':<7} {dados['margem']:.1f}%")
# Médias
print(f"\n{'=' * 80}")
print("📊 MÉDIAS POR ESTILO")
print(f"{'=' * 80}")
if growth_data:
avg_pl_g = sum(d['pl'] for d in growth_data if d['pl']) / len([d for d in growth_data if d['pl']])
avg_dy_g = sum(d['dy'] for d in growth_data) / len(growth_data)
print(f"GROWTH - P/L médio: {avg_pl_g:.1f}x | DY médio: {avg_dy_g:.2f}%")
if value_data:
avg_pl_v = sum(d['pl'] for d in value_data if d['pl']) / len([d for d in value_data if d['pl']])
avg_dy_v = sum(d['dy'] for d in value_data) / len(value_data)
print(f"VALUE - P/L médio: {avg_pl_v:.1f}x | DY médio: {avg_dy_v:.2f}%")
comparativo_growth_vs_value()Quando Escolher Growth
Growth investing funciona melhor em determinados cenários:
Cenários Favoráveis para Growth
| Fator | Por Quê Favorece Growth |
|---|---|
| Juros baixos | Múltiplos expandem, custo de capital cai |
| Economia acelerando | Empresas capturam crescimento |
| Inovação tecnológica | Disruptores ganham mercado |
| Inflação baixa | Lucros futuros valem mais |
| Mercado otimista | Investidores pagam por potencial |
Perfil do Investidor Growth
┌─────────────────────────────────────────────────────────────┐
│ VOCÊ É UM INVESTIDOR GROWTH SE... │
├─────────────────────────────────────────────────────────────┤
│ │
│ ✓ Horizonte de longo prazo (>10 anos) │
│ ✓ Tolera volatilidade alta │
│ ✓ Não precisa de renda passiva imediata │
│ ✓ Acredita em inovação e disrupção │
│ ✓ Aceita múltiplos altos por qualidade │
│ ✓ Foco em valorização de capital │
│ │
│ ❌ NÃO é para você se: │
│ • Precisa de dividendos para viver │
│ • Não aguenta ver -30% no portfólio │
│ • Quer retornos imediatos │
│ │
└─────────────────────────────────────────────────────────────┘Quando Escolher Value
Value investing tem seus momentos de brilho:
Cenários Favoráveis para Value
| Fator | Por Quê Favorece Value |
|---|---|
| Juros altos | Múltiplos comprimem, DY compete |
| Recessão/crise | Flight to quality |
| Inflação alta | Ativos reais valorizam |
| Mercado pessimista | Barganhas aparecem |
| Rotação setorial | De growth para value |
Perfil do Investidor Value
┌─────────────────────────────────────────────────────────────┐
│ VOCÊ É UM INVESTIDOR VALUE SE... │
├─────────────────────────────────────────────────────────────┤
│ │
│ ✓ Gosta de comprar "barato" │
│ ✓ Valoriza dividendos e renda passiva │
│ ✓ Prefere negócios estabelecidos │
│ ✓ Tem paciência para esperar o mercado reconhecer valor │
│ ✓ Aceita que algumas apostas podem demorar anos │
│ ✓ Consegue ir contra o consenso │
│ │
│ ❌ NÃO é para você se: │
│ • Quer surfar tendências de alta │
│ • Não aceita investir em empresas "fora de moda" │
│ • Espera valorização rápida │
│ │
└─────────────────────────────────────────────────────────────┘A Armadilha do Value Trap
Nem toda ação barata é uma boa oportunidade. O "value trap" acontece quando uma ação parece barata mas tem problemas estruturais:
def identificar_value_trap(ticker: str) -> dict:
"""
Analisa se uma ação pode ser um value trap
"""
url = f"https://brapi.dev/api/quote/{ticker}"
params = {"fundamental": "true"}
headers = {"Authorization": "Bearer SEU_TOKEN_AQUI"}
response = requests.get(url, params=params, headers=headers)
data = response.json()
if "results" not in data:
return {"erro": "Dados não encontrados"}
r = data["results"][0]
red_flags = []
# Checklist de value trap
pl = r.get("priceToEarningsTrailingTwelveMonths")
roe = r.get("returnOnEquity", 0) * 100 if r.get("returnOnEquity") else 0
margem = r.get("profitMargins", 0) * 100 if r.get("profitMargins") else 0
receita_crescimento = r.get("revenueGrowth", 0) * 100 if r.get("revenueGrowth") else 0
divida_equity = r.get("debtToEquity", 0) if r.get("debtToEquity") else 0
# Red flags
if roe < 5:
red_flags.append("ROE muito baixo (<5%)")
if margem < 3:
red_flags.append("Margem líquida muito baixa (<3%)")
if receita_crescimento < -5:
red_flags.append("Receita em queda")
if divida_equity > 200:
red_flags.append("Endividamento elevado")
# Se P/L baixo MAS tem red flags = possível trap
eh_value_trap = pl and pl < 8 and len(red_flags) >= 2
return {
"ticker": ticker,
"pl": pl,
"roe": round(roe, 1),
"margem": round(margem, 1),
"crescimento_receita": round(receita_crescimento, 1),
"red_flags": red_flags,
"alerta_value_trap": eh_value_trap,
"recomendacao": "Investigar mais" if eh_value_trap else "Sem alertas críticos"
}
# Exemplo
resultado = identificar_value_trap("MGLU3")
print(f"\n🔍 ANÁLISE DE VALUE TRAP: {resultado['ticker']}")
print(f"\nIndicadores:")
print(f" P/L: {resultado['pl']}")
print(f" ROE: {resultado['roe']}%")
print(f" Margem: {resultado['margem']}%")
print(f"\nRed Flags: {len(resultado['red_flags'])}")
for flag in resultado['red_flags']:
print(f" ⚠️ {flag}")
print(f"\n{'🚨 ALERTA: Possível Value Trap!' if resultado['alerta_value_trap'] else '✅ Sem alertas críticos'}")Sinais de Value Trap
| Sinal | Por Quê é Problema |
|---|---|
| Setor em declínio | Empresa barata por motivo estrutural |
| Margem em queda | Competição destruindo valor |
| Dívida crescente | Usando dívida para manter dividendos |
| Receita caindo | Perdendo relevância |
| Management vendendo | Insiders sabem algo |
| Governança fraca | Risco de fraude/má gestão |
O Melhor dos Dois Mundos: GARP
GARP (Growth at a Reasonable Price) combina elementos de ambos os estilos:
def screening_garp() -> list:
"""
Encontra ações que combinam crescimento com valuation razoável
"""
tickers = [
"WEGE3", "TOTS3", "ITUB4", "BBAS3", "VALE3", "PETR4",
"RENT3", "PRIO3", "ARZZ3", "RADL3", "HAPV3", "FLRY3"
]
garp_stocks = []
for ticker in tickers:
url = f"https://brapi.dev/api/quote/{ticker}"
params = {"fundamental": "true"}
headers = {"Authorization": "Bearer SEU_TOKEN_AQUI"}
response = requests.get(url, params=params, headers=headers)
data = response.json()
if "results" not in data:
continue
r = data["results"][0]
pl = r.get("priceToEarningsTrailingTwelveMonths")
roe = r.get("returnOnEquity", 0) * 100 if r.get("returnOnEquity") else 0
crescimento = r.get("earningsGrowth", 0) * 100 if r.get("earningsGrowth") else 0
margem = r.get("profitMargins", 0) * 100 if r.get("profitMargins") else 0
# Critérios GARP:
# - P/L razoável (< 25x)
# - ROE bom (> 12%)
# - Crescimento positivo
# - PEG < 2
if not pl or pl <= 0 or crescimento <= 0:
continue
peg = pl / crescimento
if pl < 25 and roe > 12 and crescimento > 5 and peg < 2:
garp_stocks.append({
"ticker": ticker,
"nome": r.get("shortName", ""),
"pl": round(pl, 1),
"peg": round(peg, 2),
"roe": round(roe, 1),
"crescimento": round(crescimento, 1),
"score": round((roe / pl) * (1 + crescimento/100), 2) # Score customizado
})
garp_stocks.sort(key=lambda x: x['score'], reverse=True)
return garp_stocks
# Executar screening GARP
garp = screening_garp()
print("\n" + "=" * 80)
print("🎯 SCREENING GARP - GROWTH AT REASONABLE PRICE")
print("=" * 80)
print("\nCritérios: P/L < 25x | ROE > 12% | Crescimento > 5% | PEG < 2.0")
print(f"\n{'Ticker':<10} {'P/L':<10} {'PEG':<10} {'ROE':<10} {'Cresc.':<12} {'Score':<10}")
print("-" * 80)
for g in garp:
print(f"{g['ticker']:<10} {g['pl']:<10.1f}x {g['peg']:<10.2f} {g['roe']:<8.1f}% {g['crescimento']:<10.1f}% {g['score']:<10.2f}")Montando uma Carteira Balanceada
A melhor estratégia para muitos investidores é combinar growth e value:
def sugerir_alocacao(perfil: str, capital: float) -> dict:
"""
Sugere alocação entre growth e value baseado no perfil
"""
alocacoes = {
"conservador": {
"growth": 20,
"value": 50,
"renda_fixa": 30,
"descricao": "Foco em preservação com algum crescimento"
},
"moderado": {
"growth": 40,
"value": 40,
"renda_fixa": 20,
"descricao": "Equilíbrio entre crescimento e renda"
},
"arrojado": {
"growth": 60,
"value": 30,
"renda_fixa": 10,
"descricao": "Foco em valorização de capital"
},
"agressivo": {
"growth": 80,
"value": 15,
"renda_fixa": 5,
"descricao": "Máxima exposição a crescimento"
}
}
alocacao = alocacoes.get(perfil, alocacoes["moderado"])
sugestoes_growth = ["WEGE3", "TOTS3", "RENT3"]
sugestoes_value = ["VALE3", "BBAS3", "TAEE11"]
return {
"perfil": perfil,
"alocacao": alocacao,
"capital_growth": capital * alocacao["growth"] / 100,
"capital_value": capital * alocacao["value"] / 100,
"capital_rf": capital * alocacao["renda_fixa"] / 100,
"sugestoes_growth": sugestoes_growth,
"sugestoes_value": sugestoes_value
}
# Exemplo
capital = 100000
for perfil in ["conservador", "moderado", "arrojado"]:
resultado = sugerir_alocacao(perfil, capital)
print(f"\n{'='*50}")
print(f"PERFIL: {resultado['perfil'].upper()}")
print(f"{'='*50}")
print(f"{resultado['alocacao']['descricao']}")
print(f"\nAlocação para R$ {capital:,.0f}:")
print(f" Growth: R$ {resultado['capital_growth']:,.0f} ({resultado['alocacao']['growth']}%)")
print(f" Value: R$ {resultado['capital_value']:,.0f} ({resultado['alocacao']['value']}%)")
print(f" RF: R$ {resultado['capital_rf']:,.0f} ({resultado['alocacao']['renda_fixa']}%)")Ciclos de Mercado: Quando Cada Estilo Brilha
┌─────────────────────────────────────────────────────────────┐
│ CICLOS DE GROWTH vs VALUE │
├─────────────────────────────────────────────────────────────┤
│ │
│ FASE DO CICLO ESTILO FAVORECIDO │
│ ────────────── ───────────────── │
│ │
│ Expansão inicial ──► GROWTH (otimismo, múltiplos sobem) │
│ │
│ Expansão tardia ──► GARP (seletividade aumenta) │
│ │
│ Pico / Euforia ──► VALUE (rotação começa) │
│ │
│ Recessão ──► VALUE (defensivo, dividendos) │
│ │
│ Recuperação ──► GROWTH (retomada do risco) │
│ │
│ 2020-2021: Growth dominou (juros zero, tech boom) │
│ 2022-2024: Value retornou (juros altos, rotação) │
│ 2026-2026: Ambiente de juros altos favorece value │ │
│ │
└─────────────────────────────────────────────────────────────┘Conclusão: Não é Uma ou Outra
A resposta para "Growth ou Value?" não precisa ser binária:
Princípios Finais
- Conheça seu perfil: Horizonte, tolerância a risco, necessidade de renda
- Diversifique estilos: Combine growth e value na carteira
- Adapte ao ciclo: Ajuste pesos conforme condições de mercado
- Qualidade primeiro: Em ambos os estilos, qualidade importa
- Paciência: Ambas estratégias requerem tempo para funcionar
Resumo Prático
| Se você... | Considere... |
|---|---|
| É jovem e acumula patrimônio | Maior peso em growth |
| Quer renda passiva | Maior peso em value |
| Está perto da aposentadoria | Balance growth + value |
| Tem horizonte curto | Prefira value com dividendos |
| Aguenta volatilidade | Pode ter mais growth |
Próximos Passos
Aprofunde em cada estilo:
- Value Investing - Encontre barganhas
- PEG Ratio - Avalie growth stocks
- Dividendos - Renda passiva com value
- Buy and Hold - Estratégia de longo prazo
Automatize Sua Análise com brapi.dev
A API da brapi.dev permite criar screeners personalizados para identificar ações growth e value:
- Múltiplos fundamentalistas
- Indicadores de crescimento
- Dividend yields
- Histórico de resultados
Comece gratuitamente em brapi.dev e crie suas próprias estratégias de investimento automatizadas.
