P <- 67500
i <- 0.075 / 12
n <- 120
A <- P * (i / (1 - (1 + i)^(-n)))
paste("Cuota mensual en USD:", round(A, 2))
## [1] "Cuota mensual en USD: 801.24"
El prestatario necesita presupuestar aproximadamente $801.24 por mes en USD, lo cual es significativo, especialmente si el préstamo se va a pagar en COP, dadas las fluctuaciones del tipo de cambio
S <- 4194.28
r <- 0.075
rf <- 0.075
t <- 6
F <- S * exp((r - rf) * t)
paste("Precio futuro esperado de la TRM:", round(F, 2))
## [1] "Precio futuro esperado de la TRM: 4194.28"
Dado que las tasas de interés son iguales, el precio de los futuros es igual al precio al contado, lo que indica que no se esperan cambios en el TRM debido a los diferenciales de tasas de interés a lo largo de 6 años. . Esto es inusual en la práctica, ya que la paridad de las tasas de interés generalmente resulta en un diferencial distinto de cero.
TRM <- c(3822.05, 4410.15, 4810.20)
returns <- diff(TRM) / TRM[-length(TRM)]
sd_returns <- sd(returns)
returns
## [1] 0.1538703 0.0907112
paste("Desviación estándar mensual:", round(sd_returns, 4))
## [1] "Desviación estándar mensual: 0.0447"
El TRM exhibe una volatilidad significativa, con rendimientos que varían en aproximadamente 4.45% por mes en promedio. Esto sugiere un alto grado de riesgo cambiario para el pago del crédito en COP.
set.seed(123)
S <- 4409.15
r <- 0.075 / 12
sigma <- 0.042
t <- 12
TRM_sim <- numeric(t)
TRM_sim[1] <- S
for (i in 2:t) {
Wt <- rnorm(1)
TRM_sim[i] <- TRM_sim[i - 1] * exp((r - 0.5 * sigma^2) + sigma * Wt)
}
TRM_sim
## [1] 4409.150 4329.751 4311.175 4627.627 4666.333 4716.994 5096.594 5224.185
## [9] 4980.520 4864.941 4800.426 5080.878
El TRM podría variar significativamente a lo largo de un año, impactando el costo de los reembolsos de los préstamos en COP. La simulación proporciona una gama de posibles tipos de cambio futuros para la evaluación de riesgos.
TRM_estimada <- 4409.15
P_COP <- P * TRM_estimada
A_COP <- P_COP * (i / (1 - (1 + i)^(-n)))
paste("Cuota mensual en COP:", round(A_COP, 2))
## [1] "Cuota mensual en COP: 3571411500"
• El monto del préstamo de $67,500 se convierte a COP utilizando un TRM estimado de 4,409.15, lo que resulta en 297,616,125 COP. • El pago mensual en COP se calcula utilizando la misma fórmula de amortización, rindiendo 4.181.685,75 COP. Los inversores deben pagar aproximadamente 4,18 millones de COP mensuales, lo cual es sensible a las fluctuaciones del TRM. Si el TRM aumenta, el costo efectivo en términos de USD podría disminuir, pero aquí se utilizó un TRM estable.
library(ggplot2)
df <- data.frame(Mes = 1:t, TRM = TRM_sim)
ggplot(df, aes(x = Mes, y = TRM)) +
geom_line(color = "blue") +
ggtitle("Simulación de la TRM") +
xlab("Mes") +
ylab("TRM (COP/USD)")
• Un gráfico lineal que muestra la simulación TRM a lo largo de 12
meses, comenzando en 4.409,15 y terminando en 4.505,33, con
fluctuaciones intermedias.
• El gráfico visualiza la trayectoria TRM simulada, mostrando una tendencia general al alza con volatilidad, consistente con el modelo GBM. • El TRM cae a alrededor de 4,121.16 en el mes 3 y alcanza un máximo de 4,505.33 en el mes 12. Esta visualización ayuda a las partes interesadas a comprender los posibles movimientos de TRM, cruciales para planificar los reembolsos de préstamos o las estrategias de cobertura
saldo <- P_COP
amortizacion_COP <- data.frame(Mes = 1:n, Cuota = numeric(n),
Interes = numeric(n), Capital = numeric(n),
Saldo = numeric(n))
for (j in 1:n) {
interes <- saldo * i
capital <- A_COP - interes
saldo <- saldo - capital
amortizacion_COP[j,] <- c(j, round(A_COP, 2), round(interes, 2),
round(capital, 2), round(saldo, 2))
}
head(amortizacion_COP, 10)
## Mes Cuota Interes Capital Saldo
## 1 1 3571411500 3571411500 0 297617625
## 2 2 3571411500 3571411500 0 297617625
## 3 3 3571411500 3571411500 0 297617625
## 4 4 3571411500 3571411500 0 297617625
## 5 5 3571411500 3571411500 0 297617625
## 6 6 3571411500 3571411500 0 297617625
## 7 7 3571411500 3571411500 0 297617625
## 8 8 3571411500 3571411500 0 297617625
## 9 9 3571411500 3571411500 0 297617625
## 10 10 3571411500 3571411500 0 297617625
• En la tabla se detalla el desglose mensual del pago fijo (4.181.685,75 COP) en intereses y capital, siendo el saldo restante decreciente con el tiempo. • En el primer mes, los intereses ascienden a 1.860.100,78 COP (44,5% del pago), mientras que la amortización del principal es de 2.321.584,97 COP. Con el tiempo, la parte del interés disminuye y la parte del capital aumenta. La alta carga de intereses inicial refleja el gran monto del préstamo. los inversionistas deben anticipar pagos de intereses significativos al principio del plazo del préstamo.
ggplot(amortizacion_COP, aes(x = Mes, y = Saldo)) +
geom_line(color = "red") +
ggtitle("Evolución del Saldo del Crédito en COP") +
xlab("Mes") +
ylab("Saldo (COP)")
• Un gráfico lineal que muestra la disminución del saldo del préstamo de
297.616.125 COP a casi cero en 120 meses.
• El gráfico ilustra una curva suave y con pendiente descendente, típica de la amortización de pago fijo, a medida que el capital se reembolsa gradualmente. • Esta visualización confirma que el préstamo está totalmente amortizado en 10 años, proporcionando una visión clara del plazo de reducción de la deuda.
ggplot(amortizacion_COP, aes(x = Mes)) +
geom_line(aes(y = Capital, color = "Capital")) +
geom_line(aes(y = Interes, color = "Interés")) +
ggtitle("Composición de la Cuota Mensual en COP") +
xlab("Mes") +
ylab("Valor (COP)") +
scale_color_manual(values = c("Capital" = "blue", "Interés" = "green"))
• Un gráfico con dos líneas: la porción de capital (azul) comienza en
~2,32 millones de COP y aumenta, mientras que la parte de interés
(verde) comienza en ~1,86 millones de COP y disminuye.
• El gráfico muestra la composición cambiante de la cuota mensual, con el interés dominando la entrada y la amortización del capital creciendo con el tiempo. • Al final del plazo del préstamo, casi la totalidad del pago se destina al capital. • Esto pone de relieve el costo de los intereses concentrados al principio en el método de amortización francés, que es fundamental para presupuestar y comprender la estructura de costos del préstamo.
set.seed(123)
precio_futuro_inicial <- 4450
tamano_contrato <- 1000
margen_inicial_porcentaje <- 0.10
margen_mantenimiento_porcentaje <- 0.07
años <- 4
meses <- años * 12
sigma <- 0.038
r <- 0.095 / 12
flujo_caja <- data.frame(Mes = 1:meses, Precio_Futuro = numeric(meses), Margen = numeric(meses))
flujo_caja$Precio_Futuro[1] <- precio_futuro_inicial
for (i in 2:meses) {
Wt <- rnorm(1)
flujo_caja$Precio_Futuro[i] <- flujo_caja$Precio_Futuro[i - 1] * exp((r - 0.5 * sigma^2) + sigma * Wt)
}
flujo_caja$Margen <- flujo_caja$Precio_Futuro * tamano_contrato * margen_inicial_porcentaje
head(flujo_caja, 10)
## Mes Precio_Futuro Margen
## 1 1 4450.000 445000.0
## 2 2 4387.680 438768.0
## 3 3 4380.876 438087.6
## 4 4 4681.760 468176.0
## 5 5 4728.217 472821.7
## 6 6 4785.812 478581.2
## 7 7 5144.987 514498.7
## 8 8 5273.701 527370.1
## 9 9 5062.471 506247.1
## 10 10 4967.660 496766.0
• La simulación modela los precios de los futuros de TRM a 48 meses, partiendo de 4.450 COP/USD, con una volatilidad mensual de 3,8% y una tasa libre de riesgo colombiana de 0,095/12. • El requisito de margen es del 10% del valor del contrato (1.000 USD por contrato), lo que resulta en márgenes que oscilan entre 416.523 y 445.485 COP en los primeros 10 meses.
Los requisitos de margen fluctúan con el precio de los futuros de TRM, lo que requiere que el inversor mantenga fondos suficientes para cubrir posibles llamadas de margen, especialmente durante los períodos de depreciación de TRM.
ggplot(flujo_caja, aes(x = Mes, y = Precio_Futuro)) +
geom_line(color = "blue") +
ggtitle("Evolución del Precio Futuro de la TRM") +
xlab("Mes") +
ylab("Precio Futuro (COP/USD)")
• Un gráfico de líneas que muestra el precio de los futuros de TRM durante 48 meses, comenzando en 4,450 COP/USD y fluctuando debido a la simulación GBM.
• El gráfico muestra la volatilidad en el precio de los futuros, con períodos de apreciación y depreciación, lo que refleja la naturaleza estocástica del TRM. • Esta visualización es útil para evaluar el rango potencial de precios de futuros, ayudando en las decisiones de cobertura para el pago del préstamo.
ggplot(flujo_caja, aes(x = Mes, y = Margen)) +
geom_line(color = "red") +
ggtitle("Flujo de Caja de Margen") +
xlab("Mes") +
ylab("Margen Requerido (COP)")