Se parte de seleccionar tres activos, para ello se obtienen datos históricos de los precios de cierre ajustados de las siguientes acciones: * Apple (AAPL) * Netflix (NFLX) * Amazon (AMZN)
Se considera un período de tiempo entre el 01-10-2023 hasta la fecha actual. Con esta información se procede a construir un portafolio óptimo basado en la teoría de Harry Markowitz. Esta teoría plantera que un inversor puede maximizar la rentabilidad esperada para un nivel de riesgo dado, o minimizar el riesgo para un nivel de rentabilidad deseado, mediante la diversificación de activos.
Antes de construir el portafolio óptimo, veamos la evolución de cada activo junto con su rendimiento:
## [1] "AAPL" "NFLX" "AMZN"
Tendencia: Apple ha mostrado una recuperación y estabilidad, lo anterior está asociado a que la compañía de California alcanzó un nuevo máximo en 2025 cuando fue impulsada por el entusiasmo en la demanda del iPhone 17. Asímismo, recientemente se informó que Apple está preparando una línea más económica de portátiles “budget Mac”, lo que podría ampliar su mercado más allá del segmento premium. También se conoció que Apple planearía utilizar un modelo de inteligencia artificial de Google LLC para impulsar la nueva versión de su asistente Siri, lo que sugiere esfuerzos de innovación en IA.
Netflix ha tenido un comportamiento mixto: por un lado impulsado por crecimiento, por otro lado afectado por noticias adversas.
Factores explicativos: Buenas noticias: aumentó sus ingresos, mejoró estimaciones y apostó por complementar su modelo de negocio con publicidad, lo cual generó expectativas positivas. Noticias negativas: enfrentó una disputa fiscal en Brasil que afectó sus utilidades del trimestre, lo que generó caída en la acción. También aprobó un split de 10-por-1, lo cual suele interpretarse como una señal de que la empresa está confiada en su futuro crecimiento.
Amazon ha tenido un repunte reciente, especialmente impulsado por negocios de nube e IA. Además, la compañía firmó un contrato de US$ 38 mil millones aprox. con OpenAI para suministrar chips de NVIDIA Corporation para IA, lo que generó entusiasmo en los mercados y dinamisó el comportamiento de su acción.
Para construir el portafolio eficiente es preciso calcular los rendimientos esperados, la matriz de covarianza y las ponderaciones óptimas para las tres acciones seleccionadas.
Una vez obtenidos los datos históricos, calculamos los rendimientos diarios logarítmicos para cada acción.
El rendimiento esperado de cada acción será la media de los rendimientos diarios. La matriz de covarianza se calculará a partir de los rendimientos diarios.
Las ponderaciones óptimas serán aquellas que minimicen la varianza del portafolio, sujeto a la restricción de que la suma de las ponderaciones sea igual a 1.
## Las ponderaciones óptimas son: Apple 0.486277 Netflix 0.297802 Amazon 0.2159211
## Las asignaciones de capital son:
## AAPL NFLX AMZN
## 4862770 2978020 2159211
Para simular los precios futuros de las acciones hasta la fecha máxima de inversión (dos años en el futuro, con pagos trimestrales), utilizaremos un Movimiento Geométrico Browniano (MGB). Este modelo requiere los siguientes parámetros:
Ahora sae muestran los resultados de los pesos óptimos, la asignación de
capital y las primeras cinco filas de los precios simulados de cada
accción:
## [1] "Los pesos óptimos del portafolio son:"
## AAPL NFLX AMZN
## 0.4862770 0.2978020 0.2159211
## [1] "La asignación de capital es:"
## AAPL NFLX AMZN
## 4862770 2978020 2159211
## [1] "Los precios simulados para cada acción son (las cinco primeras filas):"
##
## Simulaciones para AAPL :
## [,1] [,2] [,3] [,4]
## [1,] 273.9755 273.4836 277.2302 277.4499
## [2,] 275.6076 279.7597 280.9242 277.9321
## [3,] 273.6775 272.6797 275.6200 276.5264
## [4,] 276.2526 276.5672 275.2976 279.6179
## [5,] 276.4836 271.8914 273.5889 272.5278
## [6,] 272.7812 272.3201 269.9748 268.3353
##
## Simulaciones para NFLX :
## [,1] [,2] [,3] [,4]
## [1,] 1139.256 1147.391 1155.831 1141.274
## [2,] 1113.641 1139.583 1142.814 1147.747
## [3,] 1123.175 1136.792 1158.927 1177.731
## [4,] 1113.670 1102.388 1104.004 1112.419
## [5,] 1130.658 1121.290 1124.451 1114.176
## [6,] 1160.989 1140.035 1146.517 1123.858
##
## Simulaciones para AMZN :
## [,1] [,2] [,3] [,4]
## [1,] 250.4290 255.0204 250.8208 251.6013
## [2,] 248.5014 247.6333 245.9998 245.5924
## [3,] 251.4877 249.5130 248.8120 249.9170
## [4,] 250.2844 254.7226 254.0326 253.6547
## [5,] 244.8053 248.0718 249.9390 252.4734
## [6,] 246.7101 250.5268 248.8764 252.6880
Este análisis incluye los siguientes puntos: a. Índice Sharpe. b. Volatilidad del portafolio. c. Precios esperados al cierre de cada trimestre. d. Comportamiento del mercado. e. Estructura de ganancias esperadas y pérdidas (VaR al 1% y 5%).
El índice Sharpe mide el rendimiento ajustado al riesgo del portafolio. Se calcula como:
\[ Sharpe = \frac{R_p - R_f}{\sigma_p} \] Donde: - \(R_p\): Rendimiento esperado del portafolio. - \(R_f\): Tasa libre de riesgo. - \(\sigma_p\): Volatilidad del portafolio.
# Rendimiento esperado del portafolio
expected_return <- sum(weights * mean_returns)
# Tasa libre de riesgo (supongamos 4.5% anual, ajustado trimestralmente)
risk_free_rate <- 0.045 / 4
# Volatilidad del portafolio
portfolio_volatility <- sqrt(t(weights) %*% cov_matrix %*% weights)
# Índice Sharpe
sharpe_ratio <- (expected_return - risk_free_rate) / portfolio_volatility
sharpe_ratio
## [,1]
## [1,] -0.680433
El índice Sharpe calculado es negativo, esto quiere decir que por cada unidad de riesgo asumido, el portafolio está entregando un rendimiento 0.68 unidades aprox. por debajo de la tasa libre de riesgo. En otras palabras, el portafolio no está siendo compensado por el riesgo que asume, de hecho, está rindiendo peor que mantener una inversión libre de riesgo, por lo tanto, este portafolio está destruyendo valor.
\[ \sigma_p = \sqrt{w' \Sigma w} \]
# Volatilidad del portafolio
portfolio_volatility <- sqrt(t(weights) %*% cov_matrix %*% weights)
portfolio_volatility
## [,1]
## [1,] 0.01460301
Este nivel de volatilidad indica que:
El riesgo total está bien diversificado. Ningún activo domina completamente la varianza.
Sin embargo, el Sharpe Ratio negativo (-0.68) sugiere que aunque el riesgo está bajo control, el rendimiento esperado no está compensando ese riesgo (el retorno esperado está por debajo del 1.125% trimestral).
Es posible que el portafolio tenga alta exposición a activos que han corregido recientemente (como AMZN o NFLX, que tuvieron caídas en el último trimestre de 2024 e inicios de 2025 según Bloomberg y Yahoo Finance).
AAPL:
Tendencia general: - Comienza en 275.35 y termina en 275.65, lo que significa que el precio espera presenta un crecimiento constante y estable a lo largo de los 8 trimestres. - No hay señales de volatilidad ni fluctuaciones bruscas, lo cual indica un escenario conservador o de baja variabilidad en el modelo utilizado.
Pendiente y ritmo de crecimiento: -El incremento total en el periodo es de aproximadamente 0.35 USD en 8 trimestres, es decir:
Crecimiento trimestral promedio ≈ 275.65 - 275.30 / 8 ≈ 0.04375 USD por trimestre.
Esto representa una variación porcentual muy baja (~0.016% trimestral), lo que sugiere una ganancia esperada marginal.
Interpretación económica: - El modelo refleja una expectativa de estabilidad en el precio de AAPL más que una proyección de crecimiento fuerte. - Puede representar un escenario de mercado maduro, donde los precios ya incorporan gran parte del valor fundamental. - Si esl objetivo es invertir buscando rentabilidad alta, este escenario implicaría que la acción tiene bajo potencial de ganancia esperada y posiblemente un riesgo también bajo. - La acción se mantiene estable; los retornos esperados son moderados y podrían considerarse adecuados para un portafolio conservador o de bajo riesgo.
NFLX:
Tendencia general: -La gráfica muestra una tendencia ascedente sostenida, sin variaciones abruptas. Esto indica que el modelo proyecta que el precio de Netflix se incrementará de manera gradual en los próximos 8 trimestres.
Crecimiento esperado: - El aumento total estimado es de unos 3.5 USD en 8 trimestres, es decir:
1,140.5 - 1,137 / 8 = 0.4375 USD por trimestre
Esto representa una variación porcentual trimestral de aproximadamente:
0.4375 / 1,137 * 1000.0385% por lo tanto, el crecimiento proyectado es muy leve, aunque positivo.
Interpretación económica: - El precio esperado se mantiene estable y creciente, lo que refleja confianza moderada en la valorización de la acción. - La pendiente más pronunciada que la de AAPL sugiere que Netflix tiene un potencial de ganacia esperada ligeramente mayor (en valor absoluto y relativo), aunque sigue siendo un escenario conservador. - Esto podría reflejar que los analistas o o el modelo esperan una recuperación gradual en su rentabilidad, sin asumir volatilidades extremas.
AMZN:
Tendencia general: - Se evidencia una tendencia ascendente lineal y estable. - El precio esperado aumenta suavemente a lo largo de los 8 trimestres, reflejando un crecimiento moderado pero sostenido en las expectativas de mercado o en el modelo utilizado.
Crecimiento esperado: - El precio pasa de 249.15 a 249.60 USD, es decir:
Aumento total = 249.60 - 249.15 = 0.45 USD en 8 trimestres.
0.45/8 = 0.05625 USD por trimestre.
y su variación porcentual trimestral aproximada:
0.05625 / 249.15 * 100 ≈ 0.0226% esto muestra un crecimiento leve, casi plano, pero positivo.
Interpretación económica: - El comportamiento proyectado indica estabilidad del precio con leve apreciación. - El modelo sugiere que el mercado no espera cambios abrutos ni volatilidad significtiva para la acción de Amazon en los próximos 8 trimestres. Esto podría interpretarse como un. escenario de madurez: la empresa mantiene un valor de mercado alto y sólido, pero con bajo potencial de valorización a corto y mediano plazo.
En resumen: - AMZN y AAPL muestran trayectorias muy parecidas, ambas tienen crecimiento estable y bajo riesgo, ideales para portafolios conservadores. - NFLX, en cambio, proyecta una ganancia esperado algo mayor, lo que sugiere más potencial de retorno, aunque con la posibilidad de mayor esposición al riesgo.
## $`VaR 1% Apple`
## 1%
## 1074.84
##
## $`VaR 5% Apple`
## 5%
## 1081.067
##
## $`VaR 1% Netflix`
## 1%
## 4404.289
##
## $`VaR 5% Netflix`
## 5%
## 4446.996
##
## $`VaR 1% Amazon`
## 1%
## 965.2225
##
## $`VaR 5% Amazon`
## 5%
## 975.4637
Estos son los valores de VaR al 1% y al 5%. El VaR mide la pérdida máxima esperada de una inversión para un nivel de confianza dado.
Por lo tanto:
Comparación de riesgo relativo: - NFLX → Mayor Var → Mayor exposición al riesgo. - AAPL → Riesgo medio - AMZN → Riesgo más bajo de las tres acciones.
Esto indica que Netflix presenta una mayor volatilidad y sensibilidad a escenarios adversos de mercado, mientras que Amazon es la más estable.
Estructura de ganancias esperadas y pérdidas: El análisis del VaR se complementa con la ganancia esperada (retorno medio) y su distribución de pérdidas.
Para resolver el problema de la valuación de opciones europeas y americanas para cada activo y la cobertura de la inversión, seguiremos los siguientes pasos:
## Accion European_Call European_Put American_Call American_Put
## AAPL AAPL 53.29565 29.60521 46.59673 31.31281
## NFLX NFLX 250.18393 152.37189 267.32341 134.81243
## AMZN AMZN 53.50964 32.06990 55.04093 29.33727
En la tabla de valuación de opciones, observamos los precios de las opciones europeas y americanas (call y put) para las acciones AAPL, NFLX y AMZN Por ejemplo, la opción europea call para AAPL tiene un valor de 24.50, mientras que la opción americana call tiene un valor ligeramente menor de 21.39. Esto refleja las diferencias en las características de las opciones europeas y americanas, ya que las americanas permiten el ejercicio anticipado. Estos resultados, junto con el árbol binomial, nos ayudan a comprender mejor el comportamiento de los precios y las opciones en diferentes escenarios de mercado.
# Función binomial para valuación de CALL americana
n_steps <- 8
r <- 0.045
T <- 2
c_binomial_tree <- function(S, K, r, sigma, T, n = 8) {
dt <- T / n
u <- exp(sigma * sqrt(dt))
d <- 1 / u
p <- (exp(r * dt) - d) / (u - d)
# Árboles
stock_tree <- matrix(0, nrow = n + 1, ncol = n + 1)
option_tree <- matrix(0, nrow = n + 1, ncol = n + 1)
# Generar árbol de precios
for (i in 0:n) {
for (j in 0:i) {
stock_tree[j + 1, i + 1] <- S * u^j * d^(i - j)
if (i == n) {
option_tree[j + 1, i + 1] <- max(stock_tree[j + 1, i + 1] - K, 0)
}
}
}
# Retropropagación
for (i in (n - 1):0) {
for (j in 0:i) {
option_tree[j + 1, i + 1] <- max(
stock_tree[j + 1, i + 1] - K, # valor si se ejerce
exp(-r * dt) * (p * option_tree[j + 1, i + 2] + (1 - p) * option_tree[j + 2, i + 2]) # valor esperado descontado
)
}
}
return(list(
Precio = option_tree[1, 1],
Arbol_Precios = stock_tree,
Arbol_Opcion = option_tree
))
}
p_binomial_tree <- function(S, K, r, sigma, T, n = 8) {
dt <- T / n
u <- exp(sigma * sqrt(dt))
d <- 1 / u
p <- (exp(r * dt) - d) / (u - d)
# Árboles
stock_tree <- matrix(0, nrow = n + 1, ncol = n + 1)
option_tree <- matrix(0, nrow = n + 1, ncol = n + 1)
# Generar árbol de precios
for (i in 0:n) {
for (j in 0:i) {
stock_tree[j + 1, i + 1] <- S * u^j * d^(i - j)
if (i == n) {
option_tree[j + 1, i + 1] <- max(K - stock_tree[j + 1, i + 1], 0)
}
}
}
# Retropropagación
for (i in (n - 1):0) {
for (j in 0:i) {
option_tree[j + 1, i + 1] <- max(
stock_tree[j + 1, i + 1] - K, # valor si se ejerce
exp(-r * dt) * (p * option_tree[j + 1, i + 2] + (1 - p) * option_tree[j + 2, i + 2]) # valor esperado descontado
)
}
}
return(list(
Precio = option_tree[1, 1],
Arbol_Precios = stock_tree,
Arbol_Opcion = option_tree
))
}
# Calcular opciones individuales
resultados_call <- list()
for (sym in names(S)) {
resultados_call[[sym]] <- c_binomial_tree(
S = S[[sym]],
K = K[[sym]],
r = r,
sigma = sigma[[sym]],
T = T,
n = n_steps
)
}
resultados_put <- list()
for (sym in names(S)) {
resultados_put[[sym]] <- p_binomial_tree(
S = S[[sym]],
K = K[[sym]],
r = r,
sigma = sigma[[sym]],
T = T,
n = n_steps
)
}
resultados_call[["AAPL"]]$Arbol_Precios
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
## [1,] 275.25 240.084 209.4107 182.6563 159.3201 138.9653 121.2110 105.7251
## [2,] 0.00 315.567 275.2500 240.0840 209.4107 182.6563 159.3201 138.9653
## [3,] 0.00 0.000 361.7893 315.5670 275.2500 240.0840 209.4107 182.6563
## [4,] 0.00 0.000 0.0000 414.7820 361.7893 315.5670 275.2500 240.0840
## [5,] 0.00 0.000 0.0000 0.0000 475.5368 414.7820 361.7893 315.5670
## [6,] 0.00 0.000 0.0000 0.0000 0.0000 545.1906 475.5368 414.7820
## [7,] 0.00 0.000 0.0000 0.0000 0.0000 0.0000 625.0468 545.1906
## [8,] 0.00 0.000 0.0000 0.0000 0.0000 0.0000 0.0000 716.5999
## [9,] 0.00 0.000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
## [,9]
## [1,] 92.21758
## [2,] 121.21103
## [3,] 159.32009
## [4,] 209.41073
## [5,] 275.25000
## [6,] 361.78931
## [7,] 475.53679
## [8,] 625.04678
## [9,] 821.56310
resultados_call[["AAPL"]]$Arbol_Opcion
## [,1] [,2] [,3] [,4] [,5] [,6] [,7]
## [1,] 46.59673 24.26756 9.841855 2.379157 0.000000 0.00000 0.00000
## [2,] 0.00000 70.64203 39.667996 17.746546 4.881813 0.00000 0.00000
## [3,] 0.00000 0.00000 104.134453 63.134729 31.391131 10.01704 0.00000
## [4,] 0.00000 0.00000 0.000000 148.711658 97.246672 54.10467 20.55404
## [5,] 0.00000 0.00000 0.000000 0.000000 205.080391 143.87008 89.86867
## [6,] 0.00000 0.00000 0.000000 0.000000 0.000000 272.77054 202.73753
## [7,] 0.00000 0.00000 0.000000 0.000000 0.000000 0.00000 351.09265
## [8,] 0.00000 0.00000 0.000000 0.000000 0.000000 0.00000 0.00000
## [9,] 0.00000 0.00000 0.000000 0.000000 0.000000 0.00000 0.00000
## [,8] [,9]
## [1,] 0.00000 0.00000
## [2,] 0.00000 0.00000
## [3,] 0.00000 0.00000
## [4,] 0.00000 0.00000
## [5,] 42.17503 0.00000
## [6,] 141.00616 86.53931
## [7,] 270.91005 200.28679
## [8,] 441.65606 349.79678
## [9,] 0.00000 546.31310
resultados_call[["AAPL"]]$Precio
## [1] 46.59673
resultados_call[["NFLX"]]$Arbol_Precios
## [,1] [,2] [,3] [,4] [,5] [,6] [,7]
## [1,] 1136.44 966.0756 821.2507 698.1365 593.4785 504.5098 428.8785
## [2,] 0.00 1336.8475 1136.4399 966.0756 821.2507 698.1365 593.4785
## [3,] 0.00 0.0000 1572.5963 1336.8475 1136.4399 966.0756 821.2507
## [4,] 0.00 0.0000 0.0000 1849.9186 1572.5963 1336.8475 1136.4399
## [5,] 0.00 0.0000 0.0000 0.0000 2176.1458 1849.9186 1572.5963
## [6,] 0.00 0.0000 0.0000 0.0000 0.0000 2559.9022 2176.1458
## [7,] 0.00 0.0000 0.0000 0.0000 0.0000 0.0000 3011.3327
## [8,] 0.00 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
## [9,] 0.00 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
## [,8] [,9]
## [1,] 364.5850 309.9299
## [2,] 504.5098 428.8785
## [3,] 698.1365 593.4785
## [4,] 966.0756 821.2507
## [5,] 1336.8475 1136.4399
## [6,] 1849.9186 1572.5963
## [7,] 2559.9022 2176.1458
## [8,] 3542.3716 3011.3327
## [9,] 0.0000 4167.0576
resultados_call[["NFLX"]]$Arbol_Opcion
## [,1] [,2] [,3] [,4] [,5] [,6] [,7]
## [1,] 267.3234 138.8332 56.31204 13.65429 0.00000 0.0000 0.0000
## [2,] 0.0000 398.8268 222.55478 99.24466 27.29882 0.0000 0.0000
## [3,] 0.0000 0.0000 579.95033 347.99636 171.74958 54.5781 0.0000
## [4,] 0.0000 0.0000 0.00000 819.52159 527.95836 290.0579 109.1171
## [5,] 0.0000 0.0000 0.00000 0.00000 1122.68445 772.1760 473.3097
## [6,] 0.0000 0.0000 0.00000 0.00000 0.00000 1490.2125 1081.4145
## [7,] 0.0000 0.0000 0.00000 0.00000 0.00000 0.0000 1922.9048
## [8,] 0.0000 0.0000 0.00000 0.00000 0.00000 0.0000 0.0000
## [9,] 0.0000 0.0000 0.00000 0.00000 0.00000 0.0000 0.0000
## [,8] [,9]
## [1,] 0.0000 0.0000
## [2,] 0.0000 0.0000
## [3,] 0.0000 0.0000
## [4,] 0.0000 0.0000
## [5,] 218.1562 0.0000
## [6,] 733.1599 436.1563
## [7,] 1445.8177 1039.7059
## [8,] 2431.9877 1874.8928
## [9,] 0.0000 3030.6176
resultados_call[["NFLX"]]$Precio
## [1] 267.3234
resultados_call[["AMZN"]]$Arbol_Precios
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
## [1,] 249.1 212.8561 181.8856 155.4213 132.8076 113.4841 96.97222 82.8628
## [2,] 0.0 291.5154 249.1000 212.8561 181.8856 155.4213 132.80756 113.4841
## [3,] 0.0 0.0000 341.1530 291.5154 249.1000 212.8561 181.88558 155.4213
## [4,] 0.0 0.0000 0.0000 399.2427 341.1530 291.5154 249.10001 212.8561
## [5,] 0.0 0.0000 0.0000 0.0000 467.2235 399.2427 341.15301 291.5154
## [6,] 0.0 0.0000 0.0000 0.0000 0.0000 546.7797 467.22350 399.2427
## [7,] 0.0 0.0000 0.0000 0.0000 0.0000 0.0000 639.88237 546.7797
## [8,] 0.0 0.0000 0.0000 0.0000 0.0000 0.0000 0.00000 748.8380
## [9,] 0.0 0.0000 0.0000 0.0000 0.0000 0.0000 0.00000 0.0000
## [,9]
## [1,] 70.80629
## [2,] 96.97222
## [3,] 132.80756
## [4,] 181.88558
## [5,] 249.10001
## [6,] 341.15301
## [7,] 467.22350
## [8,] 639.88237
## [9,] 876.34600
resultados_call[["AMZN"]]$Arbol_Opcion
## [,1] [,2] [,3] [,4] [,5] [,6] [,7]
## [1,] 55.04093 28.60797 11.60597 2.813059 0.00000 0.00000 0.00000
## [2,] 0.00000 82.35373 46.02319 20.540911 5.65133 0.00000 0.00000
## [3,] 0.00000 0.00000 120.04420 72.195496 35.69095 11.35331 0.00000
## [4,] 0.00000 0.00000 0.00000 169.944291 109.82934 60.50187 22.80837
## [5,] 0.00000 0.00000 0.00000 0.000000 233.06634 160.95864 99.04579
## [6,] 0.00000 0.00000 0.00000 0.000000 0.00000 309.43773 225.65235
## [7,] 0.00000 0.00000 0.00000 0.000000 0.00000 0.00000 399.04538
## [8,] 0.00000 0.00000 0.00000 0.000000 0.00000 0.00000 0.00000
## [9,] 0.00000 0.00000 0.00000 0.000000 0.00000 0.00000 0.00000
## [,8] [,9]
## [1,] 0.00000 0.0000
## [2,] 0.00000 0.0000
## [3,] 0.00000 0.0000
## [4,] 0.00000 0.0000
## [5,] 45.82117 0.0000
## [6,] 153.77724 92.0530
## [7,] 301.62765 218.1235
## [8,] 504.11505 390.7824
## [9,] 0.00000 627.2460
resultados_call[["AMZN"]]$Precio
## [1] 55.04093
resultados_put[["AAPL"]]$Arbol_Precios
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
## [1,] 275.25 240.084 209.4107 182.6563 159.3201 138.9653 121.2110 105.7251
## [2,] 0.00 315.567 275.2500 240.0840 209.4107 182.6563 159.3201 138.9653
## [3,] 0.00 0.000 361.7893 315.5670 275.2500 240.0840 209.4107 182.6563
## [4,] 0.00 0.000 0.0000 414.7820 361.7893 315.5670 275.2500 240.0840
## [5,] 0.00 0.000 0.0000 0.0000 475.5368 414.7820 361.7893 315.5670
## [6,] 0.00 0.000 0.0000 0.0000 0.0000 545.1906 475.5368 414.7820
## [7,] 0.00 0.000 0.0000 0.0000 0.0000 0.0000 625.0468 545.1906
## [8,] 0.00 0.000 0.0000 0.0000 0.0000 0.0000 0.0000 716.5999
## [9,] 0.00 0.000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
## [,9]
## [1,] 92.21758
## [2,] 121.21103
## [3,] 159.32009
## [4,] 209.41073
## [5,] 275.25000
## [6,] 361.78931
## [7,] 475.53679
## [8,] 625.04678
## [9,] 821.56310
resultados_put[["AAPL"]]$Arbol_Opcion
## [,1] [,2] [,3] [,4] [,5] [,6] [,7]
## [1,] 77.18533 68.75479 72.06878 85.69862 106.27002 128.75706 148.85128
## [2,] 0.00000 87.63172 66.92309 59.69860 66.49878 85.57127 111.03659
## [3,] 0.00000 0.00000 110.95151 75.89294 54.07189 48.40051 61.33287
## [4,] 0.00000 0.00000 0.00000 149.57201 100.08790 61.14868 36.20473
## [5,] 0.00000 0.00000 0.00000 0.00000 203.92227 142.45205 88.21851
## [6,] 0.00000 0.00000 0.00000 0.00000 0.00000 271.85326 201.52583
## [7,] 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 350.45726
## [8,] 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000
## [9,] 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000
## [,8] [,9]
## [1,] 166.85486 1.830324e+02
## [2,] 133.74326 1.540390e+02
## [3,] 90.22128 1.159299e+02
## [4,] 33.01589 6.583927e+01
## [5,] 40.31696 5.684342e-14
## [6,] 139.53202 0.000000e+00
## [7,] 269.94056 0.000000e+00
## [8,] 441.34987 0.000000e+00
## [9,] 0.00000 0.000000e+00
resultados_put[["AAPL"]]$Precio
## [1] 77.18533
resultados_put[["NFLX"]]$Arbol_Precios
## [,1] [,2] [,3] [,4] [,5] [,6] [,7]
## [1,] 1136.44 966.0756 821.2507 698.1365 593.4785 504.5098 428.8785
## [2,] 0.00 1336.8475 1136.4399 966.0756 821.2507 698.1365 593.4785
## [3,] 0.00 0.0000 1572.5963 1336.8475 1136.4399 966.0756 821.2507
## [4,] 0.00 0.0000 0.0000 1849.9186 1572.5963 1336.8475 1136.4399
## [5,] 0.00 0.0000 0.0000 0.0000 2176.1458 1849.9186 1572.5963
## [6,] 0.00 0.0000 0.0000 0.0000 0.0000 2559.9022 2176.1458
## [7,] 0.00 0.0000 0.0000 0.0000 0.0000 0.0000 3011.3327
## [8,] 0.00 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
## [9,] 0.00 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
## [,8] [,9]
## [1,] 364.5850 309.9299
## [2,] 504.5098 428.8785
## [3,] 698.1365 593.4785
## [4,] 966.0756 821.2507
## [5,] 1336.8475 1136.4399
## [6,] 1849.9186 1572.5963
## [7,] 2559.9022 2176.1458
## [8,] 3542.3716 3011.3327
## [9,] 0.0000 4167.0576
resultados_put[["NFLX"]]$Arbol_Opcion
## [,1] [,2] [,3] [,4] [,5] [,6] [,7]
## [1,] 393.1089 330.0729 331.5696 389.0936 483.9630 588.4930 679.0402
## [2,] 0.0000 463.4823 335.9931 282.7891 305.1164 392.6700 513.1979
## [3,] 0.0000 0.0000 598.3950 395.4839 267.3020 226.4078 283.7066
## [4,] 0.0000 0.0000 0.0000 810.0063 529.5525 313.2308 175.4953
## [5,] 0.0000 0.0000 0.0000 0.0000 1102.1034 752.7251 454.7930
## [6,] 0.0000 0.0000 0.0000 0.0000 0.0000 1468.0672 1060.6158
## [7,] 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 1898.9486
## [8,] 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
## [9,] 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
## [,8] [,9]
## [1,] 757.7683 8.265100e+02
## [2,] 617.3166 7.075615e+02
## [3,] 422.9605 5.429614e+02
## [4,] 154.0122 3.151893e+02
## [5,] 200.4075 2.273737e-13
## [6,] 713.4787 0.000000e+00
## [7,] 1423.4622 0.000000e+00
## [8,] 2405.9317 0.000000e+00
## [9,] 0.0000 0.000000e+00
resultados_put[["NFLX"]]$Precio
## [1] 393.1089
resultados_put[["AMZN"]]$Arbol_Precios
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
## [1,] 249.1 212.8561 181.8856 155.4213 132.8076 113.4841 96.97222 82.8628
## [2,] 0.0 291.5154 249.1000 212.8561 181.8856 155.4213 132.80756 113.4841
## [3,] 0.0 0.0000 341.1530 291.5154 249.1000 212.8561 181.88558 155.4213
## [4,] 0.0 0.0000 0.0000 399.2427 341.1530 291.5154 249.10001 212.8561
## [5,] 0.0 0.0000 0.0000 0.0000 467.2235 399.2427 341.15301 291.5154
## [6,] 0.0 0.0000 0.0000 0.0000 0.0000 546.7797 467.22350 399.2427
## [7,] 0.0 0.0000 0.0000 0.0000 0.0000 0.0000 639.88237 546.7797
## [8,] 0.0 0.0000 0.0000 0.0000 0.0000 0.0000 0.00000 748.8380
## [9,] 0.0 0.0000 0.0000 0.0000 0.0000 0.0000 0.00000 0.0000
## [,9]
## [1,] 70.80629
## [2,] 96.97222
## [3,] 132.80756
## [4,] 181.88558
## [5,] 249.10001
## [6,] 341.15301
## [7,] 467.22350
## [8,] 639.88237
## [9,] 876.34600
resultados_put[["AMZN"]]$Arbol_Opcion
## [,1] [,2] [,3] [,4] [,5] [,6] [,7]
## [1,] 82.70974 70.26757 71.21254 83.81321 104.19959 126.62446 146.17328
## [2,] 0.00000 96.84263 70.91458 60.38256 65.58592 84.41951 110.18556
## [3,] 0.00000 0.00000 124.59680 82.89805 56.60656 48.48079 60.89886
## [4,] 0.00000 0.00000 0.00000 168.53235 110.69735 65.89473 37.32008
## [5,] 0.00000 0.00000 0.00000 0.00000 229.37353 157.38245 95.56422
## [6,] 0.00000 0.00000 0.00000 0.00000 0.00000 305.54687 221.90245
## [7,] 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 394.92802
## [8,] 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000
## [9,] 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000
## [,8] [,9]
## [1,] 163.27455 1.782937e+02
## [2,] 132.58820 1.521278e+02
## [3,] 90.56195 1.162924e+02
## [4,] 33.00522 6.721443e+01
## [5,] 42.41537 2.842171e-14
## [6,] 150.14265 0.000000e+00
## [7,] 297.67973 0.000000e+00
## [8,] 499.73800 0.000000e+00
## [9,] 0.00000 0.000000e+00
resultados_put[["AMZN"]]$Precio
## [1] 82.70974
En el gráfico del árbol binomial con ocho nodos, representamos la evolución del precio de un activo a lo largo de varios pasos. Usamos un modelo binomial para calcular los posibles precios futuros del activo, considerando movimientos hacia arriba y hacia abajo en cada paso. El precio inicial es 100, y a medida que avanzamos en los pasos, los precios se ajustan según los factores de subida y bajada definidos. Cada nodo muestra un precio posible, y las flechas indican las transiciones entre los precios en los diferentes pasos.
Este modelo nos permite visualizar cómo podría evolucionar el precio del activo bajo diferentes escenarios. Observamos que los precios más altos se encuentran en los nodos superiores, mientras que los precios más bajos están en los nodos inferiores. Esto refleja la naturaleza probabilística del modelo, donde los precios pueden aumentar o disminuir en cada paso. Este enfoque es útil para valorar opciones y analizar la dinámica de precios en el tiempo.
Para cubrir el 85% de la inversión, utilizaremos un apalancamiento con la tasa del bono del tesoro. Dado que el pago es trimestral, ajustaremos la cobertura para reflejar este calendario de pagos.
## Inversion_Total Cobertura Pago_Trimestral Cobertura_Trimestral
## 1 1e+07 8500000 95625 2125000
Dividiremos el dinero de la cobertura de manera equitativa entre las tres acciones, considerando el apalancamiento y los pagos trimestrales.
## [1] 1
## Accion Peso Cobertura_Trimestral
## AAPL AAPL 0.50 1062500
## NFLX NFLX 0.15 318750
## AMZN AMZN 0.35 743750
La división equitativa del dinero para la cobertura de las opciones se justifica por las siguientes razones:
Sharpe negativo (-0.68): Esto indica que el portafolio actual no está compensando adecuadamente el riesgo. Es decir, el retorno esperado está por debajo de la tasa libre de riesgo ajustada por volatilidad, probablemente por una sobreexposición a activos más volátiles (NFLX o AMZN).
Volatilidad del portafolio (σₚ ≈ 0.0146): Este nivel es moderado, pero al tener un Sharpe negativo, implica que la baja rentabilidad no justifica ni siquiera ese nivel de riesgo. En otras palabras, el problema está en el retorno esperado, no en el riesgo total.
AAPL muestra una tendencia de crecimiento más estable y con menor dispersión.
NFLX exhibe alta volatilidad con retornos esperados más inciertos.
AMZN se encuentra en un punto medio: riesgo moderado y tendencia positiva sostenida.
Dado lo anterior, te recomendaría una estructura de portafolio más defensiva y diversificada, buscando mejorar el ratio de Sharpe. Por ejemplo:
Activo Peso sugerido Justificación AAPL 50% Fuerte desempeño fundamental, menor volatilidad, estabilidad en flujos de caja. Funciona como ancla del portafolio. AMZN 35% Buen potencial de crecimiento a mediano plazo, con volatilidad razonable. Complementa el retorno del portafolio. NFLX 15% Mantiene exposición a un activo de alto beta, pero en una proporción limitada para no penalizar la eficiencia del portafolio.