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)

EXPLICACION TASA DE INTERES MAQUINARIA AMARILLA

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")
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)

Conclusión e interpretación del Bloque 2

Análisis de la posición en el futuro TRM y justificación estratégica

1. Contexto del riesgo cambiario

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.

2. Lógica de la cobertura con futuros

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.

3. Fundamento técnico: posición estructural

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.

4. Justificación estratégica y operativa

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.

5. Conclusión general

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)

Conclusión General del Taller: Cobertura cambiaria con derivados financieros

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/