Suas ações multiplicaram do nada? Entenda desdobramentos e grupamentos
Você abre seu home broker e leva um susto: suas 100 ações viraram 400. Ou pior: suas 1.000 ações agora são apenas 100. Calma, você não foi hackeado e nem ficou rico (ou pobre) da noite para o dia.
O que aconteceu foi um desdobramento (split) ou grupamento (reverse split) de ações. Esses eventos corporativos são mais comuns do que você imagina e podem causar confusão se você não souber interpretá-los.
Neste guia, você vai entender o que são esses eventos, por que as empresas os fazem, e principalmente: como monitorar splits e grupamentos automaticamente usando uma
O que é desdobramento (split)?
O desdobramento (ou split) acontece quando uma empresa divide suas ações em um número maior de papéis. É como trocar uma nota de R$ 100 por cinco notas de R$ 20, o valor total continua o mesmo!
Na prática
Imagine que você tem 100 ações de uma empresa cotadas a R$ 40 cada (total: R$ 4.000).
Após um desdobramento de 1 para 4 (1:4):
- Você passa a ter 400 ações
- Cada ação agora vale R$ 10
- Seu patrimônio continua sendo R$ 4.000
Por que empresas fazem desdobramentos?
- Aumentar a liquidez: ações mais baratas atraem mais investidores;
- Tornar o papel mais acessível: nem todo mundo pode comprar ações de R$ 500;
- Sinalização positiva: geralmente indica que a ação valorizou muito.
O que é grupamento (reverse split)?
O grupamento (ou reverse split) é o oposto: a empresa junta várias ações em uma só. É como trocar dez moedas de R$ 1 por uma nota de R$ 10.
Exemplo prático
Imagine que você tem 1.000 ações cotadas a R$ 0,50 cada (total: R$ 500).
Após um grupamento de 10 para 1 (10:1):
- Você passa a ter 100 ações
- Cada ação agora vale R$ 5,00
- Seu patrimônio continua sendo R$ 500
Por que empresas fazem grupamentos?
- Evitar penny stock: ações muito baratas podem ser deslistadas;
- Melhorar a percepção: preços muito baixos afastam investidores institucionais;
- Requisitos regulatórios: algumas bolsas exigem preço mínimo.
Desdobramento vs. Grupamento
| Evento | O que acontece | Fator | Sinal |
|---|---|---|---|
| Desdobramento (split) | Ações multiplicam, preço divide | > 1 | Geralmente positivo |
| Grupamento (reverse split) | Ações dividem, preço multiplica | < 1 | Geralmente negativo |
Como monitorar desdobramentos via API?
Se você desenvolve aplicações financeiras, precisa rastrear esses eventos para:
- Ajustar cálculos históricos: um gráfico de preços sem ajuste de desdobramento fica distorcido;
- Atualizar carteiras: a quantidade de ações muda, mas o sistema precisa refletir isso;
- Notificar usuários: alertas sobre eventos corporativos agregam valor.
A
Endpoint de splits
GEThttps://api.hgbrasil.com/v2/finance/splits?tickers=B3:TIMS3&key=suachave
Dados retornados
A API retorna informações completas sobre cada evento:
| Campo | Descrição |
|---|---|
type | Tipo: split (desdobramento) ou reverse_split (grupamento) |
factor_from | Quantidade de ações antes do evento |
factor_to | Quantidade de ações após o evento |
ratio | Fator multiplicador (factor_to / factor_from) |
com_date | Data de corte (última negociação com preço antigo) |
effective_date | Data efetiva do evento |
status | Status: pending ou confirmed |
Exemplo 1: Listando desdobramentos de um ativo
const API_KEY = 'SUA_CHAVE_AQUI'
async function buscarSplits(ticker) {
const response = await fetch(
`https://api.hgbrasil.com/v2/finance/splits?key=${API_KEY}&tickers=B3:${ticker}`
)
const data = await response.json()
const ativo = data.results[0]
return {
ticker: ativo.symbol,
nome: ativo.name,
eventos: ativo.events.map(evento => ({
tipo: evento.type === 'split' ? 'Desdobramento' : 'Grupamento',
fator: `${evento.factor_from}:${evento.factor_to}`,
ratio: evento.ratio,
dataEfetiva: evento.effective_date,
status: evento.status
}))
}
}
// Agora, é só usar!
buscarSplits('TIMS3').then(console.log)
Exemplo 2: Ajustando o preço histórico.
Quando você trabalha com dados históricos, precisa ajustar os preços para refletir desdobramentos e grupamentos. Caso contrário, seus gráficos ficarão distorcidos.
const API_KEY = 'SUA_CHAVE_AQUI'
async function calcularFatorAjuste(ticker, dataInicio) {
const response = await fetch(
`https://api.hgbrasil.com/v2/finance/splits?key=${API_KEY}&tickers=B3:${ticker}&start_date=${dataInicio}`
)
const data = await response.json()
const eventos = data.results[0]?.events || []
// Multiplica todos os ratios para obter o fator de ajuste total.
const fatorTotal = eventos
.filter(e => e.status === 'confirmed')
.reduce((acc, evento) => acc * evento.ratio, 1)
return fatorTotal
}
function ajustarPrecoHistorico(precoAntigo, fatorAjuste) {
return precoAntigo / fatorAjuste
}
// Exemplo: ajustar preço de 2020 para valores atuais
async function exemplo() {
const fator = await calcularFatorAjuste('TIMS3', '2020-01-01')
const precoOriginal = 10.00 // Preço em 2020
const precoAjustado = ajustarPrecoHistorico(precoOriginal, fator)
console.log(`Preço original: R$ ${precoOriginal}`)
console.log(`Fator de ajuste: ${fator}`)
console.log(`Preço ajustado: R$ ${precoAjustado.toFixed(2)}`)
}
exemplo()
Exemplo 3: Alertas de novos eventos.
Monitore desdobramentos pendentes para notificar seus usuários antes que aconteçam:
const API_KEY = 'SUA_CHAVE_AQUI'
async function buscarEventosPendentes(tickers) {
const tickersFormatados = tickers.map(t => `B3:${t}`).join(',')
const response = await fetch(
`https://api.hgbrasil.com/v2/finance/splits?key=${API_KEY}&tickers=${tickersFormatados}`
)
const data = await response.json()
const pendentes = []
for (const ativo of data.results) {
const eventosPendentes = ativo.events.filter(e => e.status === 'pending')
for (const evento of eventosPendentes) {
pendentes.push({
ticker: ativo.symbol,
nome: ativo.name,
tipo: evento.type === 'split' ? 'Desdobramento' : 'Grupamento',
fator: `${evento.factor_from}:${evento.factor_to}`,
dataEfetiva: evento.effective_date
})
}
}
return pendentes
}
// Monitorar carteira
const minhaCarteira = ['PETR4', 'VALE3', 'ITUB4', 'TIMS3']
buscarEventosPendentes(minhaCarteira).then(eventos => {
if (eventos.length > 0) {
console.log('Eventos pendentes na sua carteira:')
eventos.forEach(e => {
console.log(`${e.ticker}: ${e.tipo} ${e.fator} em ${e.dataEfetiva}`)
})
} else {
console.log('Nenhum evento pendente.')
}
})
Impacto nos seus cálculos
Desdobramentos e grupamentos afetam diversos cálculos financeiros. Veja como ajustar:
Preço médio de compra
Se você comprou ações antes de um desdobramento, precisa ajustar seu preço médio:
// Antes do desdobramento 1:4
const quantidadeOriginal = 100
const precoMedioOriginal = 40.00
// Após o desdobramento
const ratio = 4
const novaQuantidade = quantidadeOriginal * ratio // 400 ações
const novoPrecoMedio = precoMedioOriginal / ratio // R$ 10.00
console.log(`Quantidade: ${quantidadeOriginal} → ${novaQuantidade}`)
console.log(`Preço médio: R$ ${precoMedioOriginal} → R$ ${novoPrecoMedio}`)
Dividend Yield histórico
Dividendos pagos antes de um desdobramento também precisam de ajuste para comparações históricas:
// Dividendo pago antes do desdobramento 1:4
const dividendoOriginal = 2.00
// Dividendo ajustado para comparação atual
const dividendoAjustado = dividendoOriginal / 4 // R$ 0.50
Conclusão
Desdobramentos e grupamentos são eventos corporativos que alteram a quantidade de ações sem mudar o valor total do seu investimento. Entender esses eventos é essencial para:
- Não se assustar quando suas ações "multiplicarem";
- Manter cálculos históricos precisos;
- Identificar sinais sobre a saúde financeira da empresa.
Com a