Taxa de retorno anualizada
Um investimento que passou de 10.000 para 16.105,10 em cinco anos rendeu 61,05% no total, o que equivale a exatamente 10% ao ano com os juros compostos. Compare aplicações de qualquer prazo na mesma base anual. 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
- Valor inicial
- 10.000
- Valor final
- 16.105,1
- Anos
- 5
- Retorno anualizado (%)
- 10
- Retorno anualizado
- 0,1
- Retorno total (%)
- 61,051
Você fornece o valor inicial, o valor final e o período de detenção em anos, e recebe o percentual anual constante que teria levado o primeiro número ao segundo — o retorno anualizado geométrico — junto com o retorno total de todo o período. Funciona de forma determinística, sem dados de mercado e sem suposições sobre fluxos de caixa intermediários, de modo que as mesmas entradas produzem sempre a mesma resposta, seja chamada uma vez no navegador ou um milhão de vezes a partir de um pipeline de relatórios.
O que a taxa de retorno anualizada realmente mede
Um investimento que cresce de 10,000 para 16,105.10 em cinco anos ganhou 61.05 por cento no total, mas esse número é inútil para compará-lo com outro mantido por dezoito meses. A taxa de retorno anualizada converte qualquer período de detenção em um valor anual ao perguntar qual taxa de crescimento anual constante, composta, reproduz a variação observada. Matematicamente é r = (final / inicial)^(1 / anos) − 1, expressa aqui como percentual.
Para o exemplo acima, a resposta é exatamente 10 por cento ao ano. Como a fórmula tira a raiz n-ésima do múltiplo de crescimento, ela considera corretamente a capitalização: dois anos consecutivos de 10 por cento produzem 21 por cento no total, não 20. O resultado é o retorno anualizado geométrico, a medida correta quando os ganhos são reinvestidos e você quer um valor anual comparável.
Entradas, validação e como ler o resultado
As três entradas são obrigatórias. A resposta ecoa as três entradas para que seus registros permaneçam autodescritivos, e acrescenta o retorno anualizado tanto como percentual quanto como fração decimal, além do retorno total de todo o período como contexto. Um valor anualizado negativo significa que o investimento perdeu valor em base anual composta.
Se algum campo estiver faltando ou não for um número finito, a mensagem de erro indica o campo culpado para que um formulário ou pipeline possa destacar exatamente o que corrigir.
Quando usar — e quando não usar
É ideal para normalizar investimentos mantidos por períodos diferentes para que possam ser classificados com justiça, e para preencher um valor de desempenho anual em painéis e relatórios de clientes. Não o use quando houve entradas ou saídas de dinheiro durante o período — contribuições e retiradas distorcem a fórmula simples de dois pontos, e a ferramenta certa nesse caso é um cálculo de taxa interna de retorno sobre os fluxos de caixa reais.
Ele também suaviza a volatilidade por construção: um ativo que dobrou, caiu pela metade e dobrou de novo mostra apenas o percurso líquido entre os dois extremos.
Casos de uso
Compare investimentos mantidos por períodos diferentes
Normalize uma posição em ações de três anos e uma operação de dezoito meses na mesma base anual antes de decidir qual teve melhor desempenho.
Preencha o desempenho anual em um relatório
Envie os saldos inicial e final para um pipeline de relatórios e anexe um valor anualizado consistente a cada conta, fundo ou carteira.
Verifique se uma meta foi cumprida
Confirme que um investimento que deveria render 8 por cento ao ano realmente rendeu, dados o valor aplicado e o valor recebido.
Perguntas frequentes
Quanto custa?
Também é grátis executar no seu navegador nesta página.
Qual fórmula ele usa?
É o retorno anualizado geométrico, que considera a capitalização.
O que acontece se o período de detenção for zero ou negativo?
O período de detenção deve ser maior que zero.
O valor final pode ser zero?
Sim. Um valor final igual a zero representa uma perda total e produz um retorno anualizado de menos 100 por cento.
Ele trata contribuições ou retiradas durante o período?
Não. Ele pressupõe uma única posição de compra e manutenção entre duas avaliações. Para fluxos de caixa intermediários, é preciso um cálculo de taxa interna de retorno.
Um resultado negativo é possível?
Sim. Sempre que o valor final for inferior ao inicial, o retorno anualizado é negativo, refletindo uma perda anual composta.
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/annualized-rate-of-return \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"initial_value":10000,"final_value":16105.1,"years":5}'const res = await fetch("https://api.kit.forhosting.com/fin/annualized-rate-of-return", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"initial_value": 10000,
"final_value": 16105.1,
"years": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/annualized-rate-of-return",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"initial_value": 10000,
"final_value": 16105.1,
"years": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/annualized-rate-of-return", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"initial_value":10000,"final_value":16105.1,"years":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"initial_value":10000,"final_value":16105.1,"years":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/annualized-rate-of-return", 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
{
"initial_value": 10000,
"final_value": 16105.1,
"years": 5
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.annualized_rate_of_return",
"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
A API de taxa de retorno anualizada responde à pergunta a que toda comparação de investimentos acaba por se reduzir: quanto rendeu isto por ano?
O que a taxa de retorno anualizada realmente mede
O endpoint precisa de apenas três números — valor inicial, valor final e anos — e o valor dos anos pode ser fracionário, de modo que uma posição mantida por trinta meses é simplesmente 2.5 anos.
Entradas, validação e como ler o resultado
O valor inicial deve ser estritamente maior que zero, porque um múltiplo de crescimento em relação a zero é indefinido; o valor final pode ser zero, o que representa uma perda total e produz um retorno anualizado de menos 100 por cento; e o período de detenção deve ser positivo — uma requisição com anos zero ou negativos é rejeitada com um erro invalid_input e nunca é cobrada.
Quando usar — e quando não usar
Use este endpoint sempre que você tiver apenas os dois extremos de um investimento: o preço de compra e de venda de um imóvel, o saldo inicial e final de uma conta sem contribuições intermediárias, ou o valor de uma posição em duas datas de relatório. O cálculo custa US$ 0,002 por chamada via API e roda grátis no seu navegador nesta página, com exatamente o mesmo código dos dois lados, de modo que o número com que você testa é o número pelo qual paga.