Calculadora de rendimiento hasta el rescate de bonos
Esta calculadora estima el rendimiento anual que usted obtendría si el emisor rescatara un bono amortizable en la próxima fecha prevista.
Ejecutar — gratis
Introduzca el precio actual, el precio contractual de rescate, la tasa anual del cupón y el plazo restante. También puede definir el valor nominal y la frecuencia de pago. El resultado muestra el rendimiento anual nominal, el rendimiento anual efectivo, la tasa periódica, el pago del cupón y el número de períodos pendientes, para que los supuestos queden claros.
Qué mide el rendimiento hasta el rescate
El rendimiento hasta el rescate es la tasa de descuento que iguala el valor presente de los flujos esperados de un bono amortizable con su precio de mercado, suponiendo que el emisor ejerce la opción en la fecha indicada. Los flujos incluyen todos los cupones hasta entonces y el precio pagado al rescatarlo. Esta medida resulta especialmente útil cuando el bono cotiza sobre la par y el emisor podría refinanciar deuda cara tras una bajada de tipos. En ese caso, el rendimiento al vencimiento puede exagerar la rentabilidad probable porque supone que los cupones continúan hasta el vencimiento final. La calculadora ofrece un rendimiento anual nominal según la frecuencia elegida y otro efectivo que incorpora la capitalización. No predice que el rescate vaya a producirse. Compárelo con el rendimiento al vencimiento, el rendimiento mínimo, el riesgo crediticio y las cláusulas reales del bono antes de invertir.
Introduzca condiciones coherentes
Utilice la misma escala monetaria para el precio actual, el precio de rescate y el valor nominal. Si un bono cotiza a 98 por cada 100 de nominal, puede introducir 980 como precio y 1,000 como nominal, ajustando igual el rescate, o usar 98 y 100. Escriba el cupón como porcentaje anual: 5 para cinco por ciento, no 0.05. La herramienta divide el cupón anual entre los pagos elegidos. Los años hasta el rescate deben formar un número entero de períodos porque el modelo supone que la valoración coincide con una fecha de cupón y no calcula intereses corridos ni fracciones. Cuatro años con pagos semestrales equivalen a ocho períodos. El precio debe ser limpio bajo ese supuesto. Si la liquidación cae entre cupones, utilice una herramienta que contemple interés corrido, convención de días y calendario exacto.
Cómo se resuelve e interpreta
Cuando existen varios cupones no hay una fórmula algebraica general de un solo paso, por lo que la calculadora resuelve numéricamente la ecuación de valor presente. Busca la tasa periódica que hace que los cupones descontados y el pago de rescate igualen el precio, y después la convierte en tasas anuales nominal y efectiva. La búsqueda es determinista, acotada y suficientemente repetida para dar resultados redondeados estables. Un bono cuyo precio sea inferior a sus flujos futuros sin descontar suele arrojar un rendimiento positivo; una prima elevada puede producir uno negativo si el rescate y los cupones no recuperan la compra. El cálculo supone pagos puntuales y excluye impuestos, costes, incertidumbre de reinversión, impago, rescates posteriores y variaciones de mercado. Evalúe por separado cada fecha posible y considere el menor rendimiento relevante como señal de riesgo.
Qué puede hacer con ella
Evaluar un bono amortizable con prima
Compruebe si los cupones previos al rescate compensan un precio de compra superior al nominal.
Comparar bonos alternativos
Calcule la rentabilidad de la próxima fecha de rescate con supuestos coherentes para cada bono.
Analizar una cartera de renta fija
Automatice un cálculo reproducible para posiciones que dispongan de condiciones completas de rescate.
Preguntas frecuentes
¿Cuánto cuesta el cálculo?
Es gratis en el navegador de esta página y cuesta $0.002 por solicitud API.
¿Equivale al rendimiento al vencimiento?
No. Este cálculo supone un rescate en la fecha elegida; el rendimiento al vencimiento supone pagos hasta el vencimiento final.
¿Puede ser negativo?
Sí. Una prima de compra elevada puede superar los cupones y el importe recibido antes del rescate.
¿Debo introducir 5 o 0.05 para un cupón del cinco por ciento?
Introduzca 5. La tasa del cupón se expresa como porcentaje del valor nominal.
¿Incluye intereses corridos?
No. Supone una valoración en fecha de cupón y exige un número entero de períodos pendientes.
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/finance/bond-yield-to-call \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"price":980,"call_price":1020,"coupon_rate":5,"years_to_call":4}'const res = await fetch("https://api.kit.forhosting.com/finance/bond-yield-to-call", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"price": 980,
"call_price": 1020,
"coupon_rate": 5,
"years_to_call": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/finance/bond-yield-to-call",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"price": 980,
"call_price": 1020,
"coupon_rate": 5,
"years_to_call": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/finance/bond-yield-to-call", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"price":980,"call_price":1020,"coupon_rate":5,"years_to_call":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"price":980,"call_price":1020,"coupon_rate":5,"years_to_call":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/finance/bond-yield-to-call", 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
{
"price": 980,
"call_price": 1020,
"coupon_rate": 5,
"years_to_call": 4
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "finance.bond_yield_to_call",
"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. |