Calculadora de carry trade
Si pide 100.000 al 0,5 %, invierte al 4,5 % y la divisa cae un 1,2 %, el carry trade aún gana 2746, una rentabilidad neta del 2,746 %. Escriba las cuatro cifras de la operación y compruebe si el diferencial resiste al tipo de cambio. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Monto prestado
- 100 000
- Tasa de financiamiento
- 0,5
- Tasa de inversión
- 4,5
- Variación del tipo de cambio
- -1,2
- Diferencial de intereses
- 4
- Costo de financiamiento
- 500
- Ingresos de la inversión
- 103 246
- Reembolso del préstamo
- 100 500
Una operación carry trade toma prestado en una divisa de financiación de bajo rendimiento e invierte el producto en una divisa de mayor rendimiento, con la esperanza de que el diferencial de tipos compense con creces cualquier movimiento adverso del tipo de cambio. Esta calculadora de carry trade toma las cuatro cifras que definen un carry FX de un período: el importe tomado en unidades de la divisa de financiación, el tipo de interés de esa divisa en porcentaje, el tipo de interés de la divisa de inversión en porcentaje y la variación porcentual de la divisa de inversión frente a la de financiación en el mismo horizonte. Devuelve el beneficio en unidades de la divisa de financiación y la rentabilidad neta como porcentaje del nocional tomado, mediante la identidad multiplicativa que capitaliza el rendimiento de la inversión con el movimiento FX y luego resta el coste de financiación.
Cómo se calculan el beneficio y la rentabilidad neta del carry trade
Un carry trade de divisas es una posición financiada: usted toma un importe B en la divisa de financiación al tipo rf, convierte a la divisa de inversión, cobra el tipo ri, vuelve a convertir cuando el tipo de cambio se ha movido y reembolsa el préstamo de financiación. Sea dS la variación porcentual de la divisa de inversión frente a la de financiación en ese mismo horizonte, de modo que un dS positivo significa que la divisa de inversión se apreció y usted recupera más unidades de financiación.
La identidad multiplicativa de un período usada aquí es: el beneficio iguala B por la cantidad (uno más ri entre cien) por (uno más dS entre cien) menos (uno más rf entre cien). La rentabilidad neta, el campo principal, es cien veces el beneficio dividido entre B, así que es un porcentaje del nocional tomado y vive en las mismas unidades que los tres tipos de entrada.
Esa forma cerrada conserva el término cruzado entre el rendimiento de la inversión y el movimiento FX; el atajo lineal de aula ri menos rf más dS abandona ese producto y es solo una aproximación de primer orden. El diferencial de tipos se devuelve como ri menos rf para que usted vea el carry cobrado antes del FX.
El coste de financiación es B por rf entre cien, el reembolso del préstamo es B por uno más rf entre cien, y el producto de la inversión es B marcado a través del factor de inversión y del factor FX. Cuando dS es negativo la divisa de inversión se depreció: el producto se encoge, y una depreciación bastante grande convierte un carry positivo en pérdida aunque ri siga por encima de rf. Cuando dS es cero el resultado se reduce a un puro diferencial de tipos sobre el nocional.
Los tipos de política negativos son entradas válidas porque varias divisas de financiación han cotizado bajo cero; simplemente reducen el factor de reembolso.
Qué puede hacer con ella
Resultado del carry FX antes de operar
Convierta dos tipos de período y una variación de tipo de cambio de escenario en beneficio y rentabilidad neta sobre el nocional financiado, antes de abrir un par corto en financiación y largo en el objetivo.
Preguntas frecuentes
¿Qué ocurre si el importe tomado es cero o negativo?
Un carry trade con un nocional no positivo no es un problema de rentabilidad y no se factura.
¿Los tipos de interés son anuales, o del horizonte de tenencia?
Si sus cotizaciones son anuales y la operación dura tres meses, escale los dos tipos a ese período antes de enviarlos.
¿Puede perder dinero un carry trade aunque el tipo de inversión sea mayor?
Sí. Si la divisa de inversión se debilita lo suficiente frente a la de financiación durante el periodo, el menor importe recuperado puede borrar el diferencial de intereses y convertir la operación en pérdida, aunque el tipo de inversión siga siendo superior.
¿Por qué la rentabilidad no es el diferencial más la variación del cambio?
Ese atajo omite el efecto cruzado entre el rendimiento de la inversión y el movimiento de la divisa, así que solo es una aproximación. La calculadora combina ambos antes de restar el coste de financiación; por eso el ejemplo da 2,746 %.
¿Se pueden escribir tipos de interés negativos?
Sí. Varias divisas de financiación han tenido tipos oficiales por debajo de cero, de modo que se aceptan tipos negativos para cualquiera de las dos. Un tipo de financiación negativo simplemente reduce lo que hay que devolver.
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/carry-trade \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"borrowed_amount":100000,"funding_rate":0.5,"investment_rate":4.5,"exchange_rate_change":-1.2}'const res = await fetch("https://api.kit.forhosting.com/fin/carry-trade", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"borrowed_amount": 100000,
"funding_rate": 0.5,
"investment_rate": 4.5,
"exchange_rate_change": -1.2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/carry-trade",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"borrowed_amount": 100000,
"funding_rate": 0.5,
"investment_rate": 4.5,
"exchange_rate_change": -1.2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/carry-trade", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"borrowed_amount":100000,"funding_rate":0.5,"investment_rate":4.5,"exchange_rate_change":-1.2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"borrowed_amount":100000,"funding_rate":0.5,"investment_rate":4.5,"exchange_rate_change":-1.2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/carry-trade", 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
{
"borrowed_amount": 100000,
"funding_rate": 0.5,
"investment_rate": 4.5,
"exchange_rate_change": -1.2
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.carry_trade",
"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.
Límites
max_abs_amount | 1000000000000000 |
max_abs_rate | 1000000 |
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
Un borrowed_amount que no sea positivo se rechaza con invalid_input en lugar de producir en silencio una rentabilidad sin sentido.
Contrato de entrada, nocional positivo y errores
Los tres campos de tipo deben describir el mismo horizonte entre sí y respecto al movimiento FX; si sus cotizaciones son anuales y la operación dura tres meses, escálelas antes de llamar. Envíe un cuerpo JSON con cuatro números finitos obligatorios. borrowed_amount es el nocional que usted financia en la divisa de financiación y debe ser estrictamente mayor que cero; un nocional cero, negativo, ausente o no finito falla con invalid_input nombrando borrowed_amount y no se factura, porque un carry sin nada tomado no es un problema de rentabilidad. funding_rate es el tipo de interés de la divisa prestada para el horizonte, en porcentaje: use 0.5 para un medio por ciento, no 0.005, y se aceptan valores negativos para divisas de financiación con tipos negativos. investment_rate es el tipo de interés de la divisa objetivo para el mismo período, en porcentaje, con el mismo convenio de signo. exchange_rate_change es la variación porcentual de la divisa de inversión frente a la de financiación: apreciación positiva, depreciación negativa. Se aceptan los alias amount, notional, principal y borrow para borrowed_amount; funding_currency_rate, borrow_rate y rf para funding_rate; investment_currency_rate, invest_rate y ri para investment_rate; fx_change, fx_return, currency_change y delta_s para exchange_rate_change. En caso de éxito el cuerpo repite las cuatro entradas y devuelve interest_differential, funding_cost, investment_proceeds, loan_repayment, profit, net_return y una cadena de fórmula breve. Ejemplo: cien mil tomados al 0.5 por ciento, invertidos al 4.5 por ciento, con la divisa de inversión a la baja un 1.2 por ciento, es un esquema típico corto en yen y largo en divisa de materias primas, y produce un net_return estable a doce decimales que usted puede fijar en pruebas porque el módulo es puro y determinista.
Dónde aporta valor una calculadora de carry trade
Las mesas FX, los fondos macro y los equipos de tesorería usan una calculadora de carry trade para convertir una hoja de dos tipos de política y un movimiento FX realizado o de escenario en un resultado y una rentabilidad neta porcentual sobre el nocional financiado, sin abrir una hoja de cálculo que anualice en silencio un tipo a tres meses. La validación fallida no consume saldo. Compare el atajo lineal con este resultado multiplicativo en movimientos FX grandes: la brecha es el término cruzado, y a menudo es la diferencia entre una estimación de mesa y una cifra de liquidación. Los cursos sobre paridad descubierta de tipos necesitan un oráculo determinista que no descarte el término cruzado multiplicativo y que rechace un borrowed_amount no positivo en lugar de devolver infinito o un NaN. Los motores de retroceso y de escenarios agrupan muchas combinaciones de borrowed_amount, funding_rate, investment_rate y exchange_rate_change mediante la API JSON cuando ya conocen los tipos y el movimiento FX y solo necesitan aplicar la identidad sin deriva. Como la implementación es parse pura de tier A, cada llamada correcta cuesta el precio base publicado $0.002 sin tokens de modelo ni red saliente. Mantenga las peticiones pequeñas, fije el profit y el net_return redondeados en las pruebas y obtendrá aritmética de carry reproducible para widgets, cuadernos y workers de borde, sin levantar un sistema de cartera completo.
Casos de integración
Paridad descubierta de tipos en el aula
Muestre al alumnado que el carry es el diferencial de tipos más el movimiento FX, con el término cruzado multiplicativo conservado, y que un borrowed_amount no positivo es inválido en vez de un NaN silencioso.
Capa de escenarios y retroceso
Agrupe pares de tipos conocidos y variaciones FX realizadas a través de la API para marcar una capa de carry financiada simple, sin que una hoja anualice el horizonte por accidente.
Preguntas técnicas
¿Cómo se calculan el beneficio y la rentabilidad neta del carry trade?
El beneficio es borrowed_amount por ((1 + investment_rate/100) times (1 + exchange_rate_change/100) minus (1 + funding_rate/100)). La rentabilidad neta es 100 veces el beneficio dividido entre borrowed_amount, como porcentaje del nocional financiado.
¿Qué significa un exchange_rate_change negativo?
La divisa de inversión se depreció frente a la de financiación en el horizonte, así que usted recupera menos unidades de financiación. Una depreciación bastante grande puede borrar un diferencial de tipos positivo.
¿Cuánto cuesta la calculadora de carry trade?
La herramienta del navegador es gratuita. Las peticiones API usan saldo prepago a $0.002 por llamada correcta; la entrada inválida no se factura.