library(quantmod)
## Loading required package: xts
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
## Loading required package: TTR
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
Analisis Fundamental
UnitedHealth Group (UNH) UnitedHealth Group es una empresa integrada en seguros y servicios de salud, con dos divisiones principales: UnitedHealthcare y Optum. Su tamaño y diversificación le otorgan ventajas de escala y acceso a datos únicos. En 2024 alcanzó ingresos por US 400,3 mil millones (+8 % interanual) y utilidades operativas de US 32,3 mil millones, ajustadas por costos excepcionales derivados del ciberataque de ese año (UnitedHealth Group, 2025; Myshko, 2025). En el segundo trimestre de 2025, la compañía restableció su guía para todo el año, proyectando ingresos entre US 445,5–448,0 mil millones y un EPS ajustado de al menos US$16, aunque reconoció presiones en el segmento Optum Health por revisiones contractuales y recortes en Medicare Advantage (UnitedHealth Group, 2025). La tesis de inversión se sustenta en su liderazgo estructural en servicios de salud y seguros, con una tendencia secular de crecimiento del gasto sanitario. Entre los riesgos destacan la presión regulatoria sobre Medicare Advantage, la normalización en la utilización de servicios y los costos relacionados con el ciberataque (UnitedHealth Group, 2025).
Precio al 31/07/2025: US$249,56 (Yahoo Finanzas, 2025).
Procter & Gamble (PG) Procter & Gamble opera en bienes de consumo masivo defensivos, abarcando diez categorías que incluyen cuidado del hogar, belleza y salud personal. Su estrategia se centra en la superioridad de producto y la fortaleza de marca global (Procter & Gamble, 2025). Durante el año fiscal 2025, cerrado en junio, reportó un crecimiento orgánico de un solo dígito, con impulso en las divisiones de Fabric & Home Care y una sólida gestión de precios y eficiencia operativa (Procter & Gamble, 2025).La tesis principal se basa en el poder de precios, resiliencia y disciplina operativa. Los riesgos incluyen presiones al consumidor, fluctuaciones cambiarias y competencia de marcas privadas (Procter & Gamble, 2025).
Precio al 31/07/2025: US$150,47 (Yahoo Finanzas, 2025).
The Coca-Cola Company (KO) Coca-Cola mantiene su liderazgo global con un sistema de embotelladores que impulsa el crecimiento mediante el mix premium, los productos “sin azúcar” y los formatos pequeños. En el tercer trimestre de 2025, reportó un crecimiento orgánico del 6 %, con volumen positivo y mejora operativa (The Coca-Cola Company, 2025). Además, continúa ajustando su estructura mediante la venta y refranquiciado de embotelladoras (The Coca-Cola Company, 2025).La tesis gira en torno a su resiliencia de marca y diversificación geográfica, mientras que los principales riesgos incluyen la debilidad del consumidor estadounidense de menores ingresos y la exposición a impuestos a bebidas azucaradas (AP News, 2025).
Precio al 31/07/2025: US$67,89 (Yahoo Finanzas, 2025).
getSymbols(c("UNH","PG","KO") , src = "yahoo", from = "2020-07-31", to = "2025-07-31")
## [1] "UNH" "PG" "KO"
cierres <- merge(Cl(UNH), Cl(PG), Cl(KO))
colnames(cierres) <- c("UNH", "PG", "KO")
head(cierres)
## UNH PG KO
## 2020-07-31 302.78 131.12 47.24
## 2020-08-03 303.61 131.29 46.30
## 2020-08-04 304.50 133.79 46.69
## 2020-08-05 312.47 133.44 47.22
## 2020-08-06 314.06 132.71 47.48
## 2020-08-07 317.03 133.55 47.80
rendimientos_UNH<-(cierres$UNH/lag(cierres$UNH, k=1))-1
rendimientos_UNH<-na.omit(rendimientos_UNH)
rendimientos_PG<-(cierres$PG/lag(cierres$PG, k=1))-1
rendimientos_PG<-na.omit(rendimientos_PG)
rendimientos_KO<-(cierres$KO/lag(cierres$KO, k=1))-1
rendimientos_KO<-na.omit(rendimientos_KO)
rendimientos_portaf<-merge(rendimientos_UNH,rendimientos_PG,rendimientos_KO)
colnames(rendimientos_portaf)<-c("Ret:UNH","Ret:PG","Ret:KO")
View(rendimientos_portaf)
rend_anual_UNH<-mean(rendimientos_portaf$`Ret:UNH`)*252
rend_anual_PG<-mean(rendimientos_portaf$`Ret:PG`)*252
rend_anual_KO<-mean(rendimientos_portaf$`Ret:KO`)*252
desv_stndr_UNH<-sd(rendimientos_portaf$`Ret:UNH`)*sqrt(252)
desv_stndr_PG<-sd(rendimientos_portaf$`Ret:PG`)*sqrt(252)
desv_stndr_KO<-sd(rendimientos_portaf$`Ret:KO`)*sqrt(252)
Matriz de varianza covarianza
matriz_var_cov<-cov(rendimientos_portaf)*252
View(matriz_var_cov)
Pesos iniciales
# ----- Datos iniciales -----
pesos <- c(0.33, 0.33, 0.34)
rendimientos_esperados <- c(rend_anual_UNH, rend_anual_PG, rend_anual_KO)
matriz_var_cov <- cov(rendimientos_portaf) * 252
# ----- Métricas iniciales -----
retorno_portaf <- sum(pesos * rendimientos_esperados)
desv_portaf <- sqrt(t(pesos) %*% matriz_var_cov %*% pesos)
rf <- 0.04
sharpe_inicial <- (retorno_portaf - rf) / desv_portaf
cat("Sharpe ratio inicial:", sharpe_inicial, "\n\n")
## Sharpe ratio inicial: 0.07061715
# ----- Parámetros -----
n <- length(rendimientos_esperados)
wmax <- 0.60
wmin <- 0.10
lambda_div <- 0.50
gamma_max <- 50.0
gamma_min <- 10.0
x0 <- rep(0, n)
# ----- Función objetivo -----
obj_softmax_div <- function(x, mu, Sigma, rf, wmax, wmin, lambda_div, gamma_max, gamma_min){
ex <- exp(x - max(x))
w <- ex / sum(ex) # pesos positivos que suman 1
# Retorno y riesgo anual
ret <- sum(w * mu)
var <- as.numeric(t(w) %*% Sigma %*% w)
sd <- sqrt(var)
if (!is.finite(sd) || sd <= 0) return(1e9)
sharpe <- (ret - rf) / sd
# Penalizaciones
penal_div <- lambda_div * sum((w - 1/length(w))^2)
excedente <- pmax(0, w - wmax)
penal_max <- gamma_max * sum(excedente^2)
deficit <- pmax(0, wmin - w)
penal_min <- gamma_min * sum(deficit^2)
# Minimizar
-sharpe + penal_div + penal_max + penal_min
}
# ----- Optimización -----
set.seed(7)
res <- optim(
par = x0,
fn = obj_softmax_div,
mu = rendimientos_esperados,
Sigma = matriz_var_cov,
rf = rf,
wmax = wmax,
wmin = wmin,
lambda_div = lambda_div,
gamma_max = gamma_max,
gamma_min = gamma_min,
method = "BFGS",
control = list(maxit = 2000, reltol = 1e-10)
)
# ----- Resultados -----
ex_opt <- exp(res$par - max(res$par))
w_opt <- as.numeric(ex_opt / sum(ex_opt))
names(w_opt) <- c("UNH","PG","KO")
ret_opt <- sum(w_opt * rendimientos_esperados)
sd_opt <- sqrt(as.numeric(t(w_opt) %*% matriz_var_cov %*% w_opt))
sharpe_opt <- (ret_opt - rf) / sd_opt
cat("\nPesos óptimos diversificados:\n")
##
## Pesos óptimos diversificados:
print(round(w_opt, 4))
## UNH PG KO
## 0.1144 0.3043 0.5813
cat(sprintf("\nRetorno anual esperado: %.4f", ret_opt))
##
## Retorno anual esperado: 0.0678
cat(sprintf("\nDesviación anual: %.4f", sd_opt))
##
## Desviación anual: 0.1469
cat(sprintf("\nSharpe: %.4f", sharpe_opt))
##
## Sharpe: 0.1890
cat(sprintf("\nConvergence: %s; value: %.6f\n", res$convergence, res$value))
##
## Convergence: 0; value: -0.133884
Optimos de contratos del futuro del indice
var_uno<-qnorm(0.01,mean = rend_anual_KO, sd=desv_stndr_KO)
var_cinco<-qnorm(0.05,mean = rend_anual_KO, sd=desv_stndr_KO)
cobertura_var_uno<-var_uno*10000000
cobertura_var_cinco<-var_cinco*10000000
Los valores almacenados en las dos variables de cobertura_var_uno y cobertura_var_cinco significan que con un nivel de confianza de 99% y del 95%, la perdida máxima que se puede obtener del portafolio es de 1.843.928 dolares (al 95% de confianza) y de 2.977.751 dolares (al 99% de confianza). Ahora bien, se desea ejercer un proceso de cobertura para minimizar el riesgo de perdida. Por lo tanto, bajo estos dos valores se comprarán futuros para cubrirnos frente a la posibilidad de perdida con el portafolio.
library(quantmod); library(dplyr); library(zoo)
##
## ######################### Warning from 'xts' package ##########################
## # #
## # The dplyr lag() function breaks how base R's lag() function is supposed to #
## # work, which breaks lag(my_xts). Calls to lag(my_xts) that you type or #
## # source() into this session won't work correctly. #
## # #
## # Use stats::lag() to make sure you're not using dplyr::lag(), or you can add #
## # conflictRules('dplyr', exclude = 'lag') to your .Rprofile to stop #
## # dplyr from breaking base R's lag() function. #
## # #
## # Code in packages is not affected. It's protected by R's namespace mechanism #
## # Set `options(xts.warn_dplyr_breaks_lag = FALSE)` to suppress this warning. #
## # #
## ###############################################################################
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:xts':
##
## first, last
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
# Datos 5 años hasta 31/07/2025
tickers <- c("UNH","PG","KO")
getSymbols(c(tickers,"^GSPC"), src="yahoo", from="2020-07-31", to="2025-07-31", auto.assign = TRUE)
## [1] "UNH" "PG" "KO" "GSPC"
# Precios ajustados y retornos diarios
px_acc <- merge(Ad(UNH), Ad(PG), Ad(KO)); colnames(px_acc) <- tickers
ret_acc <- na.omit(ROC(px_acc, type="discrete"))
mkt_px <- Ad(GSPC)
mkt_ret <- na.omit(ROC(mkt_px, type="discrete"))
# Betas individuales (CAPM: ri = alpha + beta * rm)
betas_capm <- sapply(colnames(ret_acc), function(sym){
df <- na.omit(merge(ret_acc[,sym], mkt_ret))
colnames(df) <- c("ri","rm")
as.numeric(coef(lm(ri ~ rm, data = as.data.frame(df)))[2])
})
# Pesos del portafolio (USAR los del punto d de la parte 1).
w<-w_opt
# Beta del portafolio (dos formas coherentes)
# 1) Combinación de betas (lineal):
beta_port_linear <- sum(w * betas_capm)
# 2) Regresión del retorno del portafolio sobre el mercado (verificación):
ret_port <- xts(as.matrix(ret_acc) %*% matrix(w, ncol=1), order.by=index(ret_acc))
colnames(ret_port) <- "rp"
dfb <- na.omit(merge(ret_port, mkt_ret)); colnames(dfb) <- c("rp","rm")
beta_port_reg <- as.numeric(coef(lm(rp ~ rm, data = as.data.frame(dfb)))[2])
list(betas_acciones = betas_capm,
pesos_portafolio = w,
beta_portafolio_lineal = beta_port_linear,
beta_portafolio_regresion = beta_port_reg)
## $betas_acciones
## UNH PG KO
## 0.4605652 0.3533273 0.3818864
##
## $pesos_portafolio
## UNH PG KO
## 0.1143996 0.3043383 0.5812621
##
## $beta_portafolio_lineal
## [1] 0.3821956
##
## $beta_portafolio_regresion
## [1] 0.3821956
capital_inicial <- 10000000 #capital
Vp <- capital_inicial
# ====== 5) Precio del futuro y multiplicador ======
# Aproximación: F ≈ nivel del índice en la fecha de fijación (31/07/2025)
F0 <- as.numeric(last(mkt_px)) # ~ precio índice
Q <- 50 # E-mini S&P 500 multiplier (USD por punto)
# ====== 6) Contratos óptimos para cubrir el portafolio ======
Nc_opt <- round(beta_port_linear * Vp / (Q * F0))
list(beta_portafolio = beta_port_reg,
valor_portafolio = Vp,
indice_31jul2025 = F0,
multiplicador = Q,
contratos_optimos = Nc_opt)
## $beta_portafolio
## [1] 0.3821956
##
## $valor_portafolio
## [1] 1e+07
##
## $indice_31jul2025
## [1] 6362.9
##
## $multiplicador
## [1] 50
##
## $contratos_optimos
## [1] 12
library(dplyr)
library(zoo)
library(lubridate)
##
## Attaching package: 'lubridate'
## The following objects are masked from 'package:base':
##
## date, intersect, setdiff, union
library(tidyr)
F_series <- mkt_px %>% na.locf() # Serie continua del índice
quarters_tbl <- tibble(date = as.Date(index(F_series))) |>
mutate(yq = paste0(year(date), "Q", quarter(date))) |>
group_by(yq) |> slice(1) |> ungroup() |>
filter(date <= as.Date("2025-07-31"))
beta_p <- beta_port_reg
calc_beta_until <- function(cut_date) {
df_temp <- dfb[index(dfb) <= cut_date, ]
if (nrow(df_temp) < 100) return(beta_p)
as.numeric(coef(lm(rp ~ rm, data = as.data.frame(df_temp)))[2])
}
rebals <- quarters_tbl |>
mutate(
F0 = as.numeric(F_series[date]),
beta_q = sapply(date, calc_beta_until),
Nc = round(beta_q * capital_inicial / (Q * F0))
)
# Parámetros de márgenes
initial_margin_per_contract <- 12000 # Margen inicial
maintenance_margin_per_contract <- 11000 # Margen de mantenimiento
simulate_margin <- function(position = c("short", "long")) {
position <- match.arg(position)
sgn <- ifelse(position == "short", -1, 1)
df <- tibble(date = as.Date(index(F_series)), F = as.numeric(F_series)) |>
mutate(yq = paste0(year(date), "Q", quarter(date))) |>
left_join(
rebals |> mutate(yq = paste0(year(date), "Q", quarter(date))) |> select(yq, Nc),
by = "yq"
) |>
tidyr::fill(Nc, .direction = "down") |>
arrange(date) |>
mutate(
dF = F - dplyr::lag(F),
pnl_fut = sgn * Nc * Q * replace_na(dF, 0),
init_req = abs(Nc) * initial_margin_per_contract,
maint = abs(Nc) * maintenance_margin_per_contract
)
bal <- 0
calls <- numeric(nrow(df))
for (i in seq_len(nrow(df))) {
if (i == 1 || df$yq[i] != df$yq[i - 1]) bal <- df$init_req[i]
bal <- bal + df$pnl_fut[i]
if (bal < df$maint[i]) {
topup <- df$init_req[i] - bal
bal <- bal + topup
calls[i] <- topup
} else {
calls[i] <- 0
}
}
df$margin_call <- calls
df |>
group_by(yq) |>
summarise(
fecha_inicio = first(date),
Nc = first(Nc),
F_ini = first(F),
F_fin = last(F),
pnl_futuros = sum(pnl_fut, na.rm = TRUE),
margin_calls = sum(margin_call, na.rm = TRUE),
.groups = "drop"
)
}
# 6 Resultados de la simulación
res_short <- simulate_margin("short")
res_long <- simulate_margin("long")
list(
trimestral_short = res_short,
trimestral_long = res_long
)
## $trimestral_short
## # A tibble: 21 × 7
## yq fecha_inicio Nc F_ini F_fin pnl_futuros margin_calls
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 2020Q3 2020-07-31 23 3271. 3363 -105662. 356178.
## 2 2020Q4 2020-10-01 23 3381. 3756. -452031. 452031.
## 3 2021Q1 2021-01-04 38 3701. 3973. -411958. 404453.
## 4 2021Q2 2021-04-01 31 4020. 4298. -503146. 477106.
## 5 2021Q3 2021-07-01 28 4320. 4308. -14056. 335230.
## 6 2021Q4 2021-10-01 28 4357. 4766. -642096. 677110.
## 7 2022Q1 2022-01-03 24 4797. 4530. 282924. 36456.
## 8 2022Q2 2022-04-01 23 4546. 3785. 856785. 60064.
## 9 2022Q3 2022-07-01 27 3825. 3586. 269676. 701757.
## 10 2022Q4 2022-10-03 28 3678. 3840. -355432. 692286.
## # ℹ 11 more rows
##
## $trimestral_long
## # A tibble: 21 × 7
## yq fecha_inicio Nc F_ini F_fin pnl_futuros margin_calls
## <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 2020Q3 2020-07-31 23 3271. 3363 105662. 39330.
## 2 2020Q4 2020-10-01 23 3381. 3756. 452031. 105765.
## 3 2021Q1 2021-01-04 38 3701. 3973. 411958. 105298.
## 4 2021Q2 2021-04-01 31 4020. 4298. 503146. 0
## 5 2021Q3 2021-07-01 28 4320. 4308. 14056. 54614.
## 6 2021Q4 2021-10-01 28 4357. 4766. 642096. 0
## 7 2022Q1 2022-01-03 24 4797. 4530. -282924. 714576.
## 8 2022Q2 2022-04-01 23 4546. 3785. -856785. 993186.
## 9 2022Q3 2022-07-01 27 3825. 3586. -269676. 269676.
## 10 2022Q4 2022-10-03 28 3678. 3840. 355432. 0
## # ℹ 11 more rows
El roll-over trimestral no genera estabilidad: los retornos fueron volátiles y dependientes de la dirección del índice. El balance general es negativo, mostrando que mantener la posición sistemáticamente no resulta rentable. Ahora bien, si se deja todo en corto o largo, ninguno de los extremos resulta óptimo en este caso. La mejor gestión hubiera sido rotar según la tendencia o usar roll-over selectivo, manteniendo cobertura parcial para limitar margin calls y volatilidad.
rf_annual <- 0.0436 # colocar ^TNX del 31/07/2025
rf_daily <- (1 + rf_annual)^(1/252) - 1
expected_pnl <- function(position = c("short", "long")) {
position <- match.arg(position)
sgn <- ifelse(position == "short", -1, 1)
df <- tibble(
date = as.Date(index(F_series)),
F = as.numeric(F_series)
) |>
arrange(date) |>
mutate(yq = paste0(year(date), "Q", quarter(date))) |>
left_join(
rebals |>
mutate(yq = paste0(year(date), "Q", quarter(date))) |>
select(yq, Nc),
by = "yq"
) |>
tidyr::fill(Nc, .direction = "down") |>
mutate(
EdF = dplyr::lag(F) * rf_daily,
E_pnl = sgn * Nc * Q * ifelse(is.na(EdF), 0, EdF)
)
df |> group_by(yq) |>
summarise(
fecha_inicio = first(date),
Nc = first(Nc),
EV_pnl_trimestral = sum(E_pnl, na.rm = TRUE),
.groups = "drop"
)
}
# ===== Ejecución =====
EV_short <- expected_pnl("short")
EV_long <- expected_pnl("long")
list(
EV_trimestral_short = EV_short,
EV_trimestral_long = EV_long
)
## $EV_trimestral_short
## # A tibble: 21 × 4
## yq fecha_inicio Nc EV_pnl_trimestral
## <chr> <date> <dbl> <dbl>
## 1 2020Q3 2020-07-31 23 -27620.
## 2 2020Q4 2020-10-01 23 -44231.
## 3 2021Q1 2021-01-04 38 -75812.
## 4 2021Q2 2021-04-01 31 -69106.
## 5 2021Q3 2021-07-01 28 -67096.
## 6 2021Q4 2021-10-01 28 -69729.
## 7 2022Q1 2022-01-03 24 -56296.
## 8 2022Q2 2022-04-01 23 -49724.
## 9 2022Q3 2022-07-01 27 -58291.
## 10 2022Q4 2022-10-03 28 -57480.
## # ℹ 11 more rows
##
## $EV_trimestral_long
## # A tibble: 21 × 4
## yq fecha_inicio Nc EV_pnl_trimestral
## <chr> <date> <dbl> <dbl>
## 1 2020Q3 2020-07-31 23 27620.
## 2 2020Q4 2020-10-01 23 44231.
## 3 2021Q1 2021-01-04 38 75812.
## 4 2021Q2 2021-04-01 31 69106.
## 5 2021Q3 2021-07-01 28 67096.
## 6 2021Q4 2021-10-01 28 69729.
## 7 2022Q1 2022-01-03 24 56296.
## 8 2022Q2 2022-04-01 23 49724.
## 9 2022Q3 2022-07-01 27 58291.
## 10 2022Q4 2022-10-03 28 57480.
## # ℹ 11 more rows
De acuerdo con los datos, los valores trimestrales de la cobertura (EV_pnl_trimestral) oscilan entre 27 620 USD y 75 811 USD durante 2020–2022, y muestran una tendencia decreciente en el horizonte 2023–2025, donde descienden hasta 13 416 USD en el último trimestre observado (2025Q3). Este comportamiento sugiere una reducción progresiva en la eficiencia de la cobertura, posiblemente atribuida a una menor exposición del portafolio (Nc pasando de 38 a 12 contratos).Al descontar los flujos trimestrales observados, el valor esperado ajustado al riesgo del portafolio se ubica alrededor de 54 000 USD, lo cual representa el rendimiento promedio que el portafolio habría mantenido en condiciones de equilibrio con la tasa libre de riesgo. Esto muestra que, aunque la cobertura mantiene un rendimiento positivo, su desempeño real se aproxima al nivel de la rentabilidad sin riesgo hacia los últimos trimestres, indicando una eficiencia decreciente de la cobertura.En resumen, el valor esperado refleja la capacidad del portafolio para generar retornos consistentes frente a la volatilidad del mercado, manteniéndose marginalmente por encima de la referencia de la tasa libre de riesgo. Sin embargo, la caída a partir de 2024Q1 denota un agotamiento progresivo del poder de cobertura, probablemente asociado a la menor magnitud de posiciones (Nc) y a condiciones de mercado menos favorables para la estrategia. Por lo tanto, se concluye que el valor esperado de la cobertura trimestral, descontado por la tasa libre de riesgo, evidencia una tendencia hacia la neutralidad, lo cual es consistente con una política de cobertura madura pero cada vez menos rentable en términos marginales.
# --- Función para recalcular rebalanceos con un beta fijo ---
recalc_rebals <- function(beta_fix) {
quarters_tbl |>
mutate(
F0 = as.numeric(F_series[date]),
beta_q = beta_fix,
Nc = round(beta_q * capital_inicial / (Q * F0))
)
}
# --- Simular resultados con el nuevo beta ---
simulate_with <- function(rebals_new, position = c("short", "long")) {
position <- match.arg(position)
sgn <- ifelse(position == "short", -1, 1)
tibble(
date = as.Date(index(F_series)),
F = as.numeric(F_series)
) |>
arrange(date) |>
mutate(yq = paste0(year(date), "Q", quarter(date))) |>
left_join(
rebals_new |>
mutate(yq = paste0(year(date), "Q", quarter(date))) |>
select(yq, Nc),
by = "yq"
) |>
tidyr::fill(Nc, .direction = "down") |>
mutate(
dF = F - dplyr::lag(F),
pnl_fut = sgn * Nc * Q * ifelse(is.na(dF), 0, dF)
) |>
group_by(yq) |>
summarise(
Nc = first(Nc),
F_ini = first(F),
F_fin = last(F),
pnl_futuros = sum(pnl_fut, na.rm = TRUE),
.groups = "drop"
)
}
# --- Ejecución con betas alternativos ---
betas_alt <- c(0.8, 1.5)
out <- lapply(betas_alt, function(b) {
rb <- recalc_rebals(b)
list(
beta = b,
short = simulate_with(rb, "short"),
long = simulate_with(rb, "long")
)
})
out
## [[1]]
## [[1]]$beta
## [1] 0.8
##
## [[1]]$short
## # A tibble: 21 × 5
## yq Nc F_ini F_fin pnl_futuros
## <chr> <dbl> <dbl> <dbl> <dbl>
## 1 2020Q3 49 3271. 3363 -225106.
## 2 2020Q4 47 3381. 3756. -923715.
## 3 2021Q1 43 3701. 3973. -466163.
## 4 2021Q2 40 4020. 4298. -649220.
## 5 2021Q3 37 4320. 4308. -18574.
## 6 2021Q4 37 4357. 4766. -848484.
## 7 2022Q1 33 4797. 4530. 389021.
## 8 2022Q2 35 4546. 3785. 1303803.
## 9 2022Q3 42 3825. 3586. 419496.
## 10 2022Q4 43 3678. 3840. -545842.
## # ℹ 11 more rows
##
## [[1]]$long
## # A tibble: 21 × 5
## yq Nc F_ini F_fin pnl_futuros
## <chr> <dbl> <dbl> <dbl> <dbl>
## 1 2020Q3 49 3271. 3363 225106.
## 2 2020Q4 47 3381. 3756. 923715.
## 3 2021Q1 43 3701. 3973. 466163.
## 4 2021Q2 40 4020. 4298. 649220.
## 5 2021Q3 37 4320. 4308. 18574.
## 6 2021Q4 37 4357. 4766. 848484.
## 7 2022Q1 33 4797. 4530. -389021.
## 8 2022Q2 35 4546. 3785. -1303803.
## 9 2022Q3 42 3825. 3586. -419496.
## 10 2022Q4 43 3678. 3840. 545842.
## # ℹ 11 more rows
##
##
## [[2]]
## [[2]]$beta
## [1] 1.5
##
## [[2]]$short
## # A tibble: 21 × 5
## yq Nc F_ini F_fin pnl_futuros
## <chr> <dbl> <dbl> <dbl> <dbl>
## 1 2020Q3 92 3271. 3363 -422647.
## 2 2020Q4 89 3381. 3756. -1749162.
## 3 2021Q1 81 3701. 3973. -878120.
## 4 2021Q2 75 4020. 4298. -1217288.
## 5 2021Q3 69 4320. 4308. -34638.
## 6 2021Q4 69 4357. 4766. -1582308.
## 7 2022Q1 63 4797. 4530. 742676.
## 8 2022Q2 66 4546. 3785. 2458600.
## 9 2022Q3 78 3825. 3586. 779063.
## 10 2022Q4 82 3678. 3840. -1040908.
## # ℹ 11 more rows
##
## [[2]]$long
## # A tibble: 21 × 5
## yq Nc F_ini F_fin pnl_futuros
## <chr> <dbl> <dbl> <dbl> <dbl>
## 1 2020Q3 92 3271. 3363 422647.
## 2 2020Q4 89 3381. 3756. 1749162.
## 3 2021Q1 81 3701. 3973. 878120.
## 4 2021Q2 75 4020. 4298. 1217288.
## 5 2021Q3 69 4320. 4308. 34638.
## 6 2021Q4 69 4357. 4766. 1582308.
## 7 2022Q1 63 4797. 4530. -742676.
## 8 2022Q2 66 4546. 3785. -2458600.
## 9 2022Q3 78 3825. 3586. -779063.
## 10 2022Q4 82 3678. 3840. 1040908.
## # ℹ 11 more rows
La cobertura con β = 0.8 Representa una estrategia de cobertura más conservadora. La empresa cubre menos del total de su exposición al riesgo, priorizando la estabilidad sobre el rendimiento. Es ideal cuando se busca reducir la volatilidad sin eliminar completamente el riesgo. Los resultados son más estables, aunque la efectividad de la cobertura disminuye ligeramente ante movimientos fuertes del subyacente. Mientras que la cobertura con β = 1.5 implica una sobrerreacción ante los movimientos del subyacente. Se busca eliminar totalmente el riesgo, pero esto expone a mayores pérdidas o ganancias si el precio se mueve de forma adversa. En contextos de alta volatilidad o incertidumbre, puede generar resultados muy variables, como se evidencia en el PnL más disperso. En resumen, el cambio de β modifica directamente la sensibilidad del portafolio frente al activo subyacente, alterando la cantidad de contratos requeridos y la magnitud del resultado de cobertura. Con β = 0.8, se necesitan menos contratos y la cobertura es más moderada y estable. Con β = 1.5, se incrementa significativamente el número de contratos y la cobertura se vuelve más agresiva, amplificando los resultados tanto positivos como negativos.En conclusión, la elección del β refleja la tolerancia al riesgo de la empresa: un β menor protege parcialmente con menor volatilidad, mientras que un β mayor busca neutralizar el riesgo completamente pero a costa de una mayor exposición financiera. ##Punto 2
# Instalación y carga de librerías necesarias
library(quantmod)
library(dplyr)
library(ggplot2)
library(lubridate)
library(readxl)
library(dplyr)
library(lubridate)
library(readr)
library(ggplot2)
library(dplyr)
library(ggplot2)
# Descarga de la TRM (USD/COP) desde Yahoo Finance
# El símbolo 'USDCOP=X' entrega la tasa de cambio diaria del dólar frente al peso colombiano
getSymbols("USDCOP=X", src = "yahoo", from = "2015-01-01", to = Sys.Date())
## Warning: USDCOP=X contains missing values. Some functions will not work if
## objects contain missing values in the middle of the series. Consider using
## na.omit(), na.approx(), na.fill(), etc to remove or replace them.
## [1] "USDCOP=X"
# Visualizar estructura de los datos
head(`USDCOP=X`)
## USDCOP=X.Open USDCOP=X.High USDCOP=X.Low USDCOP=X.Close
## 2015-01-01 2345.2 2345.2 2345.2 2345.2
## 2015-01-02 2351.3 2375.0 2346.9 2375.0
## 2015-01-05 2365.2 2430.0 2335.4 2430.0
## 2015-01-06 2328.6 2455.0 2328.6 2448.0
## 2015-01-07 2393.5 2441.6 2393.5 2428.0
## 2015-01-08 2404.1 2404.1 2389.0 2389.0
## USDCOP=X.Volume USDCOP=X.Adjusted
## 2015-01-01 0 2345.2
## 2015-01-02 0 2375.0
## 2015-01-05 0 2430.0
## 2015-01-06 0 2448.0
## 2015-01-07 0 2428.0
## 2015-01-08 0 2389.0
# Graficar la serie histórica de la TRM
chartSeries(`USDCOP=X`,
theme = chartTheme("white"),
name = "Tasa Representativa del Mercado (USD/COP)",
type = "line")
# Extraer solo los precios de cierre
trm <- Cl(`USDCOP=X`)
# Convertir la serie a frecuencia mensual (último valor de cada mes)
trm_mensual <- to.monthly(trm, indexAt = "lastof", OHLC = FALSE)
## Warning in to.period(x, "months", indexAt = indexAt, name = name, ...): missing
## values removed from data
# Calcular retornos logarítmicos mensuales
retornos_trm <- diff(log(trm_mensual)) * 100 # en porcentaje
# Renombrar la serie
colnames(retornos_trm) <- c("Retorno_Mensual")
# Mostrar las primeras observaciones
head(retornos_trm, 10)
## Retorno_Mensual
## 2015-01-31 NA
## 2015-02-28 4.758596
## 2015-03-31 3.196169
## 2015-04-30 -7.455617
## 2015-05-31 6.165781
## 2015-06-30 3.782774
## 2015-07-31 8.666409
## 2015-08-31 4.466317
## 2015-09-30 1.663548
## 2015-10-31 -5.748516
# Calcular estadísticos descriptivos
media_retornos <- mean(retornos_trm, na.rm = TRUE)
desv_estandar <- sd(retornos_trm, na.rm = TRUE)
# Mostrar resultados
media_retornos
## [1] 0.3737117
desv_estandar
## [1] 3.987014
set.seed(1234)
options(scipen = 999)
# Parámetros desde datos reales
s0 <- as.numeric(last(trm_mensual)) # TRM inicial
mu <- mean(retornos_trm, na.rm = TRUE) / 100 # retorno promedio mensual
sigma <- sd(retornos_trm, na.rm = TRUE) / 100
N <- 1000 # número de simulaciones
T <- 120 # meses (10 años)
# Matriz de simulaciones
mb <- matrix(nrow = T, ncol = N)
mb[1, ] <- s0
# Simulación BMG mensual
for ( i in 1: N ) {
for ( t in 2: T ) {
mb [t , i ]= mb [( t -1) ,i ] * exp (( mu -(0.5 * ( sigma ^2) ) ) * (1 / 360) +
sigma * (1 / (360) ^(1 / 2) ) * qnorm ( runif (1 , min = 0 , max = 1) ) )
}
}
matplot (mb , type ="l")
q1 = quantile ( mb [T ,] , 0.975)
q2 = quantile ( mb [T ,] , 0.025)
plot ( density ( mb [T ,]) , ylab ="", xlab ="",
main =" Empirical ␣ distribution ", lwd = 3)
abline (h = NULL , v =q1 , col = " blue ", lwd = 2)
abline (h = NULL , v =q2 , col = " green ", lwd = 2)
Para simular el préstamo en dólares destinado a maquinaria pesada, adoptamos una tasa nominal anual del 8%. Este valor se fundamenta en: (i) La WSJ Prime Rate vigente de 7.25%, que suele ser la base de muchos créditos comerciales en EE. UU.; los préstamos de equipos se cotizan típicamente como Prime + spread según perfil de riesgo y colateral, por lo que un recargo de ~0.5–1.0 pp es razonable, ubicando la tasa cercana al 8%; (ii) Como piso de referencia para activos fijos, el programa SBA 504 publica tasas fijas históricas en el rango ~6.0%–6.7% durante 2025 (menores por ser parcialmente garantizados); (iii) El bono del Tesoro a 10 años (proxy de tasa libre de riesgo) se ha ubicado alrededor de ~4% en 2025, coherente con un spread de riesgo empresarial y operativo sobre el activo financiado. Con estas referencias, la tasa del 8% resulta prudente y defendible para un equipment loan a 10 años en el mercado estadounidense
# Supuesto de tasa nominal anual en USD para el crédito de maquinaria
tasa_anual_usd <- 0.08 # 8%
plazo_anios <- 10
pago_inicial <- 0.10 # 10%
tasa_mensual_usd <- (1 + tasa_anual_usd)^(1/12) - 1
tasa_mensual_usd
## [1] 0.00643403
# Parámetros del crédito
credito_cop <- 300000000 # Valor total en COP
pago_inicial <- 0.10 # 10% pago inicial
credito_usd <- (credito_cop * (1 - pago_inicial)) / s0 # Monto financiado en USD
# Tasa: 8% nominal anual -> efectiva mensual
tasa_mensual <- (1 + 0.08)^(1/12) - 1 # ≈ 0.006434...
n <- 120 # 10 años * 12 meses
# Cuota fija en USD con sistema francés
cuota_usd <- credito_usd * (tasa_mensual * (1 + tasa_mensual)^n) /
((1 + tasa_mensual)^n - 1)
# Tabla de amortización (saldo al inicio, interés, amortización, saldo final)
saldo <- credito_usd
tabla <- data.frame(
Mes = integer(),
Saldo_Inicial = numeric(),
Interes = numeric(),
Cuota = numeric(),
Amortizacion = numeric(),
Saldo_Final = numeric()
)
for (t in 1:n) {
saldo_inicial <- saldo
interes <- saldo_inicial * tasa_mensual
amortizacion <- cuota_usd - interes
saldo_final <- saldo_inicial - amortizacion
# ajuste pequeño por redondeos al final
if (t == n && saldo_final < 1e-6) saldo_final <- 0
tabla <- rbind(
tabla,
data.frame(
Mes = t,
Saldo_Inicial = saldo_inicial,
Interes = interes,
Cuota = cuota_usd,
Amortizacion = amortizacion,
Saldo_Final = saldo_final
)
)
saldo <- saldo_final
}
# Vista rápida
print(tabla)
## Mes Saldo_Inicial Interes Cuota Amortizacion Saldo_Final
## 1 1 70107.6547 451.074761 840.293 389.2183 69718.4365
## 2 2 69718.4365 448.570520 840.293 391.7225 69326.7140
## 3 3 69326.7140 446.050165 840.293 394.2428 68932.4711
## 4 4 68932.4711 443.513595 840.293 396.7794 68535.6917
## 5 5 68535.6917 440.960704 840.293 399.3323 68136.3594
## 6 6 68136.3594 438.391388 840.293 401.9016 67734.4578
## 7 7 67734.4578 435.805541 840.293 404.4875 67329.9703
## 8 8 67329.9703 433.203056 840.293 407.0900 66922.8804
## 9 9 66922.8804 430.583827 840.293 409.7092 66513.1712
## 10 10 66513.1712 427.947746 840.293 412.3453 66100.8259
## 11 11 66100.8259 425.294704 840.293 414.9983 65685.8276
## 12 12 65685.8276 422.624593 840.293 417.6684 65268.1592
## 13 13 65268.1592 419.937301 840.293 420.3557 64847.8035
## 14 14 64847.8035 417.232720 840.293 423.0603 64424.7432
## 15 15 64424.7432 414.510737 840.293 425.7823 63998.9609
## 16 16 63998.9609 411.771241 840.293 428.5218 63570.4391
## 17 17 63570.4391 409.014119 840.293 431.2789 63139.1602
## 18 18 63139.1602 406.239258 840.293 434.0538 62705.1065
## 19 19 62705.1065 403.446543 840.293 436.8465 62268.2600
## 20 20 62268.2600 400.635860 840.293 439.6572 61828.6028
## 21 21 61828.6028 397.807092 840.293 442.4859 61386.1169
## 22 22 61386.1169 394.960125 840.293 445.3329 60940.7840
## 23 23 60940.7840 392.094839 840.293 448.1982 60492.5859
## 24 24 60492.5859 389.211119 840.293 451.0819 60041.5040
## 25 25 60041.5040 386.308844 840.293 453.9842 59587.5198
## 26 26 59587.5198 383.387897 840.293 456.9051 59130.6147
## 27 27 59130.6147 380.448155 840.293 459.8449 58670.7698
## 28 28 58670.7698 377.489500 840.293 462.8035 58207.9663
## 29 29 58207.9663 374.511808 840.293 465.7812 57742.1851
## 30 30 57742.1851 371.514958 840.293 468.7781 57273.4070
## 31 31 57273.4070 368.498825 840.293 471.7942 56801.6129
## 32 32 56801.6129 365.463287 840.293 474.8297 56326.7831
## 33 33 56326.7831 362.408219 840.293 477.8848 55848.8983
## 34 34 55848.8983 359.333494 840.293 480.9595 55367.9388
## 35 35 55367.9388 356.238985 840.293 484.0540 54883.8848
## 36 36 54883.8848 353.124567 840.293 487.1684 54396.7163
## 37 37 54396.7163 349.990111 840.293 490.3029 53906.4134
## 38 38 53906.4134 346.835487 840.293 493.4575 53412.9559
## 39 39 53412.9559 343.660567 840.293 496.6324 52916.3235
## 40 40 52916.3235 340.465219 840.293 499.8278 52416.4957
## 41 41 52416.4957 337.249311 840.293 503.0437 51913.4520
## 42 42 51913.4520 334.012713 840.293 506.2803 51407.1717
## 43 43 51407.1717 330.755290 840.293 509.5377 50897.6340
## 44 44 50897.6340 327.476909 840.293 512.8161 50384.8178
## 45 45 50384.8178 324.177435 840.293 516.1156 49868.7023
## 46 46 49868.7023 320.856732 840.293 519.4363 49349.2660
## 47 47 49349.2660 317.514663 840.293 522.7784 48826.4876
## 48 48 48826.4876 314.151092 840.293 526.1419 48300.3457
## 49 49 48300.3457 310.765879 840.293 529.5271 47770.8186
## 50 50 47770.8186 307.358885 840.293 532.9341 47237.8845
## 51 51 47237.8845 303.929971 840.293 536.3630 46701.5214
## 52 52 46701.5214 300.478995 840.293 539.8140 46161.7074
## 53 53 46161.7074 297.005815 840.293 543.2872 45618.4202
## 54 54 45618.4202 293.510289 840.293 546.7827 45071.6375
## 55 55 45071.6375 289.992273 840.293 550.3007 44521.3367
## 56 56 44521.3367 286.451621 840.293 553.8414 43967.4953
## 57 57 43967.4953 282.888189 840.293 557.4048 43410.0905
## 58 58 43410.0905 279.301829 840.293 560.9912 42849.0993
## 59 59 42849.0993 275.692395 840.293 564.6006 42284.4987
## 60 60 42284.4987 272.059738 840.293 568.2333 41716.2654
## 61 61 41716.2654 268.403708 840.293 571.8893 41144.3761
## 62 62 41144.3761 264.724155 840.293 575.5689 40568.8073
## 63 63 40568.8073 261.020928 840.293 579.2721 39989.5352
## 64 64 39989.5352 257.293873 840.293 582.9991 39406.5360
## 65 65 39406.5360 253.542839 840.293 586.7502 38819.7859
## 66 66 38819.7859 249.767671 840.293 590.5253 38229.2605
## 67 67 38229.2605 245.968213 840.293 594.3248 37634.9357
## 68 68 37634.9357 242.144310 840.293 598.1487 37036.7870
## 69 69 37036.7870 238.295803 840.293 601.9972 36434.7898
## 70 70 36434.7898 234.422535 840.293 605.8705 35828.9193
## 71 71 35828.9193 230.524346 840.293 609.7687 35219.1507
## 72 72 35219.1507 226.601076 840.293 613.6919 34605.4587
## 73 73 34605.4587 222.652563 840.293 617.6404 33987.8183
## 74 74 33987.8183 218.678646 840.293 621.6144 33366.2039
## 75 75 33366.2039 214.679161 840.293 625.6139 32740.5901
## 76 76 32740.5901 210.653942 840.293 629.6391 32110.9510
## 77 77 32110.9510 206.602826 840.293 633.6902 31477.2608
## 78 78 31477.2608 202.525644 840.293 637.7674 30839.4934
## 79 79 30839.4934 198.422229 840.293 641.8708 30197.6226
## 80 80 30197.6226 194.292413 840.293 646.0006 29551.6220
## 81 81 29551.6220 190.136026 840.293 650.1570 28901.4651
## 82 82 28901.4651 185.952896 840.293 654.3401 28247.1249
## 83 83 28247.1249 181.742852 840.293 658.5502 27588.5748
## 84 84 27588.5748 177.505721 840.293 662.7873 26925.7875
## 85 85 26925.7875 173.241327 840.293 667.0517 26258.7358
## 86 86 26258.7358 168.949497 840.293 671.3435 25587.3923
## 87 87 25587.3923 164.630052 840.293 675.6630 24911.7293
## 88 88 24911.7293 160.282817 840.293 680.0102 24231.7191
## 89 89 24231.7191 155.907611 840.293 684.3854 23547.3337
## 90 90 23547.3337 151.504254 840.293 688.7888 22858.5450
## 91 91 22858.5450 147.072567 840.293 693.2204 22165.3245
## 92 92 22165.3245 142.612365 840.293 697.6806 21467.6439
## 93 93 21467.6439 138.123467 840.293 702.1695 20765.4743
## 94 94 20765.4743 133.605687 840.293 706.6873 20058.7870
## 95 95 20058.7870 129.058840 840.293 711.2342 19347.5528
## 96 96 19347.5528 124.482737 840.293 715.8103 18631.7426
## 97 97 18631.7426 119.877193 840.293 720.4158 17911.3267
## 98 98 17911.3267 115.242015 840.293 725.0510 17186.2757
## 99 99 17186.2757 110.577016 840.293 729.7160 16456.5597
## 100 100 16456.5597 105.882001 840.293 734.4110 15722.1487
## 101 101 15722.1487 101.156778 840.293 739.1362 14983.0125
## 102 102 14983.0125 96.401153 840.293 743.8919 14239.1206
## 103 103 14239.1206 91.614931 840.293 748.6781 13490.4425
## 104 104 13490.4425 86.797914 840.293 753.4951 12736.9474
## 105 105 12736.9474 81.949903 840.293 758.3431 11978.6043
## 106 106 11978.6043 77.070701 840.293 763.2223 11215.3820
## 107 107 11215.3820 72.160106 840.293 768.1329 10447.2491
## 108 108 10447.2491 67.217915 840.293 773.0751 9674.1740
## 109 109 9674.1740 62.243927 840.293 778.0491 8896.1249
## 110 110 8896.1249 57.237936 840.293 783.0551 8113.0699
## 111 111 8113.0699 52.199736 840.293 788.0933 7324.9766
## 112 112 7324.9766 47.129120 840.293 793.1639 6531.8127
## 113 113 6531.8127 42.025879 840.293 798.2671 5733.5455
## 114 114 5733.5455 36.889805 840.293 803.4032 4930.1423
## 115 115 4930.1423 31.720684 840.293 808.5723 4121.5700
## 116 116 4121.5700 26.518306 840.293 813.7747 3307.7953
## 117 117 3307.7953 21.282455 840.293 819.0106 2488.7847
## 118 118 2488.7847 16.012916 840.293 824.2801 1664.5046
## 119 119 1664.5046 10.709473 840.293 829.5835 834.9211
## 120 120 834.9211 5.371908 840.293 834.9211 0.0000
finales <- mb[nrow(mb), ]
# Identificar las trayectorias
idx_larga <- which.max(finales) # TRM más alta al final (devaluación más fuerte)
idx_corta <- which.min(finales) # TRM más baja al final (apreciación del COP)
idx_media <- order(finales)[length(finales) %/% 2] # TRM intermedia
# Extraer las trayectorias
trm_larga <- mb[, idx_larga]
trm_corta <- mb[, idx_corta]
trm_media <- mb[, idx_media]
convertir_a_cop <- function(trm_vec, tabla_usd) {
stopifnot(length(trm_vec) == nrow(tabla_usd))
out <- tabla_usd
# Si tu tabla tiene estas columnas (como la que armamos recién):
out$Saldo_Inicial_COP <- out$Saldo_Inicial * trm_vec
out$Interes_COP <- out$Interes * trm_vec
out$Cuota_COP <- out$Cuota * trm_vec
out$Amortizacion_COP <- out$Amortizacion * trm_vec
out$Saldo_Final_COP <- out$Saldo_Final * trm_vec
out
}
#MAXIMA
tabla_cop_larga <- convertir_a_cop(trm_larga, tabla)
head(tabla_cop_larga, 120)
## Mes Saldo_Inicial Interes Cuota Amortizacion Saldo_Final
## 1 1 70107.6547 451.074761 840.293 389.2183 69718.4365
## 2 2 69718.4365 448.570520 840.293 391.7225 69326.7140
## 3 3 69326.7140 446.050165 840.293 394.2428 68932.4711
## 4 4 68932.4711 443.513595 840.293 396.7794 68535.6917
## 5 5 68535.6917 440.960704 840.293 399.3323 68136.3594
## 6 6 68136.3594 438.391388 840.293 401.9016 67734.4578
## 7 7 67734.4578 435.805541 840.293 404.4875 67329.9703
## 8 8 67329.9703 433.203056 840.293 407.0900 66922.8804
## 9 9 66922.8804 430.583827 840.293 409.7092 66513.1712
## 10 10 66513.1712 427.947746 840.293 412.3453 66100.8259
## 11 11 66100.8259 425.294704 840.293 414.9983 65685.8276
## 12 12 65685.8276 422.624593 840.293 417.6684 65268.1592
## 13 13 65268.1592 419.937301 840.293 420.3557 64847.8035
## 14 14 64847.8035 417.232720 840.293 423.0603 64424.7432
## 15 15 64424.7432 414.510737 840.293 425.7823 63998.9609
## 16 16 63998.9609 411.771241 840.293 428.5218 63570.4391
## 17 17 63570.4391 409.014119 840.293 431.2789 63139.1602
## 18 18 63139.1602 406.239258 840.293 434.0538 62705.1065
## 19 19 62705.1065 403.446543 840.293 436.8465 62268.2600
## 20 20 62268.2600 400.635860 840.293 439.6572 61828.6028
## 21 21 61828.6028 397.807092 840.293 442.4859 61386.1169
## 22 22 61386.1169 394.960125 840.293 445.3329 60940.7840
## 23 23 60940.7840 392.094839 840.293 448.1982 60492.5859
## 24 24 60492.5859 389.211119 840.293 451.0819 60041.5040
## 25 25 60041.5040 386.308844 840.293 453.9842 59587.5198
## 26 26 59587.5198 383.387897 840.293 456.9051 59130.6147
## 27 27 59130.6147 380.448155 840.293 459.8449 58670.7698
## 28 28 58670.7698 377.489500 840.293 462.8035 58207.9663
## 29 29 58207.9663 374.511808 840.293 465.7812 57742.1851
## 30 30 57742.1851 371.514958 840.293 468.7781 57273.4070
## 31 31 57273.4070 368.498825 840.293 471.7942 56801.6129
## 32 32 56801.6129 365.463287 840.293 474.8297 56326.7831
## 33 33 56326.7831 362.408219 840.293 477.8848 55848.8983
## 34 34 55848.8983 359.333494 840.293 480.9595 55367.9388
## 35 35 55367.9388 356.238985 840.293 484.0540 54883.8848
## 36 36 54883.8848 353.124567 840.293 487.1684 54396.7163
## 37 37 54396.7163 349.990111 840.293 490.3029 53906.4134
## 38 38 53906.4134 346.835487 840.293 493.4575 53412.9559
## 39 39 53412.9559 343.660567 840.293 496.6324 52916.3235
## 40 40 52916.3235 340.465219 840.293 499.8278 52416.4957
## 41 41 52416.4957 337.249311 840.293 503.0437 51913.4520
## 42 42 51913.4520 334.012713 840.293 506.2803 51407.1717
## 43 43 51407.1717 330.755290 840.293 509.5377 50897.6340
## 44 44 50897.6340 327.476909 840.293 512.8161 50384.8178
## 45 45 50384.8178 324.177435 840.293 516.1156 49868.7023
## 46 46 49868.7023 320.856732 840.293 519.4363 49349.2660
## 47 47 49349.2660 317.514663 840.293 522.7784 48826.4876
## 48 48 48826.4876 314.151092 840.293 526.1419 48300.3457
## 49 49 48300.3457 310.765879 840.293 529.5271 47770.8186
## 50 50 47770.8186 307.358885 840.293 532.9341 47237.8845
## 51 51 47237.8845 303.929971 840.293 536.3630 46701.5214
## 52 52 46701.5214 300.478995 840.293 539.8140 46161.7074
## 53 53 46161.7074 297.005815 840.293 543.2872 45618.4202
## 54 54 45618.4202 293.510289 840.293 546.7827 45071.6375
## 55 55 45071.6375 289.992273 840.293 550.3007 44521.3367
## 56 56 44521.3367 286.451621 840.293 553.8414 43967.4953
## 57 57 43967.4953 282.888189 840.293 557.4048 43410.0905
## 58 58 43410.0905 279.301829 840.293 560.9912 42849.0993
## 59 59 42849.0993 275.692395 840.293 564.6006 42284.4987
## 60 60 42284.4987 272.059738 840.293 568.2333 41716.2654
## 61 61 41716.2654 268.403708 840.293 571.8893 41144.3761
## 62 62 41144.3761 264.724155 840.293 575.5689 40568.8073
## 63 63 40568.8073 261.020928 840.293 579.2721 39989.5352
## 64 64 39989.5352 257.293873 840.293 582.9991 39406.5360
## 65 65 39406.5360 253.542839 840.293 586.7502 38819.7859
## 66 66 38819.7859 249.767671 840.293 590.5253 38229.2605
## 67 67 38229.2605 245.968213 840.293 594.3248 37634.9357
## 68 68 37634.9357 242.144310 840.293 598.1487 37036.7870
## 69 69 37036.7870 238.295803 840.293 601.9972 36434.7898
## 70 70 36434.7898 234.422535 840.293 605.8705 35828.9193
## 71 71 35828.9193 230.524346 840.293 609.7687 35219.1507
## 72 72 35219.1507 226.601076 840.293 613.6919 34605.4587
## 73 73 34605.4587 222.652563 840.293 617.6404 33987.8183
## 74 74 33987.8183 218.678646 840.293 621.6144 33366.2039
## 75 75 33366.2039 214.679161 840.293 625.6139 32740.5901
## 76 76 32740.5901 210.653942 840.293 629.6391 32110.9510
## 77 77 32110.9510 206.602826 840.293 633.6902 31477.2608
## 78 78 31477.2608 202.525644 840.293 637.7674 30839.4934
## 79 79 30839.4934 198.422229 840.293 641.8708 30197.6226
## 80 80 30197.6226 194.292413 840.293 646.0006 29551.6220
## 81 81 29551.6220 190.136026 840.293 650.1570 28901.4651
## 82 82 28901.4651 185.952896 840.293 654.3401 28247.1249
## 83 83 28247.1249 181.742852 840.293 658.5502 27588.5748
## 84 84 27588.5748 177.505721 840.293 662.7873 26925.7875
## 85 85 26925.7875 173.241327 840.293 667.0517 26258.7358
## 86 86 26258.7358 168.949497 840.293 671.3435 25587.3923
## 87 87 25587.3923 164.630052 840.293 675.6630 24911.7293
## 88 88 24911.7293 160.282817 840.293 680.0102 24231.7191
## 89 89 24231.7191 155.907611 840.293 684.3854 23547.3337
## 90 90 23547.3337 151.504254 840.293 688.7888 22858.5450
## 91 91 22858.5450 147.072567 840.293 693.2204 22165.3245
## 92 92 22165.3245 142.612365 840.293 697.6806 21467.6439
## 93 93 21467.6439 138.123467 840.293 702.1695 20765.4743
## 94 94 20765.4743 133.605687 840.293 706.6873 20058.7870
## 95 95 20058.7870 129.058840 840.293 711.2342 19347.5528
## 96 96 19347.5528 124.482737 840.293 715.8103 18631.7426
## 97 97 18631.7426 119.877193 840.293 720.4158 17911.3267
## 98 98 17911.3267 115.242015 840.293 725.0510 17186.2757
## 99 99 17186.2757 110.577016 840.293 729.7160 16456.5597
## 100 100 16456.5597 105.882001 840.293 734.4110 15722.1487
## 101 101 15722.1487 101.156778 840.293 739.1362 14983.0125
## 102 102 14983.0125 96.401153 840.293 743.8919 14239.1206
## 103 103 14239.1206 91.614931 840.293 748.6781 13490.4425
## 104 104 13490.4425 86.797914 840.293 753.4951 12736.9474
## 105 105 12736.9474 81.949903 840.293 758.3431 11978.6043
## 106 106 11978.6043 77.070701 840.293 763.2223 11215.3820
## 107 107 11215.3820 72.160106 840.293 768.1329 10447.2491
## 108 108 10447.2491 67.217915 840.293 773.0751 9674.1740
## 109 109 9674.1740 62.243927 840.293 778.0491 8896.1249
## 110 110 8896.1249 57.237936 840.293 783.0551 8113.0699
## 111 111 8113.0699 52.199736 840.293 788.0933 7324.9766
## 112 112 7324.9766 47.129120 840.293 793.1639 6531.8127
## 113 113 6531.8127 42.025879 840.293 798.2671 5733.5455
## 114 114 5733.5455 36.889805 840.293 803.4032 4930.1423
## 115 115 4930.1423 31.720684 840.293 808.5723 4121.5700
## 116 116 4121.5700 26.518306 840.293 813.7747 3307.7953
## 117 117 3307.7953 21.282455 840.293 819.0106 2488.7847
## 118 118 2488.7847 16.012916 840.293 824.2801 1664.5046
## 119 119 1664.5046 10.709473 840.293 829.5835 834.9211
## 120 120 834.9211 5.371908 840.293 834.9211 0.0000
## Saldo_Inicial_COP Interes_COP Cuota_COP Amortizacion_COP Saldo_Final_COP
## 1 270000000 1737188.13 3236153 1498965 268501035
## 2 269094663 1731363.17 3243308 1511945 267582719
## 3 267168724 1718971.61 3238290 1519318 265649405
## 4 265534054 1708454.10 3236884 1528430 264005625
## 5 263751435 1696984.67 3233767 1536783 262214652
## 6 262761917 1690618.08 3240517 1549899 261212018
## 7 262253421 1687346.41 3253436 1566090 260687331
## 8 259678989 1670782.43 3240852 1570069 258108920
## 9 258229251 1661454.78 3242362 1580908 256648344
## 10 257701845 1658061.43 3255672 1597610 256104234
## 11 256512895 1650411.69 3260867 1610455 254902440
## 12 254843568 1639671.19 3260114 1620443 253223125
## 13 253707151 1632359.45 3266345 1633986 252073165
## 14 251949021 1621047.59 3264737 1643689 250305332
## 15 251094786 1615551.41 3275034 1659482 249435304
## 16 249282569 1603891.55 3273028 1669137 247613432
## 17 248385350 1598118.82 3283232 1685113 246700238
## 18 246452224 1585681.03 3279931 1694250 244757974
## 19 244415591 1572577.27 3275343 1702765 242712826
## 20 242992878 1563423.49 3279122 1715698 241277180
## 21 241055460 1550958.09 3276109 1725151 239330310
## 22 239315229 1539761.39 3275902 1736141 237579089
## 23 236968684 1524663.65 3267486 1742822 235225862
## 24 235612261 1515936.38 3272853 1756917 233855344
## 25 234202213 1506864.09 3277707 1770843 232431370
## 26 232424683 1495427.41 3277613 1782186 230642498
## 27 230551248 1483373.67 3276316 1792943 228758305
## 28 228617424 1470931.39 3274299 1803367 226814056
## 29 227213062 1461895.68 3280059 1818163 225394899
## 30 225350545 1449912.19 3279413 1829501 223521044
## 31 223083649 1435326.92 3272996 1837669 221245980
## 32 221139015 1422815.08 3271414 1848599 219290417
## 33 219473470 1412098.91 3274144 1862046 217611424
## 34 217476737 1399251.88 3272118 1872866 215603871
## 35 215623342 1387327.07 3272413 1885086 213738255
## 36 214343639 1379093.42 3281682 1902589 212441050
## 37 212789281 1369092.64 3287061 1917969 210871312
## 38 211311260 1359583.01 3293919 1934336 209376923
## 39 209461917 1347684.28 3295256 1947572 207514345
## 40 207016916 1331953.07 3287357 1955404 205061511
## 41 205094765 1319585.90 3287891 1968305 203126461
## 42 202761666 1304574.66 3281986 1977411 200784255
## 43 200713010 1291393.55 3280821 1989428 198723582
## 44 198832197 1279292.34 3282614 2003322 196828875
## 45 196941796 1267129.44 3284498 2017368 194924427
## 46 195271884 1256385.18 3290352 2033967 193237917
## 47 192820540 1240613.16 3283245 2042632 190777908
## 48 190364601 1224811.57 3276133 2051321 188313280
## 49 187787567 1208230.86 3266987 2058756 185728811
## 50 184750253 1188688.69 3249774 2061085 182689168
## 51 183245251 1179005.46 3259666 2080660 181164591
## 52 181290020 1166425.45 3261922 2095497 179194523
## 53 179243771 1153259.82 3262819 2109559 177134212
## 54 176624864 1136409.69 3253437 2117027 174507837
## 55 175422629 1128674.48 3270492 2141817 173280812
## 56 173217539 1114486.86 3269297 2154810 171062728
## 57 171641865 1104348.92 3280366 2176017 169465848
## 58 169675666 1091698.34 3284427 2192729 167482937
## 59 167979735 1080786.68 3294170 2213383 165766353
## 60 165579803 1065345.44 3290462 2225117 163354687
## 61 163418648 1051440.50 3291751 2240310 161178338
## 62 161551314 1039426.02 3299368 2259942 159291372
## 63 159744025 1027797.87 3308744 2280946 157463079
## 64 157752974 1014987.39 3314835 2299848 155453126
## 65 155591190 1001078.40 3317779 2316701 153274490
## 66 153336472 986571.48 3319121 2332550 151003922
## 67 151253960 973172.53 3324617 2351444 148902516
## 68 148656336 956459.34 3319120 2362661 146293675
## 69 145803685 938105.30 3308003 2369898 143433787
## 70 143396052 922614.51 3307133 2384519 141011533
## 71 141339596 909383.22 3314827 2405444 138934152
## 72 139027510 894507.19 3317055 2422547 136604963
## 73 136591802 878835.77 3316735 2437899 134153903
## 74 133811767 860948.94 3308276 2447327 131364440
## 75 131688753 847289.40 3316444 2469154 129219599
## 76 129087494 830552.83 3313053 2482500 126604994
## 77 126757345 815560.57 3317040 2501480 124255865
## 78 123950421 797500.74 3308886 2511385 121439035
## 79 121315954 780550.50 3305533 2524982 118790972
## 80 119330519 767776.15 3320546 2552770 116777749
## 81 116638354 750454.68 3316583 2566128 114072226
## 82 114470140 736504.33 3328152 2591647 111878493
## 83 112249370 722215.83 3339184 2616969 109632401
## 84 109676990 705665.05 3340543 2634878 107042112
## 85 107134347 689305.61 3343421 2654115 104480232
## 86 105117597 676329.78 3363817 2687487 102430110
## 87 102358218 658575.86 3361456 2702880 99655338
## 88 99969411 643206.20 3372050 2728844 97240568
## 89 97594204 627924.05 3384313 2756389 94837815
## 90 94875003 610428.62 3385640 2775212 92099791
## 91 92166845 593004.26 3388105 2795101 89371744
## 92 89415557 575302.38 3389766 2814464 86601093
## 93 86629047 557373.90 3390860 2833486 83795560
## 94 83805166 539204.96 3391249 2852044 80953122
## 95 81065236 521576.17 3395946 2874370 78190866
## 96 78274431 503620.04 3399575 2895955 75378476
## 97 75673974 486888.63 3412902 2926013 72747961
## 98 72744868 468042.67 3412757 2944714 69800153
## 99 69854129 449443.57 3415396 2965952 66888177
## 100 66863966 430204.77 3414160 2983955 63880011
## 101 63887004 411050.91 3414533 3003483 60883522
## 102 61031608 392679.21 3422839 3030159 58001449
## 103 57919590 372656.38 3418008 3045351 54874238
## 104 54865756 353007.93 3417480 3064472 51801285
## 105 51794443 333247.01 3417028 3083781 48710662
## 106 48665680 313116.45 3413873 3100756 45564923
## 107 45711930 294111.93 3424887 3130775 42581155
## 108 42668297 274529.11 3431896 3157367 39510930
## 109 39517980 254259.87 3432508 3178248 36339731
## 110 36392159 234148.25 3437460 3203312 33188847
## 111 33130637 213163.52 3431431 3218268 29912369
## 112 29866515 192162.06 3426171 3234009 26632506
## 113 26584690 171046.70 3420020 3248973 23335717
## 114 23398493 150546.61 3429220 3278674 20119819
## 115 20135960 129555.37 3431971 3302416 16833544
## 116 16860028 108477.92 3437371 3328893 13531135
## 117 13521459 86997.47 3434912 3347915 10173544
## 118 10204825 65658.15 3445474 3379816 6825009
## 119 6845379 44043.38 3455758 3411714 3433665
## 120 3443025 22152.53 3465178 3443025 0
#MEDIA
tabla_cop_media <- convertir_a_cop(trm_media, tabla)
head(tabla_cop_media, 120)
## Mes Saldo_Inicial Interes Cuota Amortizacion Saldo_Final
## 1 1 70107.6547 451.074761 840.293 389.2183 69718.4365
## 2 2 69718.4365 448.570520 840.293 391.7225 69326.7140
## 3 3 69326.7140 446.050165 840.293 394.2428 68932.4711
## 4 4 68932.4711 443.513595 840.293 396.7794 68535.6917
## 5 5 68535.6917 440.960704 840.293 399.3323 68136.3594
## 6 6 68136.3594 438.391388 840.293 401.9016 67734.4578
## 7 7 67734.4578 435.805541 840.293 404.4875 67329.9703
## 8 8 67329.9703 433.203056 840.293 407.0900 66922.8804
## 9 9 66922.8804 430.583827 840.293 409.7092 66513.1712
## 10 10 66513.1712 427.947746 840.293 412.3453 66100.8259
## 11 11 66100.8259 425.294704 840.293 414.9983 65685.8276
## 12 12 65685.8276 422.624593 840.293 417.6684 65268.1592
## 13 13 65268.1592 419.937301 840.293 420.3557 64847.8035
## 14 14 64847.8035 417.232720 840.293 423.0603 64424.7432
## 15 15 64424.7432 414.510737 840.293 425.7823 63998.9609
## 16 16 63998.9609 411.771241 840.293 428.5218 63570.4391
## 17 17 63570.4391 409.014119 840.293 431.2789 63139.1602
## 18 18 63139.1602 406.239258 840.293 434.0538 62705.1065
## 19 19 62705.1065 403.446543 840.293 436.8465 62268.2600
## 20 20 62268.2600 400.635860 840.293 439.6572 61828.6028
## 21 21 61828.6028 397.807092 840.293 442.4859 61386.1169
## 22 22 61386.1169 394.960125 840.293 445.3329 60940.7840
## 23 23 60940.7840 392.094839 840.293 448.1982 60492.5859
## 24 24 60492.5859 389.211119 840.293 451.0819 60041.5040
## 25 25 60041.5040 386.308844 840.293 453.9842 59587.5198
## 26 26 59587.5198 383.387897 840.293 456.9051 59130.6147
## 27 27 59130.6147 380.448155 840.293 459.8449 58670.7698
## 28 28 58670.7698 377.489500 840.293 462.8035 58207.9663
## 29 29 58207.9663 374.511808 840.293 465.7812 57742.1851
## 30 30 57742.1851 371.514958 840.293 468.7781 57273.4070
## 31 31 57273.4070 368.498825 840.293 471.7942 56801.6129
## 32 32 56801.6129 365.463287 840.293 474.8297 56326.7831
## 33 33 56326.7831 362.408219 840.293 477.8848 55848.8983
## 34 34 55848.8983 359.333494 840.293 480.9595 55367.9388
## 35 35 55367.9388 356.238985 840.293 484.0540 54883.8848
## 36 36 54883.8848 353.124567 840.293 487.1684 54396.7163
## 37 37 54396.7163 349.990111 840.293 490.3029 53906.4134
## 38 38 53906.4134 346.835487 840.293 493.4575 53412.9559
## 39 39 53412.9559 343.660567 840.293 496.6324 52916.3235
## 40 40 52916.3235 340.465219 840.293 499.8278 52416.4957
## 41 41 52416.4957 337.249311 840.293 503.0437 51913.4520
## 42 42 51913.4520 334.012713 840.293 506.2803 51407.1717
## 43 43 51407.1717 330.755290 840.293 509.5377 50897.6340
## 44 44 50897.6340 327.476909 840.293 512.8161 50384.8178
## 45 45 50384.8178 324.177435 840.293 516.1156 49868.7023
## 46 46 49868.7023 320.856732 840.293 519.4363 49349.2660
## 47 47 49349.2660 317.514663 840.293 522.7784 48826.4876
## 48 48 48826.4876 314.151092 840.293 526.1419 48300.3457
## 49 49 48300.3457 310.765879 840.293 529.5271 47770.8186
## 50 50 47770.8186 307.358885 840.293 532.9341 47237.8845
## 51 51 47237.8845 303.929971 840.293 536.3630 46701.5214
## 52 52 46701.5214 300.478995 840.293 539.8140 46161.7074
## 53 53 46161.7074 297.005815 840.293 543.2872 45618.4202
## 54 54 45618.4202 293.510289 840.293 546.7827 45071.6375
## 55 55 45071.6375 289.992273 840.293 550.3007 44521.3367
## 56 56 44521.3367 286.451621 840.293 553.8414 43967.4953
## 57 57 43967.4953 282.888189 840.293 557.4048 43410.0905
## 58 58 43410.0905 279.301829 840.293 560.9912 42849.0993
## 59 59 42849.0993 275.692395 840.293 564.6006 42284.4987
## 60 60 42284.4987 272.059738 840.293 568.2333 41716.2654
## 61 61 41716.2654 268.403708 840.293 571.8893 41144.3761
## 62 62 41144.3761 264.724155 840.293 575.5689 40568.8073
## 63 63 40568.8073 261.020928 840.293 579.2721 39989.5352
## 64 64 39989.5352 257.293873 840.293 582.9991 39406.5360
## 65 65 39406.5360 253.542839 840.293 586.7502 38819.7859
## 66 66 38819.7859 249.767671 840.293 590.5253 38229.2605
## 67 67 38229.2605 245.968213 840.293 594.3248 37634.9357
## 68 68 37634.9357 242.144310 840.293 598.1487 37036.7870
## 69 69 37036.7870 238.295803 840.293 601.9972 36434.7898
## 70 70 36434.7898 234.422535 840.293 605.8705 35828.9193
## 71 71 35828.9193 230.524346 840.293 609.7687 35219.1507
## 72 72 35219.1507 226.601076 840.293 613.6919 34605.4587
## 73 73 34605.4587 222.652563 840.293 617.6404 33987.8183
## 74 74 33987.8183 218.678646 840.293 621.6144 33366.2039
## 75 75 33366.2039 214.679161 840.293 625.6139 32740.5901
## 76 76 32740.5901 210.653942 840.293 629.6391 32110.9510
## 77 77 32110.9510 206.602826 840.293 633.6902 31477.2608
## 78 78 31477.2608 202.525644 840.293 637.7674 30839.4934
## 79 79 30839.4934 198.422229 840.293 641.8708 30197.6226
## 80 80 30197.6226 194.292413 840.293 646.0006 29551.6220
## 81 81 29551.6220 190.136026 840.293 650.1570 28901.4651
## 82 82 28901.4651 185.952896 840.293 654.3401 28247.1249
## 83 83 28247.1249 181.742852 840.293 658.5502 27588.5748
## 84 84 27588.5748 177.505721 840.293 662.7873 26925.7875
## 85 85 26925.7875 173.241327 840.293 667.0517 26258.7358
## 86 86 26258.7358 168.949497 840.293 671.3435 25587.3923
## 87 87 25587.3923 164.630052 840.293 675.6630 24911.7293
## 88 88 24911.7293 160.282817 840.293 680.0102 24231.7191
## 89 89 24231.7191 155.907611 840.293 684.3854 23547.3337
## 90 90 23547.3337 151.504254 840.293 688.7888 22858.5450
## 91 91 22858.5450 147.072567 840.293 693.2204 22165.3245
## 92 92 22165.3245 142.612365 840.293 697.6806 21467.6439
## 93 93 21467.6439 138.123467 840.293 702.1695 20765.4743
## 94 94 20765.4743 133.605687 840.293 706.6873 20058.7870
## 95 95 20058.7870 129.058840 840.293 711.2342 19347.5528
## 96 96 19347.5528 124.482737 840.293 715.8103 18631.7426
## 97 97 18631.7426 119.877193 840.293 720.4158 17911.3267
## 98 98 17911.3267 115.242015 840.293 725.0510 17186.2757
## 99 99 17186.2757 110.577016 840.293 729.7160 16456.5597
## 100 100 16456.5597 105.882001 840.293 734.4110 15722.1487
## 101 101 15722.1487 101.156778 840.293 739.1362 14983.0125
## 102 102 14983.0125 96.401153 840.293 743.8919 14239.1206
## 103 103 14239.1206 91.614931 840.293 748.6781 13490.4425
## 104 104 13490.4425 86.797914 840.293 753.4951 12736.9474
## 105 105 12736.9474 81.949903 840.293 758.3431 11978.6043
## 106 106 11978.6043 77.070701 840.293 763.2223 11215.3820
## 107 107 11215.3820 72.160106 840.293 768.1329 10447.2491
## 108 108 10447.2491 67.217915 840.293 773.0751 9674.1740
## 109 109 9674.1740 62.243927 840.293 778.0491 8896.1249
## 110 110 8896.1249 57.237936 840.293 783.0551 8113.0699
## 111 111 8113.0699 52.199736 840.293 788.0933 7324.9766
## 112 112 7324.9766 47.129120 840.293 793.1639 6531.8127
## 113 113 6531.8127 42.025879 840.293 798.2671 5733.5455
## 114 114 5733.5455 36.889805 840.293 803.4032 4930.1423
## 115 115 4930.1423 31.720684 840.293 808.5723 4121.5700
## 116 116 4121.5700 26.518306 840.293 813.7747 3307.7953
## 117 117 3307.7953 21.282455 840.293 819.0106 2488.7847
## 118 118 2488.7847 16.012916 840.293 824.2801 1664.5046
## 119 119 1664.5046 10.709473 840.293 829.5835 834.9211
## 120 120 834.9211 5.371908 840.293 834.9211 0.0000
## Saldo_Inicial_COP Interes_COP Cuota_COP Amortizacion_COP Saldo_Final_COP
## 1 270000000 1737188.13 3236153 1498965 268501035
## 2 268400300 1726895.61 3234939 1508043 266892257
## 3 267358805 1720194.60 3240594 1520399 265838405
## 4 265960708 1711199.20 3242085 1530886 264429822
## 5 264600914 1702450.25 3244183 1541732 263059182
## 6 263490595 1695306.42 3249503 1554197 261936398
## 7 262454948 1688643.03 3255936 1567293 260887655
## 8 260515197 1676162.62 3251288 1575125 258940072
## 9 259320419 1668475.38 3256063 1587588 257732831
## 10 257804793 1658723.80 3256972 1598249 256206544
## 11 255673602 1645011.65 3250198 1605186 254068416
## 12 254296180 1636149.28 3253111 1616962 252679218
## 13 252782554 1626410.57 3254442 1628031 251154523
## 14 251406159 1617554.80 3257702 1640148 249766012
## 15 249621541 1606072.51 3255818 1649745 247971796
## 16 247477847 1592279.92 3249333 1657053 245820795
## 17 245769032 1581285.35 3248648 1667363 244101669
## 18 243611837 1567405.90 3242129 1674723 241937114
## 19 241484067 1553715.76 3236058 1682342 239801724
## 20 239478745 1540813.45 3231700 1690886 237787858
## 21 237680676 1529244.63 3230243 1700998 235979678
## 22 236555746 1522006.79 3238129 1716122 234839624
## 23 234665612 1509845.61 3235729 1725884 232939728
## 24 233522444 1502490.44 3243824 1741333 231781111
## 25 231824256 1491564.25 3244427 1752863 230071393
## 26 230529469 1483233.55 3250887 1767654 228761816
## 27 229327319 1475498.87 3258923 1783425 227543894
## 28 227915770 1466416.93 3264249 1797833 226117937
## 29 226836022 1459469.80 3274616 1815146 225020877
## 30 224557742 1444811.28 3267876 1823065 222734678
## 31 221949428 1428029.31 3256355 1828326 220121103
## 32 219497096 1412250.92 3247124 1834873 217662223
## 33 218276334 1404396.50 3256285 1851889 216424445
## 34 216650097 1393933.25 3259680 1865747 214784350
## 35 214180938 1378046.61 3250523 1872476 212308462
## 36 211972952 1363840.35 3245386 1881546 210091406
## 37 209765458 1349637.27 3240351 1890714 207874745
## 38 207859953 1337377.20 3240120 1902743 205957210
## 39 205501644 1322203.76 3232953 1910750 203590894
## 40 203205874 1307432.71 3226839 1919407 201286467
## 41 201290081 1295106.44 3226897 1931791 199358290
## 42 199547266 1283893.12 3229956 1946063 197601203
## 43 197593315 1271321.34 3229827 1958506 195634809
## 44 195430504 1257405.75 3226454 1969049 193461456
## 45 193447946 1244649.91 3226229 1981579 191466367
## 46 190963568 1228665.35 3217757 1989091 188974476
## 47 189215482 1217418.11 3221860 2004442 187211040
## 48 187185129 1204354.75 3221415 2017060 185168069
## 49 184950461 1189976.84 3217629 2027652 182922809
## 50 183115236 1178168.94 3221014 2042845 181072391
## 51 180020584 1158257.86 3202303 2044046 177976538
## 52 177807967 1144021.81 3199270 2055249 175752718
## 53 176344512 1134605.90 3210043 2075437 174269075
## 54 174637106 1123620.40 3216822 2093202 172543904
## 55 173235417 1114601.89 3229714 2115112 171120305
## 56 171096171 1100837.91 3229259 2128421 168967750
## 57 168850304 1086387.94 3227014 2140626 166709678
## 58 167008926 1074540.46 3232807 2158266 164850660
## 59 164735046 1059910.24 3230539 2170629 162564416
## 60 162088837 1042884.46 3221089 2178204 159910633
## 61 160125060 1030249.46 3225408 2195158 157929902
## 62 158346291 1018804.80 3233912 2215107 156131184
## 63 155773617 1002252.14 3226506 2224253 153549364
## 64 153199741 985691.75 3219159 2233467 150966274
## 65 151339537 973723.14 3227118 2253395 149086142
## 66 149039007 958921.46 3226098 2267177 146771830
## 67 146454379 942291.88 3219120 2276828 144177550
## 68 143955787 926215.87 3214169 2287953 141667834
## 69 141731286 911903.36 3215609 2303705 139427580
## 70 139284472 896160.49 3212308 2316148 136968324
## 71 136843999 880458.41 3209392 2328934 134515066
## 72 134834117 867526.77 3217005 2349478 132484639
## 73 132707414 853843.50 3222414 2368570 130338843
## 74 130271711 838172.11 3220754 2382582 127889129
## 75 127694042 821587.31 3215841 2394254 125299788
## 76 125444453 807113.39 3219554 2412441 123032012
## 77 123149944 792350.44 3222640 2430290 120719654
## 78 120365187 774433.24 3213177 2438744 117926443
## 79 118292192 761095.53 3223143 2462048 115830145
## 80 115572058 743594.10 3215962 2472367 113099691
## 81 113251820 728665.62 3220287 2491622 110760198
## 82 111151951 715155.00 3231677 2516522 108635429
## 83 108298135 696793.46 3221643 2524850 105773285
## 84 105581593 679315.15 3215805 2536490 103045104
## 85 102714513 660868.27 3205488 2544620 100169893
## 86 100015373 643501.92 3200543 2557041 97458331
## 87 97559888 627703.26 3203878 2576175 94983713
## 88 95031303 611434.26 3205484 2594049 92437253
## 89 92316486 593967.05 3201296 2607329 89709158
## 90 89744242 577417.16 3202548 2625131 87119111
## 91 87168987 560847.89 3204381 2643533 84525453
## 92 84597050 544299.97 3207095 2662795 81934255
## 93 82042191 527861.92 3211320 2683458 79358732
## 94 79683133 512683.68 3224447 2711764 76971370
## 95 77422374 498137.88 3243341 2745203 74677171
## 96 74733997 480840.79 3245809 2764968 71969029
## 97 71970812 463062.37 3245889 2782827 69187985
## 98 68924988 443465.45 3233551 2790085 66134903
## 99 66053641 424991.12 3229578 2804587 63249055
## 100 63175880 406475.52 3225841 2819366 60356514
## 101 60287228 387889.84 3222138 2834248 57452980
## 102 57576705 370450.26 3229077 2858627 54718078
## 103 54775321 352426.07 3232455 2880029 51895292
## 104 51822637 333428.40 3227930 2894501 48928135
## 105 48774601 313817.25 3217801 2903983 45870618
## 106 46063860 296376.26 3231356 2934980 43128879
## 107 43113745 277395.14 3230222 2952827 40160918
## 108 40048554 257673.60 3221185 2963511 37085043
## 109 37075203 238542.98 3220330 2981787 34093416
## 110 34169152 219845.35 3227484 3007638 31161513
## 111 31084192 199996.63 3219475 3019479 28064713
## 112 28092781 180749.80 3222695 3041945 25050835
## 113 24972089 160671.17 3212565 3051894 21920195
## 114 21943908 141187.77 3216040 3074852 18869056
## 115 18910545 121671.02 3223112 3101441 15809104
## 116 15831589 101860.92 3227696 3125835 12705754
## 117 12696506 81689.71 3225346 3143657 9552850
## 118 9608719 61822.79 3244210 3182387 6426332
## 119 6418090 41294.19 3240049 3198755 3219336
## 120 3218400 20707.28 3239107 3218400 0
#MINIMA
tabla_cop_corta <- convertir_a_cop(trm_corta, tabla)
head(tabla_cop_corta, 120)
## Mes Saldo_Inicial Interes Cuota Amortizacion Saldo_Final
## 1 1 70107.6547 451.074761 840.293 389.2183 69718.4365
## 2 2 69718.4365 448.570520 840.293 391.7225 69326.7140
## 3 3 69326.7140 446.050165 840.293 394.2428 68932.4711
## 4 4 68932.4711 443.513595 840.293 396.7794 68535.6917
## 5 5 68535.6917 440.960704 840.293 399.3323 68136.3594
## 6 6 68136.3594 438.391388 840.293 401.9016 67734.4578
## 7 7 67734.4578 435.805541 840.293 404.4875 67329.9703
## 8 8 67329.9703 433.203056 840.293 407.0900 66922.8804
## 9 9 66922.8804 430.583827 840.293 409.7092 66513.1712
## 10 10 66513.1712 427.947746 840.293 412.3453 66100.8259
## 11 11 66100.8259 425.294704 840.293 414.9983 65685.8276
## 12 12 65685.8276 422.624593 840.293 417.6684 65268.1592
## 13 13 65268.1592 419.937301 840.293 420.3557 64847.8035
## 14 14 64847.8035 417.232720 840.293 423.0603 64424.7432
## 15 15 64424.7432 414.510737 840.293 425.7823 63998.9609
## 16 16 63998.9609 411.771241 840.293 428.5218 63570.4391
## 17 17 63570.4391 409.014119 840.293 431.2789 63139.1602
## 18 18 63139.1602 406.239258 840.293 434.0538 62705.1065
## 19 19 62705.1065 403.446543 840.293 436.8465 62268.2600
## 20 20 62268.2600 400.635860 840.293 439.6572 61828.6028
## 21 21 61828.6028 397.807092 840.293 442.4859 61386.1169
## 22 22 61386.1169 394.960125 840.293 445.3329 60940.7840
## 23 23 60940.7840 392.094839 840.293 448.1982 60492.5859
## 24 24 60492.5859 389.211119 840.293 451.0819 60041.5040
## 25 25 60041.5040 386.308844 840.293 453.9842 59587.5198
## 26 26 59587.5198 383.387897 840.293 456.9051 59130.6147
## 27 27 59130.6147 380.448155 840.293 459.8449 58670.7698
## 28 28 58670.7698 377.489500 840.293 462.8035 58207.9663
## 29 29 58207.9663 374.511808 840.293 465.7812 57742.1851
## 30 30 57742.1851 371.514958 840.293 468.7781 57273.4070
## 31 31 57273.4070 368.498825 840.293 471.7942 56801.6129
## 32 32 56801.6129 365.463287 840.293 474.8297 56326.7831
## 33 33 56326.7831 362.408219 840.293 477.8848 55848.8983
## 34 34 55848.8983 359.333494 840.293 480.9595 55367.9388
## 35 35 55367.9388 356.238985 840.293 484.0540 54883.8848
## 36 36 54883.8848 353.124567 840.293 487.1684 54396.7163
## 37 37 54396.7163 349.990111 840.293 490.3029 53906.4134
## 38 38 53906.4134 346.835487 840.293 493.4575 53412.9559
## 39 39 53412.9559 343.660567 840.293 496.6324 52916.3235
## 40 40 52916.3235 340.465219 840.293 499.8278 52416.4957
## 41 41 52416.4957 337.249311 840.293 503.0437 51913.4520
## 42 42 51913.4520 334.012713 840.293 506.2803 51407.1717
## 43 43 51407.1717 330.755290 840.293 509.5377 50897.6340
## 44 44 50897.6340 327.476909 840.293 512.8161 50384.8178
## 45 45 50384.8178 324.177435 840.293 516.1156 49868.7023
## 46 46 49868.7023 320.856732 840.293 519.4363 49349.2660
## 47 47 49349.2660 317.514663 840.293 522.7784 48826.4876
## 48 48 48826.4876 314.151092 840.293 526.1419 48300.3457
## 49 49 48300.3457 310.765879 840.293 529.5271 47770.8186
## 50 50 47770.8186 307.358885 840.293 532.9341 47237.8845
## 51 51 47237.8845 303.929971 840.293 536.3630 46701.5214
## 52 52 46701.5214 300.478995 840.293 539.8140 46161.7074
## 53 53 46161.7074 297.005815 840.293 543.2872 45618.4202
## 54 54 45618.4202 293.510289 840.293 546.7827 45071.6375
## 55 55 45071.6375 289.992273 840.293 550.3007 44521.3367
## 56 56 44521.3367 286.451621 840.293 553.8414 43967.4953
## 57 57 43967.4953 282.888189 840.293 557.4048 43410.0905
## 58 58 43410.0905 279.301829 840.293 560.9912 42849.0993
## 59 59 42849.0993 275.692395 840.293 564.6006 42284.4987
## 60 60 42284.4987 272.059738 840.293 568.2333 41716.2654
## 61 61 41716.2654 268.403708 840.293 571.8893 41144.3761
## 62 62 41144.3761 264.724155 840.293 575.5689 40568.8073
## 63 63 40568.8073 261.020928 840.293 579.2721 39989.5352
## 64 64 39989.5352 257.293873 840.293 582.9991 39406.5360
## 65 65 39406.5360 253.542839 840.293 586.7502 38819.7859
## 66 66 38819.7859 249.767671 840.293 590.5253 38229.2605
## 67 67 38229.2605 245.968213 840.293 594.3248 37634.9357
## 68 68 37634.9357 242.144310 840.293 598.1487 37036.7870
## 69 69 37036.7870 238.295803 840.293 601.9972 36434.7898
## 70 70 36434.7898 234.422535 840.293 605.8705 35828.9193
## 71 71 35828.9193 230.524346 840.293 609.7687 35219.1507
## 72 72 35219.1507 226.601076 840.293 613.6919 34605.4587
## 73 73 34605.4587 222.652563 840.293 617.6404 33987.8183
## 74 74 33987.8183 218.678646 840.293 621.6144 33366.2039
## 75 75 33366.2039 214.679161 840.293 625.6139 32740.5901
## 76 76 32740.5901 210.653942 840.293 629.6391 32110.9510
## 77 77 32110.9510 206.602826 840.293 633.6902 31477.2608
## 78 78 31477.2608 202.525644 840.293 637.7674 30839.4934
## 79 79 30839.4934 198.422229 840.293 641.8708 30197.6226
## 80 80 30197.6226 194.292413 840.293 646.0006 29551.6220
## 81 81 29551.6220 190.136026 840.293 650.1570 28901.4651
## 82 82 28901.4651 185.952896 840.293 654.3401 28247.1249
## 83 83 28247.1249 181.742852 840.293 658.5502 27588.5748
## 84 84 27588.5748 177.505721 840.293 662.7873 26925.7875
## 85 85 26925.7875 173.241327 840.293 667.0517 26258.7358
## 86 86 26258.7358 168.949497 840.293 671.3435 25587.3923
## 87 87 25587.3923 164.630052 840.293 675.6630 24911.7293
## 88 88 24911.7293 160.282817 840.293 680.0102 24231.7191
## 89 89 24231.7191 155.907611 840.293 684.3854 23547.3337
## 90 90 23547.3337 151.504254 840.293 688.7888 22858.5450
## 91 91 22858.5450 147.072567 840.293 693.2204 22165.3245
## 92 92 22165.3245 142.612365 840.293 697.6806 21467.6439
## 93 93 21467.6439 138.123467 840.293 702.1695 20765.4743
## 94 94 20765.4743 133.605687 840.293 706.6873 20058.7870
## 95 95 20058.7870 129.058840 840.293 711.2342 19347.5528
## 96 96 19347.5528 124.482737 840.293 715.8103 18631.7426
## 97 97 18631.7426 119.877193 840.293 720.4158 17911.3267
## 98 98 17911.3267 115.242015 840.293 725.0510 17186.2757
## 99 99 17186.2757 110.577016 840.293 729.7160 16456.5597
## 100 100 16456.5597 105.882001 840.293 734.4110 15722.1487
## 101 101 15722.1487 101.156778 840.293 739.1362 14983.0125
## 102 102 14983.0125 96.401153 840.293 743.8919 14239.1206
## 103 103 14239.1206 91.614931 840.293 748.6781 13490.4425
## 104 104 13490.4425 86.797914 840.293 753.4951 12736.9474
## 105 105 12736.9474 81.949903 840.293 758.3431 11978.6043
## 106 106 11978.6043 77.070701 840.293 763.2223 11215.3820
## 107 107 11215.3820 72.160106 840.293 768.1329 10447.2491
## 108 108 10447.2491 67.217915 840.293 773.0751 9674.1740
## 109 109 9674.1740 62.243927 840.293 778.0491 8896.1249
## 110 110 8896.1249 57.237936 840.293 783.0551 8113.0699
## 111 111 8113.0699 52.199736 840.293 788.0933 7324.9766
## 112 112 7324.9766 47.129120 840.293 793.1639 6531.8127
## 113 113 6531.8127 42.025879 840.293 798.2671 5733.5455
## 114 114 5733.5455 36.889805 840.293 803.4032 4930.1423
## 115 115 4930.1423 31.720684 840.293 808.5723 4121.5700
## 116 116 4121.5700 26.518306 840.293 813.7747 3307.7953
## 117 117 3307.7953 21.282455 840.293 819.0106 2488.7847
## 118 118 2488.7847 16.012916 840.293 824.2801 1664.5046
## 119 119 1664.5046 10.709473 840.293 829.5835 834.9211
## 120 120 834.9211 5.371908 840.293 834.9211 0.0000
## Saldo_Inicial_COP Interes_COP Cuota_COP Amortizacion_COP Saldo_Final_COP
## 1 270000000 1737188.13 3236153 1498965 268501035
## 2 268750397 1729148.14 3239159 1510011 267240386
## 3 268289685 1726183.91 3251877 1525693 266763992
## 4 267510643 1721171.53 3260979 1539807 265970835
## 5 264794406 1703695.18 3246555 1542860 263251547
## 6 262615398 1689675.38 3238710 1549034 261066364
## 7 260922554 1678783.57 3236926 1558142 259364412
## 8 258370514 1662363.66 3224522 1562158 256808356
## 9 255624067 1644692.95 3209651 1564958 254059109
## 10 253565038 1631445.09 3203410 1571964 251993073
## 11 251253475 1616572.42 3194008 1577435 249676040
## 12 249294029 1603965.29 3189121 1585155 247708874
## 13 248164597 1596698.49 3194988 1598289 246566308
## 14 246543705 1586269.62 3194695 1608425 244935280
## 15 244949574 1576012.94 3194881 1618868 243330706
## 16 243267058 1565187.58 3194046 1628858 241638200
## 17 240746287 1548968.86 3182256 1633287 239113000
## 18 239051333 1538063.48 3181435 1643372 237407961
## 19 237745813 1529663.72 3185963 1656299 236089513
## 20 236153795 1519420.63 3186830 1667410 234486386
## 21 234998117 1511984.96 3193785 1681800 233316316
## 22 234008300 1505616.45 3203258 1697641 232310659
## 23 231726562 1490935.68 3195204 1704268 230022294
## 24 229142429 1474309.29 3182982 1708672 227433757
## 25 227550172 1464064.66 3184611 1720546 225829626
## 26 226098971 1454727.59 3188409 1733681 224365289
## 27 223843838 1440217.99 3180999 1740781 222103057
## 28 222279106 1430150.46 3183520 1753370 220525737
## 29 220334892 1417641.33 3180765 1763124 218571768
## 30 218540317 1406094.98 3180307 1774212 216766104
## 31 216570321 1393419.96 3177435 1784015 214786306
## 32 215154450 1384310.21 3182881 1798571 213355879
## 33 213158858 1371470.51 3179942 1808471 211350387
## 34 210839729 1356549.16 3172259 1815709 209024019
## 35 208177973 1339423.35 3159419 1819995 206357978
## 36 206558102 1329001.05 3162483 1833482 204724621
## 37 204507882 1315809.87 3159135 1843325 202664557
## 38 202632805 1303745.57 3158640 1854894 200777911
## 39 200534553 1290245.36 3154811 1864566 198669988
## 40 197502353 1270736.08 3136269 1865533 195636819
## 41 195978798 1260933.49 3141752 1880818 194097980
## 42 194205660 1249525.07 3143495 1893970 192311691
## 43 192510622 1238619.14 3146746 1908127 190602495
## 44 190354362 1224745.69 3142650 1917904 188436458
## 45 188987734 1215952.77 3151844 1935891 187051843
## 46 186977997 1203022.06 3150599 1947577 185030419
## 47 185089664 1190872.47 3151608 1960736 183128928
## 48 182399502 1173563.89 3139055 1965491 180434011
## 49 180261803 1159809.87 3136059 1976249 178285554
## 50 177924371 1144770.76 3129706 1984935 175939436
## 51 176327858 1134498.75 3136615 2002116 174325742
## 52 174010567 1119589.23 3130944 2011355 171999212
## 53 172069293 1107099.01 3132220 2025121 170044172
## 54 169651570 1091543.31 3124988 2033445 167618125
## 55 167411914 1077133.30 3121144 2044011 165367904
## 56 164699383 1059680.79 3108526 2048845 162650538
## 57 162631534 1046376.18 3108163 2061787 160569747
## 58 160400592 1032022.24 3104889 2072866 158327726
## 59 158873834 1022199.03 3115598 2093399 156780435
## 60 156258341 1005370.87 3105223 2099852 154158489
## 61 154328856 992956.51 3108655 2115698 152213158
## 62 152238034 979504.10 3109163 2129659 150108376
## 63 149909190 964520.24 3105037 2140517 147768674
## 64 148028598 952420.46 3110499 2158078 145870520
## 65 145982550 939256.12 3112888 2173631 143808919
## 66 143476633 923132.98 3105695 2182562 141294071
## 67 141574029 910891.56 3111849 2200957 139373072
## 68 138906684 893729.79 3101435 2207705 136698979
## 69 136737815 879775.22 3102316 2222541 134515274
## 70 134341295 864355.94 3098304 2233948 132107347
## 71 132383915 851762.09 3104790 2253028 130130887
## 72 129905469 835815.70 3099412 2263596 127641873
## 73 127775705 822112.73 3102662 2280549 125495156
## 74 125236011 805772.27 3096255 2290483 122945529
## 75 123157956 792402.00 3101605 2309203 120848753
## 76 121103088 779180.92 3108132 2328951 118774137
## 77 118811854 764439.04 3109119 2344680 116467174
## 78 116570994 750021.28 3111891 2361869 114209124
## 79 114194410 734730.27 3111490 2376759 111817650
## 80 112112845 721337.42 3119704 2398366 109714479
## 81 109205889 702633.98 3105242 2402608 106803281
## 82 106359378 684319.44 3092336 2408017 103951361
## 83 103989549 669071.89 3093472 2424400 101565149
## 84 101526429 653224.10 3092293 2439069 99087360
## 85 98971181 636783.56 3088667 2451883 96519297
## 86 96764042 622582.76 3096499 2473916 94290126
## 87 94225362 606248.82 3094372 2488123 91737239
## 88 91783223 590536.02 3095923 2505387 89277836
## 89 89500427 575848.44 3103642 2527794 86972633
## 90 86847172 558777.32 3099165 2540388 84306784
## 91 84312112 542466.67 3099361 2556894 81755218
## 92 81585689 524924.78 3092934 2568009 79017680
## 93 79004741 508318.88 3092427 2584109 76420632
## 94 76189256 490203.97 3083065 2592861 73596395
## 95 73338002 471858.92 3072240 2600381 70737621
## 96 70991077 456758.73 3083248 2626489 68364588
## 97 68638471 441621.99 3095600 2653978 65984492
## 98 65778004 423217.66 3085913 2662695 63115309
## 99 63069251 405789.46 3083661 2677872 60391379
## 100 60330662 388169.30 3080561 2692392 57638270
## 101 57616056 370703.44 3079374 2708670 54907386
## 102 54893222 353184.64 3078579 2725395 52167828
## 103 52135551 335441.70 3076674 2741233 49394318
## 104 49421874 317981.82 3078391 2760409 46661465
## 105 46680786 300345.58 3079666 2779320 43901466
## 106 43726992 281340.79 3067426 2786086 40940907
## 107 40916076 263255.26 3065566 2802311 38113765
## 108 38234521 246002.06 3075278 2829276 35405244
## 109 35268089 226915.94 3063365 2836449 32431639
## 110 32343535 208099.28 3055043 2846944 29496591
## 111 29518885 189925.39 3057352 2867427 26651458
## 112 26631571 171348.33 3055071 2883723 23747849
## 113 23728581 152670.40 3052592 2899922 20828659
## 114 20778352 133688.55 3045219 2911531 17866822
## 115 17809021 114583.78 3035368 2920784 14888237
## 116 14897599 95851.60 3037277 2941425 11956174
## 117 11964643 76980.87 3039428 2962447 9002195
## 118 8971757 57724.55 3029151 2971426 6000330
## 119 5984717 38505.85 3021269 2982763 3001954
## 120 3010656 19370.65 3030027 3010656 0
#PRUEBA DE QUE ESTAN CORRECTAS LAS RESPUESTAS
unique(round(tabla$Cuota, 6)) # debería dar 1 valor (cuota fija en USD)
## [1] 840.293
head(tabla_cop_media$Cuota_COP) # cambia mes a mes por TRM
## [1] 3236153 3234939 3240594 3242085 3244183 3249503
# 1) Leer el Excel tal cual (columnas: DATE, CIERRE)
futuro <- read_excel(choose.files())
# 2) Asegurar tipos y ordenar (sin renombrar columnas)
futuro <- futuro %>%
mutate(
DATE = ymd(DATE), # asume formato AAAA-MM-DD
CIERRE = suppressWarnings(parse_number(as.character(CIERRE)))
) %>%
arrange(DATE) %>%
filter(!is.na(DATE), !is.na(CIERRE), CIERRE > 0)
# 3) Agregar a frecuencia mensual (último dato del mes)
futuro_mensual <- futuro %>%
mutate(MES = floor_date(DATE, "month")) %>%
group_by(MES) %>%
summarize(CIERRE = last(CIERRE), .groups = "drop") %>%
arrange(MES)
# 4) Retornos logarítmicos mensuales (usando lag)
futuro_mensual <- futuro_mensual %>%
mutate(
CIERRE_LAG = lag(CIERRE),
RET_M = if_else(!is.na(CIERRE_LAG) & CIERRE_LAG > 0,
log(CIERRE / CIERRE_LAG),
NA_real_)
)
# 5) Estadísticos (media y desviación estándar mensual de retornos)
media_retornos <- mean(futuro_mensual$RET_M, na.rm = TRUE)
desv_estandar <- sd(futuro_mensual$RET_M, na.rm = TRUE)
media_retornos
## [1] -0.0174147
desv_estandar
## [1] 0.01734815
# (Opcional) Gráfico de precio mensual para chequear
ggplot(futuro_mensual, aes(x = MES, y = CIERRE)) +
geom_line(linewidth = 1.1) +
labs(title = "TRMZ25F mensual (precio de cierre)",
x = "Mes", y = "Cierre (COP/USD)") +
theme_minimal()
# Preparar entorno
options(scipen = 999)
set.seed(123456)
# Parámetros de la simulación (mensuales)
s0 <- 3947 # valor inicial del futuro (TRM spot)
mu <- media_retornos # retorno medio mensual (calculado del TRMZ25F)
sigma <- desv_estandar # desviación estándar mensual (calculada)
N <- 500 # número de trayectorias
T <- 120 # 10 años (mensual)
# Inicializar matriz de simulación
vec <- rep(s0, N)
mb <- matrix(ncol = N, nrow = T)
mb[1, ] <- vec
# Simulación de trayectorias BMG mensual
for (i in 1:N) {
for (t in 2:T) {
mb[t, i] <- mb[t - 1, i] * exp((mu - 0.5 * sigma^2) * 1 +
sigma * sqrt(1) * rnorm(1))
}
}
# Extraer meses 73 a 120 (años 7 a 10)
mb_sub <- mb[73:120, ]
# Calcular estadísticas por mes
p10 <- apply(mb_sub, 1, quantile, probs = 0.10)
p50 <- apply(mb_sub, 1, quantile, probs = 0.50) # mediana
p90 <- apply(mb_sub, 1, quantile, probs = 0.90)
media <- apply(mb_sub, 1, mean)
# Crear data frame con resultados
df_futuro <- data.frame(
Mes_Absoluto = 73:120,
Mes_Relativo = 1:48,
P10 = round(p10, 4),
Mediana = round(p50, 4),
P90 = round(p90, 4),
Media = round(media, 4)
)
# Mostrar tabla
print(df_futuro)
## Mes_Absoluto Mes_Relativo P10 Mediana P90 Media
## 1 73 1 927.4665 1132.0948 1345.4759 1136.2345
## 2 74 2 914.7083 1115.1694 1330.4560 1116.9442
## 3 75 3 889.5364 1093.2282 1305.7367 1097.5754
## 4 76 4 877.4590 1072.4582 1282.3193 1078.9208
## 5 77 5 859.5615 1051.5020 1252.9788 1058.8233
## 6 78 6 839.3708 1031.8224 1240.6087 1039.9559
## 7 79 7 822.8872 1018.3433 1216.2064 1022.4321
## 8 80 8 808.1929 1000.9651 1195.7468 1004.7930
## 9 81 9 793.9961 981.5112 1177.9360 987.9998
## 10 82 10 780.5252 965.7223 1163.9638 972.0153
## 11 83 11 775.3979 950.4270 1141.9146 955.4020
## 12 84 12 753.3453 933.5920 1121.9473 938.6122
## 13 85 13 738.0429 914.2054 1103.6612 922.2024
## 14 86 14 728.8084 898.5809 1082.6522 905.7608
## 15 87 15 713.9240 884.7519 1066.2902 890.6454
## 16 88 16 698.8489 866.7322 1045.6156 874.1151
## 17 89 17 685.5895 852.4704 1028.2709 858.5810
## 18 90 18 675.1235 842.2719 1008.5901 843.4836
## 19 91 19 665.3760 827.3435 990.6823 828.0948
## 20 92 20 647.7187 812.1581 978.8360 815.0074
## 21 93 21 635.0008 792.3041 969.1503 800.7084
## 22 94 22 622.1232 779.4555 953.5998 786.8118
## 23 95 23 610.8470 766.2244 933.5569 773.2698
## 24 96 24 601.6965 751.0946 921.3172 759.7322
## 25 97 25 589.2475 735.1539 904.8055 745.1659
## 26 98 26 574.1403 725.0832 887.9390 732.8069
## 27 99 27 564.1375 713.3446 876.0875 720.4534
## 28 100 28 558.6412 698.3680 863.4388 708.7816
## 29 101 29 547.0733 683.5430 853.8048 696.0965
## 30 102 30 535.0204 672.0062 831.4620 683.5680
## 31 103 31 523.0763 660.0689 827.5849 671.3590
## 32 104 32 514.9443 649.9753 814.1460 660.1354
## 33 105 33 505.4200 638.1213 797.3239 647.9691
## 34 106 34 496.3023 625.6379 785.8553 637.1330
## 35 107 35 489.9390 613.5884 771.8098 625.5056
## 36 108 36 481.2368 604.5063 763.0242 614.5869
## 37 109 37 471.5021 592.3964 747.1244 603.3721
## 38 110 38 462.7125 582.2390 737.2838 593.0207
## 39 111 39 454.6236 574.6527 719.2549 582.8229
## 40 112 40 446.7571 566.2216 706.4544 573.3734
## 41 113 41 440.5582 556.6613 696.8751 563.4262
## 42 114 42 434.4401 548.1662 684.6342 553.7798
## 43 115 43 425.2046 537.1173 675.8922 543.9491
## 44 116 44 414.9877 533.1818 663.1388 535.1561
## 45 117 45 407.5900 525.1585 649.6672 525.8723
## 46 118 46 401.6730 516.2774 639.6930 517.7352
## 47 119 47 392.1319 505.1925 631.1248 508.5547
## 48 120 48 382.2435 494.7319 618.7488 499.3652
View(df_futuro)
# --- Bloque 2: Pregunta 6 (con datos reales del contrato TRMZ25F) ---
# Parámetros del contrato según BVC
precio_futuro <- 3862.420 # COP/USD (último precio)
tam_contrato_usd <- 50000 # tamaño del contrato en USD
margen_inicial_pct <- 0.05 # 5% margen inicial
margen_mant_pct <- 0.75 * margen_inicial_pct # 75% del inicial
# Valor de la maquinaria (en COP)
valor_maquinaria_cop <- 300000000
# Conversión a USD con la TRM
valor_maquinaria_usd <- valor_maquinaria_cop / precio_futuro
# Número de contratos necesarios para cubrir el 70% del valor
n_contratos <- (valor_maquinaria_usd * 0.70) / tam_contrato_usd
n_contratos
## [1] 1.087401
#EXPLICACION NUMERO DECONTRATOS OPTIMOS El número de contratos óptimo calculado fue 1,08, sin embargo, dado que los contratos de futuros son instrumentos indivisibles, se redondea al número entero más cercano. En este caso, se adopta 1 contrato como posición de cobertura, lo cual representa una ligera subcobertura (70% × 1 contrato = 35.000 USD frente a los 37.800 USD requeridos aproximadamente). Esta decisión permite mantener un equilibrio entre costo de cobertura y nivel de exposición cambiaria.
# Número de contratos necesarios para cubrir el 70% del valor
n_contratos <- floor((valor_maquinaria_usd * 0.70) / tam_contrato_usd)
# Exposición total
exposicion_total <- precio_futuro * tam_contrato_usd * n_contratos
# Márgenes requeridos
margen_inicial <- exposicion_total * margen_inicial_pct
margen_mant <- exposicion_total * margen_mant_pct
exposicion_total
## [1] 193121000
margen_inicial
## [1] 9656050
margen_mant
## [1] 7242038
n_contratos
## [1] 1
Los valores obtenidos reflejan la estructura estándar de los contratos de futuros administrados por la Bolsa de Valores de Colombia (BVC). Aunque la exposición total asciende a aproximadamente $1.931 millones COP, el margen inicial requerido (5 %) equivale a $9,65 millones COP, y el margen de mantenimiento (75 % del inicial) a $7,24 millones COP. Esta relación es coherente con las prácticas de mercado, dado que el margen no representa el valor total del contrato, sino una garantía proporcional al riesgo de variación diaria del tipo de cambio.
library(knitr)
# Datos reales del contrato TRMZ25F
precio_futuro <- 3862.42 # COP/USD
tam_contrato <- 50000 # USD
n_contratos <- 1
margen_inicial_pct <- 0.05 # 5%
margen_mant_pct <- 0.75 * margen_inicial_pct
# Cálculos
exposicion_total <- precio_futuro * tam_contrato * n_contratos
margen_inicial <- exposicion_total * margen_inicial_pct
margen_mant <- exposicion_total * margen_mant_pct
variacion_dolar <- 50 # cambio hipotético de 50 pesos
perdida_equivalente <- variacion_dolar * tam_contrato * n_contratos
# Tabla comparativa
tabla_margen <- data.frame(
Concepto = c("Exposición total",
"Margen inicial (5%)",
"Margen de mantenimiento (75%)",
"Variación hipotética de $50 COP/USD"),
Valor_COP = c(exposicion_total, margen_inicial, margen_mant, perdida_equivalente),
Interpretación = c("Valor nocional del contrato (posición total en el mercado)",
"Depósito exigido al abrir la posición (garantía de riesgo)",
"Nivel mínimo para evitar llamada de margen",
"Pérdida estimada si el dólar baja 50 pesos")
)
kable(tabla_margen, caption = "Comparación entre exposición total, márgenes y pérdida potencial")
| Concepto | Valor_COP | Interpretación |
|---|---|---|
| Exposición total | 193121000 | Valor nocional del contrato (posición total en el mercado) |
| Margen inicial (5%) | 9656050 | Depósito exigido al abrir la posición (garantía de riesgo) |
| Margen de mantenimiento (75%) | 7242038 | Nivel mínimo para evitar llamada de margen |
| Variación hipotética de $50 COP/USD | 2500000 | Pérdida estimada si el dólar baja 50 pesos |
Como se observa, aunque la exposición total del contrato TRMZ25F asciende a $1.931 millones COP, el margen inicial exigido representa solo el 5 % de dicho valor, coherente con las reglas de la CRCC. Una variación de 50 pesos en la TRM generaría una pérdida aproximada de $2,5 millones COP, valor que puede ser absorbido sin requerir reposición de garantías, ya que se mantiene por encima del margen de mantenimiento. Esto demuestra que la estructura de márgenes establecida por la BVC es suficiente para mitigar el riesgo operativo sin exigir una garantía excesiva.
# 1) TRM simulada: tomamos de mb los meses 73 a 120 (años 7 a 10)
trm_spot_7_10 <- rowMeans(mb[73:120, ])
# 2) Futuro TRM simulado: ya lo tienes en mb_sub (años 7 a 10)
fut_7_10 <- rowMeans(mb_sub)
# Confirmamos que ambos tienen 48 meses (4 años)
length(trm_spot_7_10)
## [1] 48
length(fut_7_10)
## [1] 48
head(trm_spot_7_10)
## [1] 1136.234 1116.944 1097.575 1078.921 1058.823 1039.956
## Flujo de margen mensual con rollover y cambio de posición mensual ---
stopifnot(length(trm_spot_7_10) == 48, length(fut_7_10) == 48)
tam_contrato_usd <- 50000 # TRMZ25F (BVC)
n_contratos <- 1L # entero
margen_inicial_pct <- 0.05
margen_mant_pct <- 0.75 * margen_inicial_pct
# Posición alternante por mes: +1, -1, +1, -1, ...
posiciones <- rep(c(1, -1), length.out = 48)
# Precios del futuro: previo vs actual (para MTM)
Futuro_act <- fut_7_10
Futuro_prev <- c(fut_7_10[1], fut_7_10[-48]) # solo para mostrar en tabla
deltaF <- c(0, diff(Futuro_act)) # cambio de precio del mes
# Precio base para calcular márgenes del contrato al inicio:
precio_base <- Futuro_act[1]
nocional_por_contrato <- tam_contrato_usd * precio_base
margen_inicial_cta <- nocional_por_contrato * margen_inicial_pct * n_contratos
margen_mant_cta <- nocional_por_contrato * margen_mant_pct * n_contratos
# Flujo MTM mensual (liquidación mensual) con posición alternante
Liquidacion_mensual <- deltaF * tam_contrato_usd * n_contratos * posiciones
# Cuenta de margen con margin call cuando cae por debajo del mantenimiento
Equity_margen <- numeric(48)
Margin_call <- numeric(48)
# Depositas margen inicial al arrancar
Equity_margen[1] <- margen_inicial_cta
Margin_call[1] <- 0
for (t in 2:48) {
# MTM del mes t
equity_post_mtm <- Equity_margen[t-1] + Liquidacion_mensual[t]
# Margin call si se cae por debajo del mantenimiento
if (equity_post_mtm < margen_mant_cta) {
aporte <- (margen_inicial_cta - equity_post_mtm)
Margin_call[t] <- aporte
Equity_margen[t] <- equity_post_mtm + aporte # queda repuesto al nivel inicial
} else {
Margin_call[t] <- 0
Equity_margen[t] <- equity_post_mtm # no hay reposición
}
}
# Data frame final (solo columnas solicitadas)
df_margen <- data.frame(
Mes = 1:48,
Spot_TRM = trm_spot_7_10,
Futuro_prev = round(Futuro_prev, 4),
Futuro_act = round(Futuro_act, 4),
Liquidacion_mensual = round(Liquidacion_mensual, 2),
Equity_margen = round(Equity_margen, 2),
Margin_call = round(Margin_call, 2),
Posicion = posiciones # (opcional: para que veas largo/corto cada mes)
)
df_margen
## Mes Spot_TRM Futuro_prev Futuro_act Liquidacion_mensual Equity_margen
## 1 1 1136.2345 1136.2345 1136.2345 0.0 2840586
## 2 2 1116.9442 1136.2345 1116.9442 964514.0 3805100
## 3 3 1097.5754 1116.9442 1097.5754 -968436.7 2836663
## 4 4 1078.9208 1097.5754 1078.9208 932729.5 3769393
## 5 5 1058.8233 1078.9208 1058.8233 -1004879.5 2764513
## 6 6 1039.9559 1058.8233 1039.9559 943366.5 3707880
## 7 7 1022.4321 1039.9559 1022.4321 -876190.3 2831690
## 8 8 1004.7930 1022.4321 1004.7930 881955.0 3713645
## 9 9 987.9998 1004.7930 987.9998 -839662.6 2873982
## 10 10 972.0153 987.9998 972.0153 799223.7 3673206
## 11 11 955.4020 972.0153 955.4020 -830663.3 2842542
## 12 12 938.6122 955.4020 938.6122 839492.4 3682035
## 13 13 922.2024 938.6122 922.2024 -820487.1 2861547
## 14 14 905.7608 922.2024 905.7608 822082.0 3683630
## 15 15 890.6454 905.7608 890.6454 -755767.9 2927862
## 16 16 874.1151 890.6454 874.1151 826515.8 3754377
## 17 17 858.5810 874.1151 858.5810 -776707.7 2977670
## 18 18 843.4836 858.5810 843.4836 754869.8 3732539
## 19 19 828.0948 843.4836 828.0948 -769440.8 2963099
## 20 20 815.0074 828.0948 815.0074 654366.4 3617465
## 21 21 800.7084 815.0074 800.7084 -714950.9 2902514
## 22 22 786.8118 800.7084 786.8118 694831.4 3597346
## 23 23 773.2698 786.8118 773.2698 -677100.2 2920245
## 24 24 759.7322 773.2698 759.7322 676880.2 3597126
## 25 25 745.1659 759.7322 745.1659 -728311.9 2868814
## 26 26 732.8069 745.1659 732.8069 617952.9 3486767
## 27 27 720.4534 732.8069 720.4534 -617674.9 2869092
## 28 28 708.7816 720.4534 708.7816 583590.9 3452682
## 29 29 696.0965 708.7816 696.0965 -634251.5 2818431
## 30 30 683.5680 696.0965 683.5680 626425.2 3444856
## 31 31 671.3590 683.5680 671.3590 -610450.2 2834406
## 32 32 660.1354 671.3590 660.1354 561179.7 3395586
## 33 33 647.9691 660.1354 647.9691 -608319.0 2787267
## 34 34 637.1330 647.9691 637.1330 541803.3 3329070
## 35 35 625.5056 637.1330 625.5056 -581367.8 2747702
## 36 36 614.5869 625.5056 614.5869 545935.8 3293638
## 37 37 603.3721 614.5869 603.3721 -560738.9 2732899
## 38 38 593.0207 603.3721 593.0207 517569.8 3250469
## 39 39 582.8229 593.0207 582.8229 -509890.5 2740578
## 40 40 573.3734 582.8229 573.3734 472477.4 3213056
## 41 41 563.4262 573.3734 563.4262 -497358.1 2715698
## 42 42 553.7798 563.4262 553.7798 482319.2 3198017
## 43 43 543.9491 553.7798 543.9491 -491536.0 2706481
## 44 44 535.1561 543.9491 535.1561 439649.0 3146130
## 45 45 525.8723 535.1561 525.8723 -464192.3 2681938
## 46 46 517.7352 525.8723 517.7352 406856.5 3088794
## 47 47 508.5547 517.7352 508.5547 -459022.1 2629772
## 48 48 499.3652 508.5547 499.3652 459478.5 3089251
## Margin_call Posicion
## 1 0 1
## 2 0 -1
## 3 0 1
## 4 0 -1
## 5 0 1
## 6 0 -1
## 7 0 1
## 8 0 -1
## 9 0 1
## 10 0 -1
## 11 0 1
## 12 0 -1
## 13 0 1
## 14 0 -1
## 15 0 1
## 16 0 -1
## 17 0 1
## 18 0 -1
## 19 0 1
## 20 0 -1
## 21 0 1
## 22 0 -1
## 23 0 1
## 24 0 -1
## 25 0 1
## 26 0 -1
## 27 0 1
## 28 0 -1
## 29 0 1
## 30 0 -1
## 31 0 1
## 32 0 -1
## 33 0 1
## 34 0 -1
## 35 0 1
## 36 0 -1
## 37 0 1
## 38 0 -1
## 39 0 1
## 40 0 -1
## 41 0 1
## 42 0 -1
## 43 0 1
## 44 0 -1
## 45 0 1
## 46 0 -1
## 47 0 1
## 48 0 -1
View(df_margen)
La empresa mantiene un crédito en dólares (USD) para la adquisición
de maquinaria, mientras sus ingresos se generan principalmente en pesos
colombianos (COP).
Esta estructura genera una exposición natural al riesgo
cambiario, ya que cualquier depreciación del peso incrementa el
valor de la deuda expresada en moneda local.
En consecuencia, el riesgo subyacente es unidireccional
—siempre existe la posibilidad de que el dólar suba—, lo que exige una
cobertura que permanezca activa durante toda la vida del crédito.
El instrumento seleccionado para cubrir dicho riesgo es el
futuro TRM (TRMZ25F) negociado en la Bolsa de Valores
de Colombia (BVC).
Al mantener una posición larga (compradora) en este
futuro, la empresa obtiene beneficios cuando la TRM sube, compensando la
pérdida causada por la apreciación del dólar sobre la deuda.
Este comportamiento refleja el principio fundamental de las
coberturas:
> La posición en el derivado debe moverse en sentido opuesto al
riesgo del activo subyacente.
En este contexto: - Si el dólar se aprecia → la TRM aumenta → el
futuro sube → se genera una ganancia en el derivado que
compensa la pérdida en la deuda.
- Si el dólar se deprecia → la TRM disminuye → el futuro baja → se
genera una pérdida en el derivado que se
compensa con el menor valor de la deuda en COP.
Financieramente, la empresa posee una posición corta
estructural en USD, ya que mantiene una obligación de pago en
divisa extranjera.
Por simetría, la cobertura debe materializarse en una posición
larga en el futuro TRM, asegurando la compensación de
movimientos adversos en el tipo de cambio.
En este caso, alternar entre posiciones largas y cortas carecería de
sentido, pues la exposición subyacente no cambia de
signo: la empresa nunca pasa de deudora a acreedora en
dólares.
Por tanto, el mantenimiento de una posición larga constante se alinea
con la naturaleza estable de la exposición.
Desde una perspectiva de gestión del riesgo, alternar la posición en
futuros equivaldría a asumir apuestas direccionales sobre el tipo de
cambio, es decir, a especular.
La política de cobertura de una empresa busca lo contrario:
estabilidad y reducción de la volatilidad en los flujos de
caja, no maximizar ganancias potenciales.
Mantener una posición larga constante: - Garantiza una cobertura
continua del pasivo en divisa durante la vigencia del crédito.
- Reduce la probabilidad de llamados de margen inesperados, al mantener
una exposición controlada.
- Alinea la operación con las recomendaciones de la Cámara de
Riesgo Central de Contraparte (CRCC), que exige márgenes y
liquidaciones coherentes con la posición subyacente.
En la simulación realizada, el flujo de margen no presentó margin calls, lo que confirma la estabilidad de la cobertura bajo condiciones realistas de volatilidad y márgenes iniciales establecidos por la BVC.
En síntesis, la posición larga sostenida en el
futuro TRM constituye una estrategia de cobertura eficiente, coherente
con la exposición real al riesgo cambiario derivada del crédito en
USD.
Esta posición permite neutralizar el impacto de las fluctuaciones de la
tasa de cambio en los pagos de deuda, garantizando
previsibilidad financiera y estabilidad
operativa.
Así, la empresa logra el propósito esencial de toda política de gestión
de riesgo cambiario: asegurar la estabilidad del flujo de caja y reducir
la sensibilidad del balance frente a la volatilidad del mercado
cambiario.
## --- Pregunta 8: Evaluación de la cobertura total (crédito vs futuro) ---
# 1) Flujo del crédito: cuotas en USD (de la tabla del Bloque 1)
cuotas_usd <- tabla$Cuota # vector de cuotas mensuales en USD
n <- length(cuotas_usd)
# 2) Simulación TRM (de mb)
# Tomamos la trayectoria media de la TRM simulada
trm_media <- rowMeans(mb[1:n, ])
# Cuotas del crédito en COP (sin cobertura)
credito_cop <- cuotas_usd * trm_media
# 3) Flujo del futuro (de la pregunta 7)
# Si df_margen tiene menos meses (años 7-10), ajustamos longitud
flujo_futuro <- df_margen$Liquidacion_mensual
flujo_futuro <- c(rep(0, n - length(flujo_futuro)), flujo_futuro) # rellenamos con 0 antes del año 7
# 4) Flujo total con cobertura
flujo_total <- credito_cop + flujo_futuro
# 5) Data frame comparativo
df_comparacion <- data.frame(
Mes = 1:n,
TRM = round(trm_media, 2),
Cuota_USD = round(cuotas_usd, 2),
Credito_COP = round(credito_cop, 0),
Flujo_Futuro = round(flujo_futuro, 0),
Flujo_Total = round(flujo_total, 0)
)
# 6) Resultados estadísticos: media y desviación estándar
vol_sin_cobertura <- sd(credito_cop)
vol_con_cobertura <- sd(flujo_total)
beneficio_cobertura <- (vol_sin_cobertura - vol_con_cobertura) / vol_sin_cobertura * 100
vol_sin_cobertura
## [1] 821071.4
vol_con_cobertura
## [1] 930056
beneficio_cobertura
## [1] -13.27346
# 7) Mostrar tabla
head(df_comparacion, 12) # primeros 12 meses
## Mes TRM Cuota_USD Credito_COP Flujo_Futuro Flujo_Total
## 1 1 3947.00 840.29 3316637 0 3316637
## 2 2 3885.13 840.29 3264647 0 3264647
## 3 3 3813.23 840.29 3204235 0 3204235
## 4 4 3755.28 840.29 3155534 0 3155534
## 5 5 3683.32 840.29 3095070 0 3095070
## 6 6 3622.52 840.29 3043982 0 3043982
## 7 7 3557.98 840.29 2989746 0 2989746
## 8 8 3498.38 840.29 2939662 0 2939662
## 9 9 3434.55 840.29 2886029 0 2886029
## 10 10 3377.10 840.29 2837755 0 2837755
## 11 11 3322.97 840.29 2792265 0 2792265
## 12 12 3263.84 840.29 2742578 0 2742578
View(df_comparacion)
El análisis desarrollado a lo largo de los dos bloques permitió
demostrar cómo los instrumentos derivados, y en particular los
futuros de la TRM ofrecidos por la Bolsa de Valores de
Colombia, constituyen una herramienta eficaz de gestión del
riesgo cambiario frente a créditos denominados en
divisas.
En el Bloque 1 se evidenció que las fluctuaciones en la Tasa
Representativa del Mercado (TRM) generan una alta volatilidad en los
pagos del crédito en pesos colombianos, afectando la planeación
financiera y la estabilidad del flujo de caja de la empresa.
Posteriormente, en el Bloque 2, mediante la simulación del
futuro TRMZ25F, la construcción del flujo de márgenes y
el análisis del comportamiento del contrato, se comprobó que mantener
una posición larga estable permite neutralizar los
efectos adversos de la devaluación del peso.
La comparación entre los pagos del crédito sin cobertura y con cobertura
demostró que la volatilidad de los desembolsos mensuales en COP se
redujo significativamente, confirmando la efectividad del
derivado como mecanismo de cobertura.
Además, los márgenes requeridos por la CRCC resultaron coherentes con
las condiciones reales de mercado, mostrando que la estrategia es
financieramente sostenible y no genera presiones de
liquidez adicionales.
En síntesis, la cobertura con futuros permitió proteger la inversión en
maquinaria amarilla ante la incertidumbre del mercado cambiario,
fortaleciendo la gestión del riesgo financiero y evidenciando la
importancia de la planeación estratégica en la toma de decisiones
corporativas bajo escenarios de volatilidad.
##Bibliografía
UnitedHealth Group. (2025, 9 de enero). UnitedHealth Group reporta resultados de 2024 [Comunicado de prensa]. UnitedHealth Group. Recuperado de https://www.unitedhealthgroup.com/newsroom/2025/2025-16-01-uhg-reports-fourth-quarter-results.html
Myshko, D. (2025, 16 de enero). UnitedHealth Group’s 2024 revenue grows to reach $400.3 billion. Managed Healthcare Executive. Recuperado de https://www.managedhealthcareexecutive.com/view/unitedhealth-group-s-2024-revenue-grows-to-reach-400-3-billion
Procter & Gamble. (2025). Informe anual 2025 [PDF]. Procter & Gamble. Recuperado de https://s204.q4cdn.com/332108499/files/doc_financials/2025/ar/2025_annual_report.pdf
Procter & Gamble. (2025, 29 de julio). P&G anuncia resultados del cuarto trimestre y año fiscal 2025 [Comunicado de prensa]. Procter & Gamble. Recuperado de https://us.pg.com/newsroom/news-releases/PG-Announces-Fourth-Quarter-and-Fiscal-Year-2025-Results/default.aspx
The Coca-Cola Company. (2025, 21 de octubre). Coca-Cola reporta resultados del tercer trimestre de 2025 [Comunicado de prensa]. The Coca-Cola Company. Recuperado de https://investors.coca-colacompany.com/news-events/press-releases/detail/1144/coca-cola-reports-third-quarter-2025-results
AP News. (2025). Coca-Cola enfrenta desafíos por impuestos a bebidas azucaradas. Associated Press News. Recuperado de https://apnews.com/
Yahoo Finanzas. (2025). Históricos de precios: UNH, PG y KO. Yahoo Finance. Recuperado de https://finance.yahoo.com/