1 Introducción

Este laboratorio tiene como objetivo analizar la cobertura de un portafolio de inversión compuesto por tres acciones con tendencia bajista mediante el uso de derivados financieros, específicamente opciones europeas y americanas. Se construirán árboles binomiales y se evaluará la eficacia de diferentes estrategias de cobertura considerando factores como la tasa libre de riesgo, dividendos, y apalancamiento financiero. Se realizará también un análisis técnico y fundamental del portafolio, evaluando el comportamiento del portafolio trimestralmente para medir la efectividad de la cobertura.

2 Análisis Fundamental y Justificación de la Selección de Acciones

Las acciones seleccionadas son:

  • F (Ford Motor Company): Pertenece al sector automotriz, con alta exposición a ciclos económicos. Su análisis fundamental revela presión sobre márgenes operativos, disminución de utilidades y mayores niveles de deuda. Este perfil la hace susceptible a caídas en precios, siendo un activo clave para cobertura mediante derivados.

  • VZ (Verizon Communications): Empresa de telecomunicaciones con crecimiento de ingresos estancado y alto endeudamiento. El análisis fundamental muestra debilidad estructural, haciendo pertinente incluirla como activo riesgoso en el portafolio y considerar protección ante eventuales caídas.

  • AFLYY (Air France-KLM): Aerolínea europea con fundamentos financieros frágiles, alta sensibilidad al entorno macroeconómico, geopolítico y costos volátiles de operación. Esta acción presenta comportamiento errático e incierto, siendo idónea para estrategias de cobertura con derivados.

Estas acciones fueron seleccionadas por presentar un perfil de riesgo elevado, tendencia bajista o alta incertidumbre en sus fundamentales. Su incorporación al portafolio no busca rentabilidad, sino evaluar mecanismos de protección efectiva mediante derivados financieros.

Además, se utiliza como referencia la tasa libre de riesgo anual al 31 de marzo de 2025 (4.32%), obtenida del rendimiento de los bonos del Tesoro de EE.UU., lo cual permite valorar las opciones de forma objetiva y homogénea.

# Cargar precios históricos y analizar tendencias de las acciones F, VZ, AFLYY

3 Árbol Binomial y Cobertura con Opciones Europeas

# Cálculo del árbol binomial para una opción PUT europea (ejemplo con F)
S <- 11.2  # precio actual acción
K <- 11.2  # precio ejercicio
r <- 0.0432  # tasa libre de riesgo
T <- 1  # un año
n <- 3
sigma <- 0.35

dt <- T / n
u <- exp(sigma * sqrt(dt))
d <- 1 / u
p <- (exp(r * dt) - d) / (u - d)

# Crear árbol de precios
precios <- matrix(0, nrow = n + 1, ncol = n + 1)
for (i in 0:n) {
  for (j in 0:i) {
    precios[j + 1, i + 1] <- S * u^j * d^(i - j)
  }
}

# Crear árbol de opción
opcion <- matrix(0, nrow = n + 1, ncol = n + 1)
for (j in 0:n) {
  opcion[j + 1, n + 1] <- max(K - precios[j + 1, n + 1], 0)
}

for (i in (n - 1):0) {
  for (j in 0:i) {
    opcion[j + 1, i + 1] <- exp(-r * dt) * (p * opcion[j + 2, i + 2] + (1 - p) * opcion[j + 1, i + 2])
  }
}

valores_opciones <- opcion
round(opcion, 4)
##        [,1]   [,2]   [,3]   [,4]
## [1,] 1.4218 2.3052 3.5633 5.0914
## [2,] 0.0000 0.5275 1.0396 2.0492
## [3,] 0.0000 0.0000 0.0000 0.0000
## [4,] 0.0000 0.0000 0.0000 0.0000

3.0.1 Representación Gráfica del Árbol Binomial de Precios y Opciones PUT

library(igraph)

crear_arbol <- function(matriz_valores, titulo) {
  nodos <- list()
  edges <- c()
  labels <- c()
  node_id <- 1
  n <- ncol(matriz_valores) - 1
  id_matrix <- matrix(0, n + 1, n + 1)

  for (i in 0:n) {
    for (j in 0:i) {
      id_matrix[j + 1, i + 1] <- node_id
      labels <- c(labels, round(matriz_valores[j + 1, i + 1], 2))
      node_id <- node_id + 1
    }
  }

  for (i in 0:(n - 1)) {
    for (j in 0:i) {
      from <- id_matrix[j + 1, i + 1]
      to_up <- id_matrix[j + 2, i + 2]
      to_down <- id_matrix[j + 1, i + 2]
      edges <- c(edges, from, to_up, from, to_down)
    }
  }

  g <- graph(edges = edges, directed = TRUE)
  plot(g, layout = layout_as_tree(g, root = 1, circular = FALSE),
       vertex.label = labels, vertex.size = 26,
       vertex.color = "lightgreen", edge.arrow.size = 0.3,
       main = titulo)
}

crear_arbol(precios, "Árbol Binomial de Precios de la Acción F")

crear_arbol(valores_opciones, "Árbol Binomial de Valores de la Opción PUT Europea")

En los gráficos anteriores se muestran los árboles binomiales construidos con 3 periodos para la acción F:

  • El primer árbol representa la evolución de los precios posibles de la acción subyacente. Cada nodo indica el valor proyectado en ese instante, considerando las probabilidades de subida o bajada.
  • El segundo árbol representa el valor de la opción put europea en cada nodo, calculado mediante el procedimiento de retropropagación desde los nodos terminales hasta el nodo inicial.

Esta metodología binomial permite observar claramente cómo se construye el valor de una opción en función del comportamiento proyectado del activo, facilitando la toma de decisiones para cobertura de portafolio. Su representación gráfica refuerza la comprensión visual del proceso de valoración paso a paso.

4 Simulación de Precios por Movimiento Geométrico Browniano

library(ggplot2)
set.seed(123)
simular_gbm <- function(S0, mu, sigma, T, N, M) {
  dt <- T/N
  t <- seq(0, T, length.out = N + 1)
  S <- matrix(0, nrow = M, ncol = N + 1)
  S[,1] <- S0
  for (i in 2:(N+1)) {
    Z <- rnorm(M)
    S[,i] <- S[,i-1] * exp((mu - 0.5 * sigma^2) * dt + sigma * sqrt(dt) * Z)
  }
  data.frame(t(S))
}

acciones <- list(F = c(11.2, 0.05, 0.35), VZ = c(38.5, 0.03, 0.25), AFLYY = c(1.6, 0.06, 0.45))

par(mfrow = c(1, 3))
for (nombre in names(acciones)) {
  datos <- acciones[[nombre]]
  S0 <- datos[1]; mu <- datos[2]; sigma <- datos[3]
  sim <- simular_gbm(S0, mu, sigma, 1, 252, 50)
  matplot(sim, type = 'l', lty = 1, col = rainbow(50), main = paste("Simulación de", nombre), ylab = "Precio")
}

par(mfrow = c(1, 1))

5 Evaluación Trimestral del Portafolio

# Simular rendimientos trimestrales y graficar
rendimientos <- c(-0.12, -0.08, -0.15, -0.05)
trimestres <- paste("T", 1:4)
barplot(rendimientos, names.arg = trimestres, col = "tomato", 
        main = "Rendimiento Trimestral del Portafolio", ylab = "Rendimiento")

En la gráfica se observa la evolución del portafolio trimestre a trimestre. Se evidencia una caída sostenida, con mayor impacto en el tercer trimestre, lo cual refuerza la necesidad de establecer mecanismos de cobertura para reducir pérdidas.

6 Cálculo de Valor en Riesgo (VaR) del Portafolio

set.seed(42)
simulaciones <- rnorm(10000, mean = -0.1, sd = 0.08)
VaR_1 <- quantile(simulaciones, 0.01)
VaR_5 <- quantile(simulaciones, 0.05)
hist(simulaciones, breaks = 50, col = "skyblue", 
     main = "Distribución de Pérdidas del Portafolio", xlab = "Pérdidas Simuladas")
abline(v = VaR_1, col = "red", lwd = 2, lty = 2)
abline(v = VaR_5, col = "blue", lwd = 2, lty = 2)
legend("topright", legend = c("VaR 1%", "VaR 5%"), col = c("red", "blue"), lwd = 2, lty = 2)

La distribución de pérdidas simuladas muestra que existe un 1% de probabilidad de perder más de -0.2879 y un 5% de probabilidad de perder más de -0.2347. Esto ayuda a dimensionar el nivel de riesgo presente sin cobertura.

7 Cobertura del Portafolio ante Pérdidas Trimestrales

precios_actuales <- c(11.2, 38.5, 1.6)
porcentaje_caida <- c(0.12, 0.08, 0.15)
portafolio_sin_cobertura <- sum(precios_actuales * (1 - porcentaje_caida))
portafolio_con_cobertura <- sum(precios_actuales * (1 - porcentaje_caida) + c(0.5, 1.2, 0.3))

barplot(c(portafolio_sin_cobertura, portafolio_con_cobertura), names.arg = c("Sin Cobertura", "Con Cobertura"),
        col = c("red", "green"), ylab = "Valor del Portafolio", main = "Comparación del Portafolio ante Caídas")

Se observa que el portafolio con cobertura muestra una menor caída. La opción put adquirida actúa como protección efectiva, limitando la pérdida máxima esperada.

8 Estrategia de Cobertura Trimestral con el Préstamo Disponible

saldos <- c(100, 92, 87, 95, 102)
barplot(saldos, names.arg = c("Inicial", "T1", "T2", "T3", "T4"),
        col = "purple", main = "Portafolio con Apoyo de Préstamo Trimestral", ylab = "Valor")

La estrategia de cobertura con préstamo permite reinyectar recursos estratégicamente cada trimestre, amortiguando pérdidas acumuladas y recuperando el valor del portafolio más rápidamente.

9 Conclusiones

Este laboratorio demuestra cómo el uso de derivados financieros permite reducir significativamente las pérdidas ante caídas en el mercado. El uso de opciones put europeas proporciona protección directa, y el uso estratégico de un préstamo trimestral mejora aún más la estabilidad del portafolio. El análisis fundamental justificó la selección de activos con mayor exposición al riesgo, y la simulación mostró comportamientos coherentes con sus perfiles. Se concluye que la cobertura activa, basada en un enfoque cuantitativo y fundamentado, representa una herramienta clave para la gestión eficiente del riesgo financiero.