Calculadora de APR
Un tipo nominal del 12 % con capitalización mensual cuesta en realidad un 12,6825 % al año, 0,6825 puntos más que lo anunciado. Pase cualquier oferta a su tasa efectiva antes de comparar préstamos o calcular cuotas. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Tasa nominal
- 0,12
- Períodos de capitalización
- 12
- Apr
- 0,126825
- APR (%)
- 12,6825
- Diferencia efectiva vs. nominal (puntos)
- 0,6825
La calculadora de APR toma los dos números que figuran en toda oferta de préstamo —la tasa de interés nominal anual y la frecuencia con la que se capitaliza— y devuelve la tasa porcentual anual efectiva: lo que el préstamo le cuesta realmente en un año una vez incluida la capitalización. Una tasa nominal del 12% con capitalización mensual no equivale a un 12% anual; es más, y la diferencia crece con cada período de capitalización adicional. Envíe la tasa como decimal y el número de períodos por año, y obtendrá la APR efectiva, la misma cifra expresada como porcentaje y la brecha entre la tasa nominal y la efectiva en puntos porcentuales.
Por qué la tasa nominal y la APR no son el mismo número
Los prestamistas anuncian una tasa anual nominal porque parece más baja. Esa cifra solo dice la verdad cuando los intereses se añaden una vez al año. En el momento en que los intereses se añaden mensualmente, diariamente o de forma continua, los intereses de cada período empiezan a generar sus propios intereses, y la cantidad que usted paga realmente en doce meses supera la cifra del titular.
La tasa porcentual anual efectiva es el número honesto: integra la capitalización en una única tasa anual, de modo que una tasa nominal del 12% con capitalización mensual se convierte en aproximadamente un 12.68%, y la misma tasa con capitalización diaria se convierte en cerca de un 12.75%.
Si está comparando ofertas, construyendo una verificación de asequibilidad o auditando un contrato, esta es la conversión que debe realizar primero, antes de cualquier cálculo de cuotas mensuales o de amortización, porque cada cálculo posterior hereda el error si parte de la tasa nominal.
Los reguladores de la mayoría de las jurisdicciones exigen que los prestamistas revelen una cifra efectiva de tipo APR precisamente por este motivo: la tasa nominal por sí sola es sistemáticamente engañosa, y la frecuencia de capitalización queda enterrada en la letra pequeña, donde los prestatarios rara vez miran.
Cómo funciona la conversión
La fórmula es de forma cerrada y exacta: divida la tasa nominal entre el número de períodos de capitalización por año para obtener la tasa por período, súmele uno, elévela a la potencia de los períodos y réstele uno. Para una tasa nominal r capitalizada m veces al año, APR = (1 + r/m)^m − 1. Acepta la tasa nominal como decimal —0.12, no 12— y los períodos como un entero positivo: 12 para mensual, 4 para trimestral, 2 para semestral, 1 para anual, 365 para diario.
La tasa nominal puede ser negativa hasta −1, lo que cubre escenarios deflacionarios o de penalización; por debajo de −1 la fórmula pierde sentido y se rechaza. Junto con la APR efectiva, usted recibe la misma cifra como porcentaje y la diferencia entre la tasa nominal y la efectiva en puntos porcentuales, de modo que puede citar la forma que su informe necesite sin aritmética adicional por su parte.
Dónde encaja en un flujo de trabajo de préstamos
La comparación de tasas es el uso evidente: pase cada oferta que reciba por la conversión y ordénelas por costo efectivo en lugar de por la tasa del titular. Los motores de precios normalizan todas las tasas de sus productos a APR antes de almacenarlas, de modo que las cotizaciones posteriores nunca dependan de recordar la convención de capitalización de cada producto.
Las herramientas de cumplimiento vuelven a derivar la APR revelada a partir de la tasa nominal del contrato y su cláusula de capitalización, y señalan las discrepancias que superen una tolerancia. Los sitios de contenido financiero calculan la tasa efectiva en línea junto a cada tabla de productos.
El cálculo es determinista: sin llamadas de red, sin aleatoriedad, sin fechas, por lo que la misma entrada siempre devuelve la misma salida, lo que lo hace seguro para almacenar en caché, seguro para registrar en una pista de auditoría y seguro para usar como referencia dorada cuando pruebe su propio código financiero contra una implementación de corrección conocida. Ese determinismo es la razón por la que la salida se redondea a una precisión fija y se devuelve como números simples.
Qué puede hacer con ella
Compare ofertas de préstamos en igualdad de condiciones
Convierta la tasa nominal y la frecuencia de capitalización de cada oferta a la APR efectiva y ordénelas por el costo anual real en lugar de la cifra del titular.
Audite la APR revelada en un contrato
Recalcule la tasa efectiva a partir de la tasa nominal y la cláusula de capitalización, y señale cualquier revelación que se desvíe más allá de su tolerancia.
Normalice tasas en un motor de precios
Almacene cada producto como una APR efectiva en el momento de la ingesta, de modo que las cotizaciones y la amortización posteriores nunca dependan de las convenciones de capitalización.
Preguntas frecuentes
¿Cuánto cuesta?
También es gratis ejecutarlo en su navegador en esta página, con resultados idénticos.
¿Qué frecuencias de capitalización puedo usar?
Cualquier entero positivo de períodos por año: 1 para anual, 2 para semestral, 4 para trimestral, 12 para mensual, 365 para diario.
¿Es exacto el resultado?
La fórmula es una potencia de forma cerrada calculada en doble precisión, redondeada después a seis decimales para que la salida sea idéntica a nivel de bytes entre máquinas. La misma entrada siempre devuelve la misma salida.
¿Puede la tasa nominal ser negativa?
Sí, hasta −1 (una pérdida total por período). Por debajo de ese valor la fórmula pierde sentido y la solicitud se rechaza.
¿Cómo comparo dos préstamos que capitalizan de forma distinta?
Convierta el tipo nominal de cada uno en su tasa efectiva anual y ordene las ofertas por esa cifra. Comparar tipos anunciados cuando uno capitaliza cada mes y otro cada día es comparar peras con manzanas.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/fin/apr \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"nominal_rate":0.12,"compounding_periods":12}'const res = await fetch("https://api.kit.forhosting.com/fin/apr", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"nominal_rate": 0.12,
"compounding_periods": 12
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/apr",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"nominal_rate": 0.12,
"compounding_periods": 12
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/apr", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"nominal_rate":0.12,"compounding_periods":12}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"nominal_rate":0.12,"compounding_periods":12}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/apr", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"nominal_rate": 0.12,
"compounding_periods": 12
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.apr",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Funciona por completo en su navegador de forma gratuita, o como una llamada a la API a $0.002 por solicitud.
Por qué la tasa nominal y la APR no son el mismo número
Comparar dos préstamos por sus tasas nominales cuando uno capitaliza mensualmente y el otro diariamente es comparar peras con manzanas; convertir ambas a APR las sitúa en pie de igualdad, que es exactamente lo que este endpoint hace en una sola llamada.
Cómo funciona la conversión
El endpoint aplica eso directamente con aritmética de doble precisión y redondea el resultado a seis decimales para que la salida sea estable a nivel de bytes entre distintas máquinas. Cualquier valor que no sea un entero positivo para los períodos —cero, un número negativo, una fracción como 2.5, una cadena de texto— se rechaza con un error invalid_input y sin cargo, porque una frecuencia de capitalización fraccionaria no tiene sentido en esta fórmula.
Dónde encaja en un flujo de trabajo de préstamos
Pero el endpoint también justifica su valor en la automatización.
Preguntas técnicas
¿Cómo paso la tasa, como porcentaje o como decimal?
Como decimal: 0.12 para el 12%. La respuesta incluye apr_percent, el mismo resultado multiplicado por 100, de modo que nunca necesita convertirlo usted mismo.
¿Qué ocurre si envío un valor de capitalización no válido?
La solicitud falla con un error invalid_input que indica el campo, y no se le cobra. Las entradas no válidas nunca consumen cuota.