Calculadora de taxa interna de retorno
A calculadora de taxa interna de retorno estima a taxa de desconto periódica que faz o valor presente líquido de uma série de fluxos de caixa chegar a zero.
Executar grátis
Informe o investimento inicial e cada recebimento ou despesa posterior em ordem cronológica, usando números negativos para pagamentos e positivos para entradas. O resultado apresenta a TIR decimal e percentual, o VPL residual e dados de diagnóstico. Dessa forma, você pode comparar projetos sem perder de vista o momento de cada fluxo.
Informe uma série completa com intervalos uniformes
Comece pelo fluxo do período zero, normalmente o investimento inicial e, portanto, um número negativo. Acrescente cada entrada ou saída posterior em ordem cronológica. Cada posição representa um período de mesma duração: se os valores forem mensais, o resultado será uma TIR mensal; se forem anuais, será anual. Inclua zero quando um período não tiver movimentação, pois remover essa posição altera o tempo e também a resposta. A calculadora exige ao menos um valor negativo e um positivo, condição que representa a passagem entre o capital comprometido e o dinheiro recebido. Você pode trabalhar com qualquer moeda, desde que todos os valores usem a mesma moeda e escala. Não misture posições mensais com anuais, valores nominais com valores corrigidos pela inflação, nem unidades monetárias com milhares na mesma série. A TIR depende dos valores e do momento em que ocorrem, por isso uma linha do tempo consistente é fundamental. O palpite opcional é apenas um ponto inicial percentual, não uma resposta garantida, e o padrão atende a muitos projetos convencionais.
Entenda como a estimativa é calculada
Para uma taxa candidata, a calculadora desconta cada fluxo conforme seu período e soma os valores descontados para obter o valor presente líquido. Ela procura uma taxa acima de menos cem por cento na qual essa soma chegue a zero. Primeiro, usa uma iteração rápida baseada na derivada perto do palpite informado. Se essa tentativa não convergir, percorre uma ampla faixa logarítmica, identifica intervalos com mudança de sinal e os refina por bisseção. Essa alternativa é mais lenta, porém estável perto do limite inferior e não depende de escolhas aleatórias. Quando encontra várias raízes com mudança de sinal, seleciona o intervalo mais próximo do palpite. A regra torna a escolha determinística, mas não elimina a ambiguidade dos fluxos não convencionais. O VPL residual mostra a proximidade entre a taxa estimada e a equação, enquanto a quantidade de iterações é apenas um diagnóstico técnico. Os valores exibidos só são arredondados depois da solução. Se nenhuma raiz válida puder ser delimitada e refinada, a solicitação retorna um erro de entrada em vez de apresentar uma taxa enganosa.
Analise a TIR junto com escala, risco e retornos alternativos
A TIR representa o retorno percentual periódico implícito nos fluxos informados. Em um projeto convencional, com um desembolso inicial seguido de benefícios, uma TIR mais alta geralmente indica maior retorno em relação ao momento de uso do capital. Uma regra comum é compará-la com a taxa mínima de atratividade: o projeto pode ser interessante quando a TIR supera esse patamar, desde que as projeções e os riscos sejam confiáveis. Entretanto, a TIR isolada não revela quanto valor monetário o projeto cria. Um projeto pequeno pode ter TIR elevada e gerar menos valor total do que outro maior com taxa inferior; portanto, compare também o VPL calculado com uma taxa de desconto apropriada. Múltiplas mudanças de sinal podem gerar várias TIR matemáticas, e projetos mutuamente exclusivos podem receber classificações diferentes por TIR e VPL. A medida ainda pressupõe uma forma de reinvestimento que talvez não seja realista. Trate o resultado como estimativa, não como promessa, e teste recebimentos, custos, atrasos, valor terminal, impostos e financiamento. Para datas irregulares, use XIRR em vez de considerar períodos iguais.
Casos de uso
Avaliar um projeto de capital
Estime o retorno implícito no desembolso inicial e nos fluxos operacionais projetados antes de compará-lo com a taxa mínima da empresa.
Comparar cenários de investimento
Altere custos, recebimentos ou premissas de prazo e observe como a TIR periódica do projeto responde em cada cenário.
Conferir um modelo de planilha
Recalcule a TIR a partir da linha de fluxos exportada e compare a taxa e o VPL residual com o resultado da planilha.
Perguntas frequentes
Quanto custa a calculadora?
Cada solicitação API custa US$ 0,002. O preço vale por cálculo, e não por período do fluxo de caixa.
O resultado é anual ou mensal?
Ele segue o mesmo período usado nos fluxos. Entradas mensais produzem TIR mensal, enquanto entradas anuais produzem TIR anual.
Por que os fluxos precisam ter os dois sinais?
Uma raiz de TIR normalmente exige dinheiro em direções opostas. Uma série somente de entradas ou somente de saídas não cruza VPL zero na faixa aceita.
Um projeto pode ter mais de uma TIR?
Sim. Fluxos que mudam de sinal mais de uma vez podem produzir várias raízes. Quando isso ocorre, a calculadora escolhe a mais próxima do palpite informado.
O que significa VPL na TIR?
É o valor presente líquido recalculado na TIR estimada. Ele deve ficar muito próximo de zero; um resíduo mínimo pode permanecer devido à precisão finita do computador.
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/finance/irr \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"cash_flows":[-100000,30000,40000,50000]}'const res = await fetch("https://api.kit.forhosting.com/finance/irr", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"cash_flows": [
-100000,
30000,
40000,
50000
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/finance/irr",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"cash_flows": [
-100000,
30000,
40000,
50000
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/finance/irr", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"cash_flows":[-100000,30000,40000,50000]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"cash_flows":[-100000,30000,40000,50000]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/finance/irr", 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
{
"cash_flows": [
-100000,
30000,
40000,
50000
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "finance.irr",
"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. |