Cadenas de Markov para los datos de Netflix

Author

Katerin Zepeda

Published

November 23, 2025

library(quantmod)
Loading required package: xts
Warning: package 'xts' was built under R version 4.3.2
Loading required package: zoo
Warning: package 'zoo' was built under R version 4.3.2

Attaching package: 'zoo'
The following objects are masked from 'package:base':

    as.Date, as.Date.numeric
Loading required package: TTR
Warning: package 'TTR' was built under R version 4.3.3
Registered S3 method overwritten by 'quantmod':
  method            from
  as.zoo.data.frame zoo 
library(markovchain)
Warning: package 'markovchain' was built under R version 4.3.3
Loading required package: Matrix
Warning: package 'Matrix' was built under R version 4.3.2
Package:  markovchain
Version:  0.10.0
Date:     2024-11-14 00:00:02 UTC
BugReport: https://github.com/spedygiorgio/markovchain/issues

Attaching package: 'markovchain'
The following object is masked from 'package:zoo':

    is.regular
library(expm)
Warning: package 'expm' was built under R version 4.3.2

Attaching package: 'expm'
The following object is masked from 'package:Matrix':

    expm
library(ggplot2)
library(diagram)
Warning: package 'diagram' was built under R version 4.3.2
Loading required package: shape
Warning: package 'shape' was built under R version 4.3.2
# Obtener datos de Netflix
netflix_df <- getSymbols("NFLX", src = "yahoo", auto.assign = FALSE)
netflix_2025 <- netflix_df["2025-01-01/2025-11-17"]

head(netflix_2025)
           NFLX.Open NFLX.High NFLX.Low NFLX.Close NFLX.Volume NFLX.Adjusted
2025-01-02    89.550    89.858   87.700     88.673    23123000        88.673
2025-01-03    89.313    89.883   87.989     88.105    29673000        88.105
2025-01-06    88.876    89.283   87.169     88.179    34577000        88.179
2025-01-07    87.938    88.800   86.911     87.919    26498000        87.919
2025-01-08    88.000    88.622   87.300     87.500    23479000        87.500
2025-01-10    86.640    86.641   83.440     83.769    48033000        83.769
cat("Dimensión de los datos:", dim(netflix_2025), "\n")
Dimensión de los datos: 220 6 

1 Preprocesamiento y Creación de Estados

# Extraer precios de cierre
precios_cierre <- Cl(netflix_2025)
names(precios_cierre) <- "Close"

# Calcular retornos diarios
retornos <- dailyReturn(precios_cierre)
names(retornos) <- "Returns"

# Crear estados basados en los retornos
crear_estados <- function(retornos, umbrales = c(-0.02, -0.01, 0.01, 0.02)) {
  estados <- character(length(retornos))
  
  for(i in 1:length(retornos)) {
    retorno <- as.numeric(retornos[i])
    
    if(retorno < umbrales[1]) {
      estados[i] <- "Fuerte_Caida"
    } else if(retorno < umbrales[2]) {
      estados[i] <- "Caida_Moderada"
    } else if(retorno < umbrales[3]) {
      estados[i] <- "Estable"
    } else if(retorno < umbrales[4]) {
      estados[i] <- "Subida_Moderada"
    } else {
      estados[i] <- "Fuerte_Subida"
    }
  }
  return(estados)
}

# Aplicar la función
estados_netflix <- crear_estados(retornos)
cat("Distribución de estados:\n")
Distribución de estados:
print(table(estados_netflix))
estados_netflix
 Caida_Moderada         Estable    Fuerte_Caida   Fuerte_Subida Subida_Moderada 
             26             101              23              27              43 

Netflix muestra un crecimiento constante

  • ESTABLE (101 días - 45.9% = 101/(26+…+43)*100) : Casi la mitad del tiempo Netflix se mantuvo con movimientos menores al 1%, indicando baja volatilidad y comportamiento predecible

  • SESGO ALCISTA:

    • Días alcistas: 70 días (27 + 43 = 70 = 31.8% (70/(26+…+43)*100))

    • Días bajistas: 49 días (26 + 23 = 22.3%)

Patron de crecimiento que hay:

  • Subidas moderadas (43 días): 19.5% - más frecuentes

  • Subidas fuertes (27 días): 12.3% - menos frecuentes

Perfil de volatilidad

  • Alta volatilidad (>2%): 50 (23+27) días (22.7%) - BAJO para acción tecnológica

  • Movimientos moderados (1-2%): 69 (26+43) días (31.4%)

  • Estabilidad (<1%): 101 días (45.9%)

2 Análisis Exploratorio

# Gráfico de precios y retornos
par(mfrow = c(2, 1))
plot(precios_cierre, main = "Precio de Cierre Netflix 2025", col = "darkorchid")
plot(retornos, main = "Retornos Diarios Netflix 2025", col = "deeppink")

par(mfrow = c(1, 1))

Grafico superior:

El grafico muestra crecimiento con períodos de descanso, indicando una tendencia saludable y sostenible (no especulativa)

El precio inicia cerca de 90 USD y alcanza picos por encima de 130 USD.

Grafico inferior:

La mayoría de movimientos están entre −1% y +1%

Esto explica por qué el estado Estable es el más frecuente
→ 101 días = 45.9%.

# Gráfico de distribución de estados
df_estados <- data.frame(Estado = estados_netflix)
ggplot(df_estados, aes(x = Estado, fill = Estado)) +
  geom_bar() +
  labs(title = "Distribución de Estados - Netflix 2025",
       x = "Estado", y = "Frecuencia") +
  theme_minimal()

La barra estable domina completamente el gráfico y representa aproximadamente el 45% de todos los días de comercio y es 4 veces más grande que las caídas fuertes y casi el doble que cualquier otro estado individual

3 Construcción del Modelo de Markov

# Ajustar la cadena de Markov
Fit_netflix <- markovchainFit(data = estados_netflix, confidencelevel = 0.95)

# Matriz de transición
p_netflix <- Fit_netflix$estimate@transitionMatrix
print("Matriz de Transición de Estados:")
[1] "Matriz de Transición de Estados:"
print(round(p_netflix, 4))
                Caida_Moderada Estable Fuerte_Caida Fuerte_Subida
Caida_Moderada          0.0769  0.2692       0.1538        0.1538
Estable                 0.1200  0.5400       0.0700        0.0900
Fuerte_Caida            0.1739  0.5217       0.0000        0.1739
Fuerte_Subida           0.1852  0.4074       0.1481        0.1111
Subida_Moderada         0.0698  0.3721       0.1860        0.1628
                Subida_Moderada
Caida_Moderada           0.3462
Estable                  0.1800
Fuerte_Caida             0.1304
Fuerte_Subida            0.1481
Subida_Moderada          0.2093

Estado “ESTABLE”

54% de probabilidad de permanecer estable

12% de pasar a Caida_Moderada (riesgo moderado)

Solo 7% de pasar a Fuerte_Caida (bajo riesgo extremo)

27% de probabilidad total de pasar a estados alcistas

Estado “CAIDA_MODERADA”

34.6% de probabilidad de pasar a Subida_Moderada

Solo 15.4% de probabilidad de empeorar a Fuerte_Caida

26.9% de probabilidad de estabilizarse

Estado “SUBIDA_MODERADA”

20.9% de probabilidad de continuar subiendo moderadamente

18.6% de probabilidad de revertir a Fuerte_Caida (¡alto!)

37.2% de probabilidad de estabilizarse

# Gráfico de la cadena
plot(Fit_netflix$estimate,
     main = "Cadena de Markov - Estados de Precio Netflix",
     vertex.size = 30,
     vertex.color = "lavenderblush",
     edge.arrow.size = 0.6,
     edge.label.cex = 0.9)

Se puede observar que existen 5 nodos(Estados) interconectados.

El diagrama muestra como el estado del retorno diario de Netflix cambia de un día al siguiente. Cada flecha indica una probabilidad de transición entre los estados:

Fuerte_Caída, Caída_Moderada, Estable, Subida_Moderada,Fuerte_Subida.

El estado dominante es “Estable” hay un 54% de probabilidad de que mañana también sea estable.

Desde los estados de subida también se suele volver a “Estable”

Por ejemplo:

P(Subida Moderada -> Estable) = 0.18

P(Fuerte Subida -> Estable) = 0.41

Las caídas fuertes también regresan a “Estable”

P(Fuerte Caída -> Estable) = 0.12

Probabilidad moderada de pasar a subidas desde Estable

Ejemplo:

P(Estable -> Subida Moderada) = 0.19

P(Estable -> Fuerte Subida) = 0.07

4 Análisis de Estados y Propiedades

# Análisis completo de estados

print("ANÁLISIS DE ESTADOS")
[1] "ANÁLISIS DE ESTADOS"
print(paste("Estados:", paste(states(Fit_netflix$estimate), collapse = ", ")))
[1] "Estados: Caida_Moderada, Estable, Fuerte_Caida, Fuerte_Subida, Subida_Moderada"
print(paste("Estados recurrentes:", paste(recurrentStates(Fit_netflix$estimate), collapse = ", ")))
[1] "Estados recurrentes: Caida_Moderada, Estable, Fuerte_Caida, Fuerte_Subida, Subida_Moderada"
print(paste("Estados transitorios:", paste(transientStates(Fit_netflix$estimate), collapse = ", ")))
[1] "Estados transitorios: "
print(paste("Estados absorbentes:", paste(absorbingStates(Fit_netflix$estimate), collapse = ", ")))
[1] "Estados absorbentes: "
print(paste("¿Es irreducible?", is.irreducible(Fit_netflix$estimate)))
[1] "¿Es irreducible? TRUE"
print(paste("¿Es ergódica?", is.irreducible(Fit_netflix$estimate))) # Para cadenas finitas
[1] "¿Es ergódica? TRUE"

El estado Estable aparece aproximadamente 101 veces, mucho más que cualquier otro estado.

Si sumamos los estados de subida:

Subida Moderada: 43 días + Fuerte Subida: 27 días =Total subidas: 70 días

Las caídas:

Caída Moderada: 26 días + Fuerte Caída: 23 días = Total caídas: 49 días

5 Proyecciones a Futuro

# Matrices de transición para múltiples periodos
p_2 <- p_netflix %^% 2
p_5 <- p_netflix %^% 5
p_10 <- p_netflix %^% 10

print("Matriz de transición para 2 días:")
[1] "Matriz de transición para 2 días:"
print(round(p_2, 4))
                Caida_Moderada Estable Fuerte_Caida Fuerte_Subida
Caida_Moderada          0.1176  0.4378       0.1179        0.1363
Estable                 0.1154  0.4641       0.1031        0.1185
Fuerte_Caida            0.1173  0.4479       0.1133        0.1143
Fuerte_Subida           0.1198  0.4475       0.1010        0.1274
Subida_Moderada         0.1271  0.4610       0.0998        0.1287
                Subida_Moderada
Caida_Moderada           0.1904
Estable                  0.1989
Fuerte_Caida             0.2072
Fuerte_Subida            0.2042
Subida_Moderada          0.1833
print("Matriz de transición para 5 días:")
[1] "Matriz de transición para 5 días:"
print(round(p_5, 4))
                Caida_Moderada Estable Fuerte_Caida Fuerte_Subida
Caida_Moderada          0.1187  0.4566        0.105        0.1233
Estable                 0.1187  0.4566        0.105        0.1233
Fuerte_Caida            0.1187  0.4566        0.105        0.1233
Fuerte_Subida           0.1187  0.4566        0.105        0.1233
Subida_Moderada         0.1187  0.4566        0.105        0.1233
                Subida_Moderada
Caida_Moderada           0.1964
Estable                  0.1964
Fuerte_Caida             0.1964
Fuerte_Subida            0.1964
Subida_Moderada          0.1963
print("Matriz de transición para 10 días:")
[1] "Matriz de transición para 10 días:"
print(round(p_10, 4))
                Caida_Moderada Estable Fuerte_Caida Fuerte_Subida
Caida_Moderada          0.1187  0.4566        0.105        0.1233
Estable                 0.1187  0.4566        0.105        0.1233
Fuerte_Caida            0.1187  0.4566        0.105        0.1233
Fuerte_Subida           0.1187  0.4566        0.105        0.1233
Subida_Moderada         0.1187  0.4566        0.105        0.1233
                Subida_Moderada
Caida_Moderada           0.1963
Estable                  0.1963
Fuerte_Caida             0.1963
Fuerte_Subida            0.1963
Subida_Moderada          0.1963

Matriz a 2 días

El estado Estable es el que más atrae (tiene la mayor probabilidad desde cualquier estado).

Matriz a 5 días

Distribución estacionaria aproximada (desde las filas):

Estable: 45.66%

Subida_Moderada: 19.64%

Fuerte_Subida: 12.33%

Fuerte_Caida: 10.5%

Caida_Moderada: 11.87%

Matriz a 10 días

La matriz de 10 días es idéntica a la de 5 días.

6 Estado Estacionario

# Calcular estado estacionario
estado_estacionario <- steadyStates(Fit_netflix$estimate)
print("Distribución Estacionaria:")
[1] "Distribución Estacionaria:"
print(round(estado_estacionario, 4))
     Caida_Moderada Estable Fuerte_Caida Fuerte_Subida Subida_Moderada
[1,]         0.1187  0.4566        0.105        0.1233          0.1963

El estado dominante es “Estable” (45.66%)

Casi la mitad del tiempo, el precio de Netflix terminará en un comportamiento estable.

El estado Subida_Moderada tiene casi un 20% de probabilidad a largo plazo.

Caídas moderadas (11.87%) son similares a caídas fuertes y subidas fuertes.

# Gráfico del estado estacionario
df_estacionario <- data.frame(
  Estado = colnames(estado_estacionario),
  Probabilidad = as.numeric(estado_estacionario)
)

ggplot(df_estacionario, aes(x = Estado, y = Probabilidad, fill = Estado)) +
  geom_col() +
  labs(title = "Distribución Estacionaria - Netflix",
       subtitle = "Probabilidades a largo plazo") +
  theme_minimal()

El estado Estable domina claramente con un 46% aproximadamente.

Subida Moderada es el segundo estado más probable con un 20% aproximadamente.

Caída Moderada y Fuerte Caída están por debajo del 12%

Fuerte Subida también es baja con un 12%

7 Predicciones y Simulaciones

# Predicciones específicas
print("Predicción partiendo de 'Subida_Moderada' para 3 días:")
[1] "Predicción partiendo de 'Subida_Moderada' para 3 días:"
prediccion <- predict(Fit_netflix$estimate, newdata = "Subida_Moderada", n.ahead = 3)
print(prediccion)
[1] "Estable" "Estable" "Estable"
# Simulación de múltiples trayectorias
set.seed(123)
simulaciones <- rmarkovchain(n = 50, object = Fit_netflix$estimate, t0 = "Estable")
cat("Resultado de 10 simulaciones partiendo de 'Estable':\n")
Resultado de 10 simulaciones partiendo de 'Estable':
print(table(simulaciones))
simulaciones
 Caida_Moderada         Estable    Fuerte_Caida   Fuerte_Subida Subida_Moderada 
              6              26               6               7               5 

“Estable” domina nuevamente (26 transiciones)

Movimientos moderados ocurren con baja frecuencia

Movimientos fuertes también son poco frecuentes

8 Tiempos de Primer Paso

# Tiempos esperados para llegar a otros estados
if(!is.irreducible(Fit_netflix$estimate)) {
  print("Tiempos de primer paso:")
  print(meanFirstPassageTime(Fit_netflix$estimate))
}

9 Análisis de Sensibilidad

# Función para análisis de sensibilidad
analisis_sensibilidad_netflix <- function() {
  estado_original <- steadyStates(Fit_netflix$estimate)
  
  # Crear matriz perturbada (aumentar probabilidad de mantenerse estable)
  p_perturbada <- p_netflix
  estado_estable <- which(states(Fit_netflix$estimate) == "Estable")
  
  if(length(estado_estable) > 0) {
    p_perturbada[estado_estable, estado_estable] <- p_perturbada[estado_estable, estado_estable] + 0.1
    
    # Re-normalizar la fila
    p_perturbada[estado_estable, ] <- p_perturbada[estado_estable, ] / sum(p_perturbada[estado_estable, ])
    
    mc_perturbada <- new("markovchain", transitionMatrix = p_perturbada)
    estado_perturbado <- steadyStates(mc_perturbada)
    
    return(list(
      original = estado_original,
      perturbado = estado_perturbado,
      diferencia = estado_perturbado - estado_original
    ))
  }
}

sensibilidad <- analisis_sensibilidad_netflix()
if(!is.null(sensibilidad)) {
  print("Análisis de sensibilidad:")
  print(sensibilidad)
}
[1] "Análisis de sensibilidad:"
$original
     Caida_Moderada  Estable Fuerte_Caida Fuerte_Subida Subida_Moderada
[1,]      0.1187215 0.456621    0.1050228     0.1232877        0.196347

$perturbado
     Caida_Moderada   Estable Fuerte_Caida Fuerte_Subida Subida_Moderada
[1,]      0.1135371 0.4803493    0.1004367     0.1179039       0.1877729

$diferencia
     Caida_Moderada    Estable Fuerte_Caida Fuerte_Subida Subida_Moderada
[1,]   -0.005184343 0.02372834  -0.00458615  -0.005383741    -0.008574106

10 Reporte Ejecutivo

# Generar reporte completo
generar_reporte_netflix <- function(fit, estados) {
  cat("REPORTE COMPLETO - NETFLIX 2025\n")
  cat("Período analizado: 2025-01-01 hasta 2025-11-17\n")
  cat("Número de observaciones:", length(estados), "\n")
  cat("Estados identificados:", paste(states(fit$estimate), collapse = ", "), "\n")
  cat("Distribución inicial:\n")
  print(round(table(estados)/length(estados), 4))
  cat("\nDistribución estacionaria:\n")
  print(round(steadyStates(fit$estimate), 4))
  cat("Estados más probable a largo plazo:", 
      states(fit$estimate)[which.max(steadyStates(fit$estimate))], "\n")
}

generar_reporte_netflix(Fit_netflix, estados_netflix)
REPORTE COMPLETO - NETFLIX 2025
Período analizado: 2025-01-01 hasta 2025-11-17
Número de observaciones: 220 
Estados identificados: Caida_Moderada, Estable, Fuerte_Caida, Fuerte_Subida, Subida_Moderada 
Distribución inicial:
estados
 Caida_Moderada         Estable    Fuerte_Caida   Fuerte_Subida Subida_Moderada 
         0.1182          0.4591          0.1045          0.1227          0.1955 

Distribución estacionaria:
     Caida_Moderada Estable Fuerte_Caida Fuerte_Subida Subida_Moderada
[1,]         0.1187  0.4566        0.105        0.1233          0.1963
Estados más probable a largo plazo: Estable 

11 Visualización de Evolución Temporal

# Función para ver evolución de probabilidades
evolucion_probabilidades <- function(estado_inicial, pasos = 10) {
  estado_actual <- numeric(length = length(states(Fit_netflix$estimate)))
  names(estado_actual) <- states(Fit_netflix$estimate)
  estado_actual[estado_inicial] <- 1
  
  resultados <- matrix(0, nrow = pasos + 1, ncol = length(estado_actual))
  colnames(resultados) <- states(Fit_netflix$estimate)
  resultados[1, ] <- estado_actual
  
  for(i in 1:pasos) {
    estado_actual <- estado_actual %*% p_netflix
    resultados[i + 1, ] <- estado_actual
  }
  
  # Convertir a data frame para ggplot
  df_evo <- as.data.frame(resultados)
  df_evo$Dia <- 0:pasos
  df_evo_largo <- reshape2::melt(df_evo, id.vars = "Dia", variable.name = "Estado", value.name = "Probabilidad")
  
  ggplot(df_evo_largo, aes(x = Dia, y = Probabilidad, color = Estado)) +
    geom_line(size = 1.2) +
    geom_point(size = 2) +
    labs(title = paste("Evolución de Probabilidades - Estado Inicial:", estado_inicial),
         x = "Días", y = "Probabilidad") +
    theme_minimal() +
    scale_x_continuous(breaks = 0:pasos)
}

# Ejemplo de uso
evolucion_probabilidades("Estable", 10)
Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
ℹ Please use `linewidth` instead.

Comportamiento inicial (Día 0 a Día 1)

En el Día 0, la probabilidad está completamente en Estable, porque la simulación comienza allí.

Convergencia rápida (Días 2 a 4)

A partir del día 2, las curvas comienzan a estabilizarse

12 ANÁLISIS INTERPRETATIVO - NETFLIX 2025

1. ¿Cuál es la probabilidad de que el precio de Netflix esté en cada uno de los estados a largo plazo?

Las probabilidades de cada estado a largo plazo son:

  • Caida_Moderada: 11.87%

  • Estable: 45.66%

  • Fuerte_Caida: 10.50%

  • Fuerte_Subida: 12.33%

  • Subida_Moderada: 19.63%

Estos valores muestran cómo se espera que se comporte el precio de Netflix de forma estable, independientemente del movimiento inicial del precio.

2. ¿Qué porcentaje del tiempo se espera que Netflix tenga rendimientos positivos a largo plazo?

prob_alcistas <- 0.1233 + 0.1963  # Fuerte_Subida + Subida_Moderada
prob_bajistas <- 0.1187 + 0.1050  # Caida_Moderada + Fuerte_Caida

round(prob_alcistas * 100, 2)
[1] 31.96
round(prob_alcistas * 30, 1)
[1] 9.6

Se espera que 31.96% del tiempo Netflix muestre tendencia alcista, lo cual representa aproximadamente 9.6 días al mes. Esto indica un sesgo ligeramente alcista en el comportamiento del precio.

3. ¿Cuál será el estado más probable del precio de Netflix a largo plazo?

El estado más probable es ESTABLE con 45.66% de probabilidad, lo que indica que casi la mitad del tiempo el precio se mantendrá con movimientos menores al 1%. Esto sugiere que Netflix tiende a ser una acción relativamente estable en el largo plazo.

4. ¿Qué implica la distribución estacionaria para los inversionistas en Netflix?

La distribución estacionaria sugiere que:

  • 45.66% del tiempo: Baja volatilidad (estabilidad)

  • 31.96% (Fuerte_Subida + Subida_Moderada) del tiempo: Tendencia alcista

  • 22.37% (Caida_Moderada + Fuerte_Caida) del tiempo: Tendencia bajista

Netflix muestra un comportamiento predominantemente estable con sesgo alcista, lo que la hace atractiva para inversores de mediano y largo plazo que buscan crecimiento con volatilidad moderada.

5. Si hoy Netflix tiene un día ‘Estable’, ¿qué probabilidad hay de que permanezca en estados estables a largo plazo?

A largo plazo, la probabilidad de que Netflix esté en estado ‘Estable’ es del 45.66%. Esto implica que los días estables son los más frecuentes y que aproximadamente 1 de cada 2 días se espera baja volatilidad.

6. ¿Cuál es la probabilidad de que Netflix experimente alta volatilidad a largo plazo?

# Fuerte_Caida + Fuerte_Subida
prob_alta_volatilidad <- 0.1050 + 0.1233

round(prob_alta_volatilidad * 100, 2)
[1] 22.83
round(prob_alta_volatilidad * 30, 1)
[1] 6.8

Se espera alta volatilidad el 22.83% del tiempo. Esto significa que aproximadamente 1 de cada 4 días (6.8 días al mes) Netflix experimentará movimientos significativos mayores al 2%.

7. ¿Qué porcentaje del tiempo se esperan correcciones significativas en el precio de Netflix?

# Caida_Moderada + Fuerte_Caida
prob_correcciones <- 0.1187 + 0.1050
prob_correcciones
[1] 0.2237
  • Correcciones moderadas (1-2%): 11.87% (Caida_Moderada)

  • Correcciones fuertes (>2%): 10.50% (Fuerte_Caida)

  • TOTAL días de corrección: 22.37%

Esto implica que aproximadamente 1 de cada 5 días Netflix experimentará alguna corrección, siendo las correcciones moderadas ligeramente más frecuentes que las fuertes.

8. ¿Cómo se compara la probabilidad de subidas moderadas vs fuertes subidas?

  • Subidas moderadas (1-2%): 19.63%

  • Subidas fuertes (>2%): 12.33%

  • Relación: 1.6 a 1 (las subidas moderadas son 1.6 veces más frecuentes)

Esto indica que cuando Netflix sube, tiende a hacerlo de forma moderada en la mayoría de los casos, mostrando un crecimiento más sostenido que explosivo en el largo plazo.

9. ¿Qué estrategia de inversión sugiere esta distribución estacionaria?

Dado el predominio de días estables (45.66%) y el sesgo alcista (31.96% vs 22.37%), se sugiere:

  • ESTRATEGIA: Comprar y mantener (Buy & Hold) con promedio de costo

  • ENTRADAS: Comprar durante correcciones moderadas (días bajistas)

  • GESTIÓN: Stops loss amplios debido a la alta frecuencia de días estables

  • OBJETIVO: Aprovechar el crecimiento sostenido a largo plazo

10. ¿Qué riesgo representa la probabilidad de caídas fuertes para los inversionistas?

Con un 10.50% de probabilidad de caídas fuertes (>2%):

  • Frecuencia: Aproximadamente 3 días al mes

  • Riesgo: Moderado - las caídas fuertes son menos frecuentes que las subidas

  • Protección: Se recomienda diversificación y no invertir capital crítico

El riesgo es manejable dado que los días estables y alcistas predominan en la distribución (77.63% del tiempo).

13 ANÁLISIS COMPARATIVO

round(prob_alcistas * 30, 1)
[1] 9.6
round(prob_bajistas * 30, 1)
[1] 6.7
# Estable = 0.4566
round(0.4566 * 30, 1)
[1] 13.7
# 0.3196 - 0.2237
diferencia_alcista_bajista <- prob_alcistas - prob_bajistas

round(diferencia_alcista_bajista * 100, 2)
[1] 9.59
round(diferencia_alcista_bajista * 30, 1)
[1] 2.9

Días alcistas vs bajistas:

• Alcistas: 31.96% = Fuerte_Subida + Subida_Moderada ( 9.6 días/mes)

• Bajistas: 22.37% = Caida_Moderada + Fuerte_Caida ( 6.7 días/mes)

• Estables: 45.66% ( 13.7 días/mes)

Ventaja alcista: 9.59 %

Esto representa aproximadamente 2.9 días más alcistas que bajistas por mes.