Calculadora de CDB
Aplique 10.000 em um CDB de 2 anos a 5% ao ano com capitalização trimestral e, no vencimento, terá 11.044,86, ou seja, 1.044,86 de juros. Escolha capitalização anual, mensal, diária ou contínua e veja quanto cada uma rende. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Capital inicial
- 10.000
- Taxa anual
- 5
- Termo
- 2
- Capitalização
- Quarterly
- Valor no vencimento
- 11.044,86
- Juros ganhos
- 1.044,86
- APY (%)
- 5,0945336914
- Capitalizações por ano
- 4
Um certificado de depósito bancário (CDB) trava um capital único a uma taxa anual publicada por um prazo fixo e o devolve com juros na data de vencimento. O caixa que você realmente recebe não é a taxa de vitrine vezes os anos: depende de com que frequência o emissor capitaliza—anual, semestral, trimestral, mensal, semanal, diária ou contínua. Esta calculadora de CDB aceita o principal, a taxa anual em percentual, o prazo em anos e a frequência de capitalização, aplica a identidade de valor futuro em forma fechada e devolve o valor no vencimento junto com os juros ganhos.
Como o valor futuro de um CDB é capitalizado
Um certificado de depósito é uma aplicação a prazo: você entrega ao emissor um principal P, ele cotiza uma taxa nominal anual i por cento, trava os fundos por um prazo t medido em anos e credita juros segundo um calendário de capitalização publicado.
Quando a capitalização é discreta com n períodos por ano, cada período rende r dividido por n, e há n vezes t períodos desse tipo, de modo que a forma fechada é o valor futuro igual a P vezes um mais r sobre n, elevado a n vezes t.
Essa é a mesma identidade de juros compostos que os manuais escrevem como FV igual a P vezes (1 mais r sobre n) elevado a n t, e é como um banco transforma um CDB trimestral de dois anos a 5 por cento num cheque de vencimento maior do que os juros simples de P vezes r vezes t.
Os sete calendários aceitos mapeiam n assim: annual é um, semiannual é dois, quarterly é quatro, monthly é doze, weekly é cinquenta e dois e daily é trezentos e sessenta e cinco. A capitalização contínua é o limite quando n cresce sem limite e usa a forma exponencial valor futuro igual a P vezes e elevado a r t.
Quando a taxa anual é exatamente zero, a exponencial e a potência colapsam no caso especial honesto valor futuro igual a P, de modo que um marcador promocional a taxa zero não divide por zero nem inventa juros. Campos de dinheiro arredondam para duas casas decimais para coincidir com a moeda. Os juros ganhos são o valor no vencimento menos o principal.
A resposta também informa o rendimento percentual anual implícito no calendário, APY igual a (1 mais r sobre n) elevado a n menos um (ou e elevado a r menos um quando contínua), porque dois CDBs com a mesma taxa de vitrine e capitalização diferente não valem o mesmo no vencimento.
Casos de uso
Páginas de taxas de bancos e cooperativas
Transforme uma taxa anual cotada, um calendário de capitalização e um prazo no valor de vencimento do CDB e nos juros que um poupador receberá se carregar até o fim.
Comparar CDBs com capitalização diferente
Alinhe ofertas diárias, mensais e trimestrais no mesmo principal e prazo e classifique-as por valor no vencimento e APY, não só pela taxa de vitrine.
Escada de CDB e planejamento doméstico
Precifique cada degrau de uma escada —ou um único travamento de seis meses com term 0.5— e grave os mesmos centavos que a prévia gratuita do navegador já mostrou.
Perguntas frequentes
Como o valor no vencimento de um CDB é calculado a partir do principal, da taxa, do prazo e da capitalização?
O contínuo usa FV = P·e^(r·t). Os juros ganhos são FV menos o principal.
O que acontece se o principal do CDB for zero, negativo ou estiver ausente?
O principal deve ser um número finito maior que zero. Zero, negativos, booleanos, strings vazias e valores não numéricos são rejeitados e não cobrados.
Como informar um CDB de 6 meses ou de 3 meses?
O prazo é medido em anos. Um CDB de 6 meses é term 0.5 e um de 3 meses é term 0.25. Um CDB de 18 meses é term 1.5. Combine esse prazo com a frequência de capitalização do emissor.
Isso inclui multa por resgate antecipado?
Não. Esta calculadora assume que o CDB é carregado até o vencimento e devolve apenas o valor futuro composto e os juros ganhos. Cortes por resgate antecipado são outra busca e outra ferramenta.
Por que dois CDBs com a mesma taxa rendem valores diferentes?
Porque os juros creditados com mais frequência começam antes a render juros sobre juros. Um CDB com capitalização diária supera um trimestral com a mesma taxa nominal, por isso a calculadora mostra também o rendimento anual efetivo de cada opção.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/fin/cd \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"principal":10000,"annual_rate":5,"term":2,"compounding":"quarterly"}'const res = await fetch("https://api.kit.forhosting.com/fin/cd", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"principal": 10000,
"annual_rate": 5,
"term": 2,
"compounding": "quarterly"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/cd",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"principal": 10000,
"annual_rate": 5,
"term": 2,
"compounding": "quarterly"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/cd", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"principal":10000,"annual_rate":5,"term":2,"compounding":"quarterly"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"principal":10000,"annual_rate":5,"term":2,"compounding":"quarterly"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/cd", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"principal": 10000,
"annual_rate": 5,
"term": 2,
"compounding": "quarterly"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.cd",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Um principal que não seja um número positivo falha com invalid_input e não é cobrado.
Como o valor futuro de um CDB é capitalizado
Converta o percentual numa taxa decimal r igual a annual_rate dividido por cem.
Contrato de entrada, formato da resposta e comportamento de erro
Principal é o campo que o contrato de produto destaca: zero, um depósito negativo ou um substituto não numérico nunca são tratados como brinde nem como cupom zero silencioso. Envie por POST um corpo JSON com quatro campos obrigatórios. principal é o depósito de abertura como número finito maior que zero (aliases amount e deposit). annual_rate é o juro nominal anual como percentual —cinco para cinco por cento ao ano—, finito, pelo menos zero e no máximo mil (aliases rate e interest_rate). term é o travamento em anos como número finito maior que zero e no máximo cem; um CDB de seis meses é term 0.5 e um de três meses é term 0.25 (aliases years e term_years). compounding é um do conjunto fechado annual, semiannual, quarterly, monthly, weekly, daily ou continuous (aliases frequency e compounds). Cada campo numérico pode chegar como número JSON ou como string numérica. Campos ausentes, strings vazias, booleanos, valores não finitos, um principal não positivo, um annual_rate negativo, um term não positivo e qualquer valor de compounding fora do enum falham com invalid_input nomeando o campo e não são cobrados. Em caso de sucesso o corpo ecoa principal, annual_rate, term e compounding, e acrescenta compounds_per_year quando o calendário é discreto, maturity_value, interest_earned, apy_percent e uma string formula que reafirma a identidade discreta, o caso contínuo e o colapso a taxa zero. Exemplo: principal dez mil, annual_rate cinco, term dois, compounding quarterly produz n igual a quatro e um valor no vencimento igual a dez mil vezes 1.0125 elevado à oitava, arredondado a centavos, com interest_earned igual a esse vencimento menos o principal. Este endpoint não modela multas de resgate antecipado, taxas isca que mudam no meio do prazo nem limites de garantia de depósitos; calcula só os juros compostos mantidos até o vencimento.
Onde uma calculadora de vencimento de CDB agrega valor
Educadores que ensinam capitalização discreta versus contínua podem semear exemplos de aula que falhem alto quando o principal não é um número positivo, em vez de traçar uma curva sem sentido por um depósito nulo ou negativo. Validação falha não consome saldo. Mantenha o principal positivo, o prazo em anos e compounding dentro do enum, fixe os campos de dinheiro arredondados nos testes e obtenha vencimentos de CDB reproduzíveis para widgets, módulos LMS e workers na borda sem um stack próprio de originação de depósitos. Tabelas comparativas que alinham um CDB diário de seis meses a um trimestral de um ano podem chamar o mesmo módulo puro no navegador para prévias gratuitas e na API ao gravar um cenário, garantindo que o vencimento que um visitante viu coincida com o vencimento armazenado depois de salvar a cotação. Quem planeja o orçamento doméstico e já conhece o caixa que pode travar pode enviar principal, annual_rate, term e compounding para preencher um cartão com valor no vencimento, juros ganhos e APY, e decidir se esticar de doze para vinte e quatro meses vale o travamento extra. Equipes de produto que montam uma escada de CDB podem pedir vários prazos com o mesmo principal e taxa e ler interest_earned em cada degrau sem escrever a própria função de potência. Como a implementação é parse pura de nível A, cada chamada bem-sucedida custa o preço base publicado US$ 0,002 sem tokens de modelo nem rede de saída.
Perguntas técnicas
Quanto custa um cálculo de vencimento de CDB na API?
A ferramenta do navegador é gratuita. Solicitações API usam saldo pré-pago KIT a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.