Introducción

El presente taller tiene como objetivo aplicar conceptos fundamentales de la teoría del riesgo mediante el uso de herramientas de análisis técnico. A través del estudio de promedios móviles y bandas de Bollinger, se busca interpretar el comportamiento de los precios, la volatilidad del mercado y su impacto en la toma de decisiones financieras.

El análisis se complementa con una reflexión crítica sobre las limitaciones de los indicadores técnicos y la importancia de la gestión del riesgo en contextos de incertidumbre.

Ejercicio 1: Análisis crítico de los principios del análisis técnico (15%)

Evaluación de las posiciones de los analistas

Analista A: “El análisis técnico es superior porque el mercado descuenta toda la información. No necesitamos estudiar reportes financieros.”

Esta postura se apoya directamente en el principio de que el mercado descuenta toda la información, según el cual los precios reflejan toda la información disponible, incluyendo noticias, expectativas y percepciones de los inversionistas. Desde esta perspectiva, analizar los precios sería suficiente para la toma de decisiones.

Sin embargo, esta visión es limitada cuando se analiza desde la teoría del riesgo. Aunque el mercado incorpora información rápidamente, no toda la información es conocida, ni toda es interpretada correctamente al mismo tiempo por todos los participantes. Además, este enfoque ignora los otros dos principios del análisis técnico: los precios se mueven en tendencias y la historia tiende a repetirse, los cuales dependen fuertemente del contexto del mercado. En mercados altamente volátiles o ante eventos inesperados, confiar exclusivamente en este principio puede aumentar el riesgo de decisiones erróneas.


Analista B: “El análisis fundamental es el único válido. Los patrones gráficos son simples ilusiones estadísticas.”

La posición del Analista B reconoce correctamente que los patrones gráficos no garantizan resultados futuros y que su interpretación puede ser subjetiva, lo cual es una crítica válida desde el punto de vista del riesgo. Además, el análisis fundamental permite evaluar el valor intrínseco de un activo, lo que es clave para decisiones de largo plazo.

No obstante, descartar completamente el análisis técnico ignora el principio de que los precios se mueven en tendencias. Incluso si un activo está correctamente valorado desde el punto de vista fundamental, el mercado puede tardar en reflejar ese valor, y durante ese tiempo los precios pueden seguir tendencias claras que ofrecen información relevante para el momento de entrada o salida. Por tanto, negar la utilidad del análisis técnico implica perder señales importantes sobre el comportamiento real del mercado.


Analista C: “Ambos enfoques tienen limitaciones. Deberíamos integrarlos según el contexto.”

La postura del Analista C es la más consistente con la teoría del riesgo. Reconoce que ningún enfoque es infalible y que tanto el análisis técnico como el fundamental aportan información valiosa, pero incompleta. Esta visión se alinea con los tres principios del análisis técnico, aceptando que el mercado descuenta información, que los precios siguen tendencias y que ciertos patrones tienden a repetirse, sin asumir que estos principios funcionen perfectamente en todo momento.

Desde una perspectiva de gestión del riesgo, la integración de enfoques permite compensar las debilidades de cada uno y tomar decisiones más informadas según el contexto específico del mercado.


Limitaciones del principio “el mercado descuenta todo”

Un ejemplo concreto donde este principio puede fallar es antes de un evento inesperado, como un cambio regulatorio abrupto, un escándalo corporativo o una crisis geopolítica. En estos casos, la información simplemente no existe aún, por lo que no puede estar reflejada en el precio.

Asimismo, incluso cuando la información es pública, el mercado puede reaccionar de forma exagerada o tardía debido a factores emocionales, lo que demuestra que el precio no siempre refleja de manera eficiente el valor real del activo en el corto plazo.


Propuesta de estrategia híbrida

Para evaluar una acción tecnológica que acaba de reportar pérdidas, pero muestra una tendencia alcista en el gráfico de precios, se propone una estrategia híbrida:

Desde el análisis fundamental, se debe evaluar si las pérdidas son temporales y están asociadas a inversión en innovación, expansión o desarrollo tecnológico, o si reflejan problemas estructurales del modelo de negocio. También es clave analizar la liquidez, el nivel de endeudamiento y las perspectivas del sector.

Desde el análisis técnico, se puede utilizar la tendencia alcista del precio como señal de confianza del mercado, evaluando promedios móviles y niveles de soporte para definir un punto de entrada con riesgo controlado.

La decisión final se basaría en la coherencia entre ambos enfoques: si los fundamentos sugieren viabilidad a largo plazo y el análisis técnico confirma una tendencia positiva, la inversión sería justificable. En caso contrario, la tendencia alcista podría interpretarse como especulativa, aumentando el riesgo de corrección.


Conclusión

Este ejercicio evidencia que los principios del análisis técnico no deben interpretarse como verdades absolutas. Desde la teoría del riesgo, la clave no es elegir entre análisis técnico o fundamental, sino comprender sus limitaciones y utilizarlos de manera complementaria según el contexto del mercado.

Ejercicio 2:Promedios móviles (SMA y EMA)

set.seed(123)

# Activo A: tendencia alcista y volatilidad moderada
activo_A <- cumprod(1 + rnorm(120, mean = 0.001, sd = 0.015)) * 100

# Activo B: alta volatilidad sin tendencia clara
activo_B <- cumprod(1 + rnorm(120, mean = 0.0002, sd = 0.03)) * 100

datos <- tibble(
  dia = 1:120,
  Activo_A = activo_A,
  Activo_B = activo_B
)
datos <- datos %>%
  mutate(
    SMA10_A = SMA(Activo_A, 10),
    SMA20_A = SMA(Activo_A, 20),
    SMA50_A = SMA(Activo_A, 50),
    EMA10_A = EMA(Activo_A, 10),
    EMA20_A = EMA(Activo_A, 20),
    EMA50_A = EMA(Activo_A, 50),
    
    SMA10_B = SMA(Activo_B, 10),
    SMA20_B = SMA(Activo_B, 20),
    SMA50_B = SMA(Activo_B, 50),
    EMA10_B = EMA(Activo_B, 10),
    EMA20_B = EMA(Activo_B, 20),
    EMA50_B = EMA(Activo_B, 50)
  )
ggplot(datos, aes(dia)) +
  geom_line(aes(y = Activo_A, color = "Precio")) +
  geom_line(aes(y = SMA20_A, color = "SMA 20")) +
  geom_line(aes(y = EMA20_A, color = "EMA 20")) +
  labs(
    title = "Activo A: Precio y Promedios Móviles",
    x = "Dia",
    y = "Precio"
  ) +
  theme_minimal()
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_line()`).
## Removed 19 rows containing missing values or values outside the scale range
## (`geom_line()`).

ggplot(datos, aes(dia)) +
  geom_line(aes(y = Activo_B, color = "Precio")) +
  geom_line(aes(y = SMA20_B, color = "SMA 20")) +
  geom_line(aes(y = EMA20_B, color = "EMA 20")) +
  labs(
    title = "Activo B – Promedios Móviles",
    x = "Día",
    y = "Precio"
  ) +
  theme_minimal()
## Warning: Removed 19 rows containing missing values or values outside the scale range
## (`geom_line()`).
## Removed 19 rows containing missing values or values outside the scale range
## (`geom_line()`).

## Interpretación del gráfico

El gráfico muestra el comportamiento del precio del Activo A junto con los promedios móviles simple (SMA) y exponencial (EMA) de 20 periodos. Se observa que el precio presenta una tendencia general creciente, lo que indica un comportamiento alcista del activo durante el periodo analizado.

El promedio móvil exponencial (EMA) reacciona con mayor rapidez a los cambios recientes del precio, acercándose más al comportamiento del activo. Esto permite identificar señales tempranas de posibles cambios en la tendencia. Por su parte, el promedio móvil simple (SMA) presenta una respuesta más lenta, suavizando las fluctuaciones del precio y reduciendo el ruido del mercado.

Cuando el precio se mantiene por encima de ambos promedios móviles, se interpreta como una señal de fortaleza del activo. En contraste, los cruces del precio por debajo de los promedios móviles pueden interpretarse como señales de debilitamiento o posibles correcciones.

Análisis e interpretación de los indicadores

¿En cuál activo el EMA proporciona señales más útiles que el SMA? ¿Por qué?

El EMA proporciona señales más útiles en el Activo A. Esto se debe a que dicho activo presenta una tendencia más definida y una volatilidad moderada. Al asignar mayor peso a los datos más recientes, el EMA responde con mayor rapidez a los cambios en el precio, permitiendo identificar de forma más oportuna posibles continuaciones o correcciones de la tendencia.

En contraste, el Activo B exhibe una alta volatilidad y ausencia de una tendencia clara, lo que provoca que tanto el EMA como el SMA generen señales frecuentes y poco confiables. En este caso, la ventaja del EMA frente al SMA se reduce considerablemente.


¿Qué periodo (10, 20 o 50 días) es más apropiado para cada activo?

Para el Activo A, los periodos de 20 y 50 días resultan más apropiados. Estos periodos suavizan las fluctuaciones de corto plazo y permiten capturar mejor la tendencia general del activo, reduciendo el ruido sin perder completamente capacidad de reacción.

En el caso del Activo B, ningún periodo resulta completamente adecuado debido a su elevada volatilidad. No obstante, el periodo de 50 días ofrece una señal relativamente más estable, ya que filtra parte de los movimientos erráticos que predominan en periodos más cortos como 10 días.


Decisión de compra/venta HOY

Si se debiera tomar una decisión de compra o venta en el momento actual, para el Activo A se utilizaría el EMA de 20 días, ya que combina una buena sensibilidad a los cambios recientes con una adecuada estabilidad, lo que lo hace útil para seguir la tendencia sin reaccionar excesivamente al ruido del mercado.

Para el Activo B, no se recomienda basar una decisión de compra o venta únicamente en promedios móviles. En caso de ser necesario, se preferiría un SMA de 50 días como referencia general, complementándolo con otros indicadores que ayuden a confirmar la señal.


Reflexión crítica: limitaciones del uso exclusivo de promedios móviles

El uso exclusivo de promedios móviles presenta varias limitaciones importantes. En primer lugar, se trata de indicadores rezagados, por lo que las señales se generan después de que el movimiento del precio ya ha ocurrido. Esto puede provocar entradas tardías o salidas poco oportunas.

Además, en contextos de alta volatilidad o mercados laterales, los promedios móviles generan múltiples señales falsas, incrementando el riesgo de decisiones incorrectas. Por esta razón,

Ejercicio 3: Detección de señales con RSI (10%)

Escenario

Se analizan los valores del Índice de Fuerza Relativa (RSI) de una acción durante 10 días consecutivos, con el fin de identificar señales de sobrecompra y evaluar decisiones de venta.


Datos del RSI

dia <- 1:10
RSI <- c(45, 52, 58, 67, 75, 82, 78, 85, 82, 79)

datos_RSI <- data.frame(dia, RSI)
datos_RSI
##    dia RSI
## 1    1  45
## 2    2  52
## 3    3  58
## 4    4  67
## 5    5  75
## 6    6  82
## 7    7  78
## 8    8  85
## 9    9  82
## 10  10  79

Identificación de la zona de sobrecompra

Según el criterio tradicional, un activo entra en zona de sobrecompra cuando el RSI supera el nivel de 70.

A partir de los datos observados, el activo se encuentra en zona de sobrecompra en los siguientes días:

datos_RSI %>%
  filter(RSI > 70)
##   dia RSI
## 1   5  75
## 2   6  82
## 3   7  78
## 4   8  85
## 5   9  82
## 6  10  79

Los días en los que el RSI supera el nivel de 70 son los días 5, 6, 7, 8, 9 y 10, lo que indica una presión compradora elevada durante este periodo.


Evaluación de la decisión del trader principiante (día 6)

Un trader principiante decide vender toda su posición el día 6 debido a que el RSI supera el nivel de 80. Si bien esta decisión se basa en un criterio comúnmente utilizado, no puede considerarse completamente correcta ni incorrecta por sí sola.

El RSI puede permanecer en niveles elevados durante un periodo prolongado cuando el activo se encuentra en una tendencia alcista fuerte. En este contexto, vender inmediatamente al superar 80 puede llevar a perder ganancias adicionales.

Información adicional necesaria

Antes de tomar una decisión de venta, sería necesario analizar: - La tendencia general del precio. - El volumen de negociación. - La presencia de divergencias entre el RSI y el precio. - Otros indicadores técnicos que confirmen un posible agotamiento del movimiento.


Interpretación del RSI alto al día 10

Al día 10, el RSI es de 79, lo que sigue indicando un nivel elevado. Sin embargo, el significado de un RSI alto depende del contexto del mercado.

RSI alto en tendencia alcista fuerte

En una tendencia alcista sólida, un RSI alto refleja fuerza del movimiento, no necesariamente una señal inmediata de venta. En estos casos, el RSI puede mantenerse en niveles elevados sin que se produzca una corrección significativa.

RSI alto previo a una corrección

Un RSI alto puede anticipar una corrección cuando se observa: - Pérdida de momentum. - Divergencias bajistas (el precio sube y el RSI no). - Disminución del volumen. En este escenario, el RSI alto sí puede interpretarse como una señal de advertencia.


Regla de decisión más robusta para identificar oportunidades de venta

Una estrategia más robusta que el uso exclusivo del umbral de 70 podría incluir los siguientes criterios:

  • RSI mayor a 70 y presencia de divergencia bajista.
  • RSI mayor a 70 y ruptura de una media móvil de corto plazo.
  • RSI mayor a 70 y disminución del volumen.
  • Confirmación adicional mediante indicadores de volatilidad o tendencia.

Esta combinación de factores permite reducir la probabilidad de señales falsas y mejora la toma de decisiones en contextos reales de mercado.


Conclusión del ejercicio

El RSI es un indicador útil para identificar condiciones de sobrecompra y sobreventa, pero su interpretación debe realizarse dentro del contexto de la tendencia y otros factores del mercado. El uso exclusivo de umbrales fijos puede llevar a decisiones apresuradas, por lo que es fundamental complementar el análisis con otras herramientas técnicas.

Ejercicio 4: Interpretación del Oscilador Estocástico (10%)

Datos del problema

Se analizan dos acciones utilizando el oscilador estocástico (%K y %D) con una ventana de 14 días.

  • Acción TECH
    • %K = 85
    • %D = 82
    • Precio actual = 150
    • Máximo 14 días = 152
    • Mínimo 14 días = 130
  • Acción ENERGY
    • %K = 22
    • %D = 28
    • Precio actual = 45
    • Máximo 14 días = 58
    • Mínimo 14 días = 42

Cálculo manual de la posición del precio en el rango de 14 días

# Datos
TECH <- list(precio = 150, max = 152, min = 130)
ENERGY <- list(precio = 45, max = 58, min = 42)

# Cálculo de %K manual
K_TECH <- (TECH$precio - TECH$min) / (TECH$max - TECH$min) * 100
K_ENERGY <- (ENERGY$precio - ENERGY$min) / (ENERGY$max - ENERGY$min) * 100

K_TECH
## [1] 90.90909
K_ENERGY
## [1] 18.75

Los resultados obtenidos muestran que la acción TECH presenta una posición cercana al extremo superior del rango, mientras que la acción ENERGY se encuentra cerca del extremo inferior. Estos valores son consistentes con los %K proporcionados en el enunciado, considerando que el oscilador suele aplicarse con suavizamientos adicionales.


Análisis del cruce entre %K y %D

En la acción TECH, %K se encuentra por encima de %D y ambos valores están en niveles elevados (superiores a 80). Esto indica una condición de sobrecompra y sugiere un posible agotamiento del movimiento alcista, aunque no constituye una señal inmediata de venta.

En la acción ENERGY, %K se encuentra por debajo de %D y ambos valores están en niveles bajos (inferiores a 30). Esto indica una condición de sobreventa y sugiere la posibilidad de un rebote, sin garantizar un cambio de tendencia.


Escenario de decisión impuesto por la gerencia

Ante la orden de “comprar la acción en sobreventa y vender la de sobrecompra de inmediato”, no se recomienda ejecutar la decisión sin cuestionamiento.

Desde el punto de vista del contexto de mercado, la acción TECH podría encontrarse en una tendencia alcista fuerte, mientras que la acción ENERGY podría estar en una tendencia bajista prolongada. El oscilador estocástico no distingue entre mercados tendenciales y laterales.

Adicionalmente, el estocástico presenta limitaciones importantes, ya que puede permanecer largos periodos en zonas de sobrecompra o sobreventa, generando señales falsas. Ejecutar decisiones mecánicas aumenta el riesgo de pérdidas por salidas prematuras o entradas anticipadas.


Indicador complementario propuesto

Para confirmar las señales del oscilador estocástico, se recomienda utilizar un indicador de tendencia, como el MACD o promedios móviles. Estos indicadores permiten validar si la señal del estocástico coincide con un cambio real en la dirección del mercado, reduciendo el riesgo de decisiones incorrectas.


Conclusión

El oscilador estocástico es una herramienta útil para identificar la posición relativa del precio dentro de un rango, pero no debe utilizarse de forma aislada. La integración con otros indicadores y el análisis del contexto del mercado son fundamentales para una adecuada gestión del riesgo.

Ejercicio 5: Análisis MACD en Serie Temporal Simulada (15%)

Generación de la serie de precios

Se construye una serie temporal con tres fases diferenciadas: 1. Tendencia alcista (días 1–40) 2. Lateralización (días 41–70) 3. Tendencia bajista (días 71–100)

set.seed(789)

fase1 <- cumprod(1 + rnorm(40, mean = 0.002, sd = 0.01)) * 100
fase2 <- fase1[40] + cumsum(rnorm(30, mean = 0, sd = 0.5))
fase3 <- cumprod(1 + rnorm(30, mean = -0.0015, sd = 0.01)) * fase2[30]

precios <- c(fase1, fase2, fase3)
dias <- 1:length(precios)
set.seed(789)

fase1 <- cumprod(1 + rnorm(40, mean = 0.002, sd = 0.01)) * 100
fase2 <- fase1[40] + cumsum(rnorm(30, mean = 0, sd = 0.5))
fase3 <- cumprod(1 + rnorm(30, mean = -0.0015, sd = 0.01)) * fase2[30]

precios <- c(fase1, fase2, fase3)
dias <- 1:length(precios)

library(TTR)

ema12 <- EMA(precios, n = 12)
ema26 <- EMA(precios, n = 26)

macd <- ema12 - ema26
signal <- EMA(macd, n = 9)
histograma <- macd - signal

compras <- which(diff(sign(macd - signal)) == 2)
ventas  <- which(diff(sign(macd - signal)) == -2)

Gráfico 1: Evolución del precio y fases del mercado

df_precios <- data.frame(
  dia = dias,
  precio = precios,
  fase = case_when(
    dias <= 40 ~ "Alcista",
    dias <= 70 ~ "Lateral",
    TRUE ~ "Bajista"
  )
)

p_precio <- plot_ly(df_precios, x = ~dia, y = ~precio,
                    type = "scatter", mode = "lines",
                    line = list(color = "black"),
                    name = "Precio") %>%
  
  add_trace(x = compras, y = precios[compras],
            type = "scatter", mode = "markers",
            marker = list(symbol = "triangle-up", size = 10, color = "green"),
            name = "Compra") %>%
  
  add_trace(x = ventas, y = precios[ventas],
            type = "scatter", mode = "markers",
            marker = list(symbol = "triangle-down", size = 10, color = "red"),
            name = "Venta") %>%
  
  layout(
    title = "Evolución del Precio (Interactivo)",
    xaxis = list(title = "Días"),
    yaxis = list(title = "Precio"),
    shapes = list(
      list(type = "rect", x0 = 0, x1 = 40, y0 = 0, y1 = 1,
           xref = "x", yref = "paper",
           fillcolor = "rgba(0,255,0,0.1)", line = list(width = 0)),
      list(type = "rect", x0 = 40, x1 = 70, y0 = 0, y1 = 1,
           xref = "x", yref = "paper",
           fillcolor = "rgba(0,0,255,0.1)", line = list(width = 0)),
      list(type = "rect", x0 = 70, x1 = 100, y0 = 0, y1 = 1,
           xref = "x", yref = "paper",
           fillcolor = "rgba(255,0,0,0.1)", line = list(width = 0))
    )
  )

p_precio
## A line object has been specified, but lines is not in the mode
## Adding lines to the mode...
## A line object has been specified, but lines is not in the mode
## Adding lines to the mode...

Gráfico 2: MACD, Línea de Señal e Histograma

df_macd <- data.frame(
  dia = dias,
  macd = macd,
  signal = signal,
  hist = histograma
)

p_macd <- plot_ly(df_macd, x = ~dia) %>%
  
  add_lines(y = ~macd, name = "MACD", line = list(color = "blue")) %>%
  add_lines(y = ~signal, name = "Señal", line = list(color = "red")) %>%
  
  add_bars(y = ~hist, name = "Histograma",
           marker = list(color = ifelse(df_macd$hist > 0, "darkgreen", "darkred")),
           opacity = 0.5) %>%
  
  add_markers(x = compras, y = macd[compras],
              marker = list(symbol = "triangle-up", size = 10, color = "green"),
              name = "Compra") %>%
  
  add_markers(x = ventas, y = macd[ventas],
              marker = list(symbol = "triangle-down", size = 10, color = "red"),
              name = "Venta") %>%
  
  layout(
    title = "MACD Interactivo",
    xaxis = list(title = "Días"),
    yaxis = list(title = "Valor")
  )

p_macd
## Warning: Ignoring 33 observations

Identificación de señales de compra y venta

Las señales de compra se identifican cuando la línea MACD cruza al alza la línea de señal.
Las señales de venta ocurren cuando la MACD cruza a la baja la línea de señal.

En la fase alcista se observan al menos dos cruces alcistas claros.
En la fase bajista se presentan cruces bajistas que actúan como señales de venta.

Durante la lateralización aparecen cruces frecuentes que no generan movimientos sostenidos, constituyendo señales falsas.

Análisis crítico por fases

Fase alcista (días 1–40)

El MACD genera señales más confiables, ya que los cruces coinciden con una tendencia clara. El histograma se mantiene positivo y creciente, confirmando el impulso alcista.

Fase lateral (días 41–70)

Se observan múltiples señales falsas. El MACD cruza repetidamente la línea de señal sin una dirección definida. El histograma oscila cerca de cero, indicando ausencia de momentum.

Fase bajista (días 71–100)

Las señales de venta son más efectivas. El histograma permanece negativo y se amplía, confirmando presión vendedora.

Comportamiento del histograma

El histograma permite visualizar la fuerza del movimiento: - Valores crecientes indican aceleración de la tendencia. - Valores decrecientes señalan pérdida de momentum. - Oscilaciones cercanas a cero advierten mercados laterales.

Este componente aporta información adicional que no es evidente solo observando las líneas del MACD. ## Reflexión avanzada: MACD como indicador retardado

El MACD es un indicador retardado porque se basa en medias móviles, las cuales responden con retraso a los cambios en el precio. En los gráficos se observa que las señales aparecen después de que el movimiento ya ha comenzado.

Para un trader en tiempo real, esto implica: - Entradas tardías en el inicio de tendencias - Salidas retrasadas ante cambios bruscos - Necesidad de complementar el MACD con indicadores adelantados o análisis de precio

Por tanto, el MACD es más efectivo para confirmar tendencias que para anticiparlas.

Ejercicio 6: MADC

Escenario:

HACE 5 DÍAS: -1.2 HOY: 2.5 LINEA DE SEÑAL HACE 5 DÍAS: -0.5 HOY: 1.8 HISTOGRAMA HACE 5 DÍAS: -0.7 HACE 2 DÍAS: +0.9 HOY: +0.7

a) Describa qué cambio fundamental ocurrió en el momentum del activo entre hace 5 días y hoy.

Entre hace 5 días y hoy ocurrió un cambio de momentum de bajista a alcista. Hace 5 días el MACD (−1.2) estaba por debajo de la señal (−0.5) y el histograma era −0.7, indicando impulso bajista. Hoy el MACD (2.5) está por encima de la señal (1.8) y el histograma es +0.7, reflejando impulso alcista.

b) Identifique qué tipo de señal de trading se generó (cruce alcista/bajista) y en qué momento aproximado ocurrió.

Se generó una señal de trading de cruce alcista (MACD cruzando por encima de la señal). El cruce ocurrió cuando el histograma se hizo 0; como pasó de −0.7 (hace 5 días) a +0.9 (hace 2 días), el cruce debió ocurrir entre hace 5 y hace 2 días, aproximadamente entre hace 4 y 3 días.

c) El estudiante nota que aunque el histograma es positivo, está disminuyendo en los últimos 2 días (era +0.9 hace 2 días). ¿Qué advertencia proporciona esta información sobre la fortaleza de la tendencia actual?

Aunque el histograma es positivo (sesgo alcista), su disminución en los últimos 2 días (+0.9 → +0.7) advierte que el momentum alcista se está debilitando (menor separación entre MACD y señal). Esto sugiere posible desaceleración/consolidación y aumenta el riesgo de un cruce bajista si la tendencia continúa.

Ejercicio 7: Bandas de Bollinger

Durante 20 días, el precio promedio (SMA) de una acción fue $80 con una desviación estándar de $5.

a) Calcule las bandas de Bollinger superior e inferior (usando 2 desviaciones estándar).

Datos: - \(SMA(20)=80\) - \(\sigma=5\) - \(k=2\)

\[ \text{Banda Superior} = 80 + 2(5) = 80 + 10 = 90 \] \[ \text{Banda Inferior} = 80 - 2(5) = 80 - 10 = 70 \]

Banda superior = 90 Banda inferior = 70


b) Hoy el precio cerró en $91. ¿Qué indica esta situación según el análisis de Bandas de Bollinger?

Como \(91 > 90\), el precio cerró por encima de la banda superior.

¿Qué indica esto?

  • El precio está en una zona relativamente alta respecto a su volatilidad reciente (está “fuera” del rango típico \(\pm 2\sigma\)).
  • Esto puede interpretarse de dos maneras dependiendo del contexto:
  1. Impulso / ruptura (breakout): si hay tendencia alcista y aumento de volatilidad, cerrar por encima puede ser señal de fortaleza y continuidad.

  2. Sobreextensión y posible retroceso a la media: si el precio venía lateral o sin confirmación, puede haber reversión hacia la banda media.

Sin embargo la información es escasa, podemos decir que es un evento de breakout, pero la dirección que pueda tomar el activo no es segura.


c) Un estudiante concluye: “El precio está en $91, arriba de la banda superior ($90), por lo tanto debo vender porque está garantizado que bajará”. Identifique los errores en este razonamiento y explique qué análisis adicional debería realizar antes de tomar esta decisión. Mencione al menos el concepto de “Bollinger Squeeze”.

Razonamiento del estudiante:

“Está en 91 arriba de la banda superior (90), entonces debo vender porque está garantizado que bajará”.

Errores principales

  1. Determinismo (“garantizado”)

Ningún indicador técnico garantiza un movimiento. Las bandas describen distribución/volatilidad, no una ley física.

  1. Confundir “tocar/salir” con señal automática de venta

En tendencias fuertes, el precio puede caminar por la banda superior (“walk the band”) y seguir subiendo. Vender “por tocar” puede sacarte de una tendencia ganadora.

  1. Ignorar el contexto de tendencia y volatilidad

No evalúa si las bandas se están expandiendo (volatilidad creciente, típico de continuación) o si el movimiento es un “spike” aislado.

  1. No propone gestión del riesgo

Decisiones de trading deben incluir criterio de entrada/salida, stop-loss, tamaño de posición, no solo “vendo ya”.

¿Qué análisis adicional haría antes de decidir?

  • Confirmación de tendencia: ¿la SMA(20) está subiendo? ¿máximos/mínimos crecientes?

  • Ancho de banda (Bandwidth) y %B:

    • Si el bandwidth está aumentando, suele acompañar rupturas.
    • %B te dice cuán “afuera/arriba” está el precio de forma normalizada.
  • Volumen y velas: un cierre fuera de banda con volumen alto y vela fuerte suele apoyar breakout; una vela de rechazo (mecha superior grande) puede sugerir agotamiento.

  • Indicadores complementarios: RSI/MACD para ver si hay divergencias o desaceleración.

  • Bollinger Squeeze: revisar si antes hubo contracción fuerte de bandas (squeeze).

    • Si veníamos de squeeze y ahora rompe arriba, puede ser inicio de movimiento grande (pero confirmas con volumen/tendencia).
    • El squeeze por sí solo no da la dirección; la dirección la define la ruptura y confirmaciones.

Conclusión: “Cerrar por encima de la banda superior es una señal de evento extremo, puede ser fortaleza (breakout) o sobreextensión. Antes de vender, se debe evaluar tendencia, expansión o contracción de bandas (squeeze), volumen y señales de agotamiento.”

Ejercicio 8: Análisis de Código R (10 puntos)

Considere el siguiente fragmento:

sma_20 <- SMA(precios, n = 20)
ema_20 <- EMA(precios, n = 20)

Objetivo: explicar conceptualmente qué hace cada función, recomendar el indicador más adecuado para detectar cambios rápidos de tendencia y proponer una modificación del código para múltiples ventanas (10, 20 y 50 días), con interpretación práctica.


Preparación (datos y librerías)

library(TTR)
library(ggplot2)
library(plotly)

# Simulamos precios de acciones para 100 días
set.seed(123)
dias <- 1:100
precios <- cumsum(runif(100, min = -2, max = 2)) + 100

# Indicadores
sma_20 <- SMA(precios, n = 20)
ema_20 <- EMA(precios, n = 20)

# Dataframe
datos <- data.frame(Dia = dias, Precio = precios, SMA20 = sma_20, EMA20 = ema_20)

# Gráfico base (ggplot)
p <- ggplot(datos, aes(x = Dia)) +
  geom_line(aes(y = Precio, colour = "Precio")) +
  geom_line(aes(y = SMA20, colour = "SMA 20 dias"), linewidth = 1, na.rm = TRUE) +
  geom_line(aes(y = EMA20, colour = "EMA 20 dias"), linewidth = 1, linetype = "dashed", na.rm = TRUE) +
  labs(
    title = "Precio de Acciones, SMA y EMA de 20 días",
    x = "Dia",
    y = "Precio"
  ) +
  scale_colour_manual(
    "",
    values = c("Precio" = "blue", "SMA 20 dias" = "red", "EMA 20 dias" = "green")
  ) +
  theme_minimal()

# Convertir a gráfico interactivo (clic en leyenda para seleccionar líneas)
ggplotly(p, tooltip = c("x", "y", "colour")) |>
  layout(
    legend = list(
      itemclick = "toggle",        # clic: muestra/oculta la línea
      itemdoubleclick = "toggleothers" # doble clic: aísla una línea
    )
  )

a) Diferencia fundamental entre SMA y EMA

La gráfica comparativa muestra tres comportamientos claramente diferenciados:

Precio (azul): presenta oscilaciones rápidas y mayor “ruido”.

SMA(20) (rojo): es la curva más “suavizada” y suele ir más retrasada respecto a giros bruscos del precio.

EMA(20) (verde punteada): se acerca más al precio y cambia de dirección con mayor rapidez que la SMA.

Como la SMA trata por igual a todos los datos de la ventana, el impacto de un cambio reciente se diluye entre 20 observaciones, generando mayor rezago.

Como la EMA pondera más lo reciente, incorpora los cambios nuevos con mayor fuerza y por eso muestra menor rezago, ajustándose antes cuando el precio cambia de trayectoria.

La diferencia fundamental entre SMA(20) y EMA(20) es el esquema de ponderación de los datos históricos:

La SMA promedia los últimos 20 precios con pesos iguales, produciendo una serie más suave pero con mayor rezago frente a cambios rápidos; en contraste, la EMA asigna mayor peso a los precios recientes, lo que le permite reaccionar más rápido y seguir más de cerca la dinámica del precio. Esto se observa en la salida del código: ambas series presentan NA al inicio por falta de 20 observaciones y, en la gráfica, la EMA (verde) responde antes que la SMA (roja) ante los movimientos del precio.

b) Si un analista necesita detectar cambios de tendencia lo más rápido posible para trading de alta frecuencia, ¿qué indicador recomendaría (SMA o EMA) y por qué?

Para detectar cambios de tendencia lo más rápido posible en trading de alta frecuencia, se recomienda la EMA porque asigna mayor peso a los precios recientes, lo que reduce el rezago (lag) y hace que la señal reaccione antes que la SMA, la cual promedia con pesos iguales y por eso “llega tarde” a los giros. Como punto operativo clave, la EMA también es más sensible al ruido intradía y puede generar señales falsas en mercados laterales, por lo que conviene acompañarla de otros indicadores para lograr un equilibrio entre la velocidad de detección y precisión en escenarios de trading de alta frecuencia.

c) Proponga una modificación al código que calcule ambos indicadores con períodos de 10, 20 y 50 días, y explique qué insight adicional proporcionaría comparar estas tres ventanas temporales.

library(TTR)
library(ggplot2)
library(dplyr)
library(tidyr)
library(plotly)

# Simulamos precios de acciones para 100 días
set.seed(123)
dias <- 1:100
precios <- cumsum(runif(100, min = -2, max = 2)) + 100

# Períodos solicitados
periodos <- c(10, 20, 50)

# Calculamos SMA y EMA para cada período
sma_list <- lapply(periodos, function(n) SMA(precios, n = n))
ema_list <- lapply(periodos, function(n) EMA(precios, n = n))

# Construimos el dataframe con nombres claros
datos <- data.frame(Dia = dias, Precio = precios) %>%
  bind_cols(setNames(as.data.frame(sma_list), paste0("SMA", periodos))) %>%
  bind_cols(setNames(as.data.frame(ema_list), paste0("EMA", periodos)))

# Pasamos a formato largo (incluimos también Precio para que sea una línea seleccionable en la leyenda)
datos_long <- datos %>%
  pivot_longer(
    cols = -Dia,
    names_to = "Indicador",
    values_to = "Valor"
  ) %>%
  mutate(
    Tipo = case_when(
      Indicador == "Precio" ~ "Precio",
      grepl("^EMA", Indicador) ~ "EMA",
      grepl("^SMA", Indicador) ~ "SMA",
      TRUE ~ "Otro"
    )
  )

# Gráfico base (ggplot)
p <- ggplot(datos_long, aes(x = Dia, y = Valor, colour = Indicador)) +
  geom_line(aes(linetype = Tipo), linewidth = 1, na.rm = TRUE) +
  scale_linetype_manual(values = c("Precio" = "solid", "SMA" = "solid", "EMA" = "dashed")) +
  labs(
    title = "Precio de Acciones, SMA y EMA (10, 20 y 50 días)",
    x = "Día",
    y = "Precio",
    colour = "",
    linetype = ""
  ) +
  theme_minimal()

# Convertir a interactivo: clic en leyenda para mostrar/ocultar líneas, doble clic para aislar una
ggplotly(p, tooltip = c("x", "y", "colour")) |>
  layout(
    legend = list(
      itemclick = "toggle",
      itemdoubleclick = "toggleothers"
    )
  )

Comparar SMA y EMA con períodos de 10, 20 y 50 días permite analizar el precio en corto, medio y largo plazo. La ventana de 10 días reacciona rápido a cambios recientes pero es más sensible al ruido; la de 20 días ofrece un balance entre rapidez y suavizado; y la de 50 días muestra la tendencia estructural con mayor estabilidad, aunque con más rezago. Al observar las tres simultáneamente, se puede distinguir si un movimiento es solo de corto plazo (afecta sobre todo a 10) o si corresponde a una tendencia más consistente (cuando también se refleja en 20 y 50). Además, al comparar EMA vs SMA, se evidencia que la EMA suele ajustarse antes (más sensible a lo reciente), mientras que la SMA suaviza más y confirma tendencias con mayor estabilidad.

EJERCICIO 9. Diseño de Estrategia de Trading (Integración)

Indicadores usados: MACD(12, 26, 9), Bandas de Bollinger \(\big(SMA(20)\pm 2\sigma\big)\) y RSI(14).


Enfoque general de la estrategia

La estrategia busca operar un activo volátil identificando extremos de precio (Bandas de Bollinger), confirmando condición de sobreventa/sobrecompra (RSI) y validando que exista un cambio real de momentum (MACD). La entrada se realiza solo cuando las tres señales coinciden, con el objetivo de reducir señales falsas.


a) Condiciones de ENTRADA (compra)

Se abre una posición larga (compra) cuando se cumplan simultáneamente:

  1. Bandas de Bollinger (condición de extremo):
    El precio toca o cierra por debajo de la banda inferior, lo cual sugiere una caída fuerte respecto a la volatilidad reciente (posible sobreventa relativa).

  2. RSI(14) (confirmación de sobreventa y giro):
    El RSI se encuentra en sobreventa \((RSI < 30)\) y posteriormente cruza hacia arriba el nivel 30, lo que indica que la presión vendedora empieza a perder fuerza.

  3. MACD(12,26,9) (confirmación de momentum):
    La línea MACD cruza por encima de la línea de señal, confirmando que el momentum cambia a favor del alza.

Regla de robustez (opcional, recomendable en activos muy volátiles): exigir que el precio vuelva a cerrar dentro de las bandas después de haber tocado/cerrado por debajo de la banda inferior. Esto ayuda a evitar compras en plena caída (“knife catching”).


b) Condiciones de SALIDA (venta)

Se cierra la posición (venta) si ocurre al menos una de las siguientes condiciones:

  1. Objetivo por Bandas de Bollinger (toma de ganancia):
  • Salida conservadora: cuando el precio alcanza la banda media \(\big(SMA(20)\big)\).
  • Salida agresiva: cuando el precio toca la banda superior.
  1. RSI (zona de sobrecompra):
    Si el RSI alcanza \(RSI > 70\), lo cual sugiere un nivel relativamente alto y posible agotamiento del movimiento.

  2. MACD (pérdida de momentum):
    Si el MACD realiza un cruce bajista (MACD cae por debajo de la señal), indicando debilitamiento del impulso alcista.

Salida por tiempo (control adicional): si después de la entrada el precio no muestra recuperación (por ejemplo, no alcanza la banda media) dentro de un número razonable de velas, se recomienda cerrar para evitar quedar atrapado en rango lateral.


c) Gestión de riesgo (stop-loss y control de exposición)

La gestión del riesgo se basa en adaptar el stop a la volatilidad (Bandas) y al momentum (MACD/RSI).

Stop-loss inicial (al momento de entrada)

Ubicar el stop por debajo de la banda inferior, dejando un margen adicional acorde al nivel de volatilidad.
Una forma práctica es calcular el ancho de banda:

\[ \text{Ancho}=\text{Banda Superior}-\text{Banda Inferior} \]

y colocar el stop algunos puntos por debajo de la banda inferior (por ejemplo, un porcentaje del ancho de banda).

Ajuste del stop (trailing stop)

  • Si el precio recupera y se mantiene por encima de la banda media \(\big(SMA(20)\big)\), el stop puede subirse gradualmente para proteger ganancias (por ejemplo, a la banda media o a un mínimo relevante reciente).
  • Si el MACD cruza a la baja, se considera salida temprana por pérdida de momentum (stop técnico).

Tamaño de posición (regla de control)

Definir un porcentaje máximo de pérdida por operación (ej.: 1% del capital), calculando el tamaño de la posición según la distancia entre entrada y stop. Esto evita que una sola operación afecte de forma significativa el portafolio.


d) Limitaciones (mínimo 2 escenarios) y cómo mitigarlas

1) Tendencias fuertes (riesgo de “falsas sobrecompras/sobreventas”)

En una tendencia alcista fuerte, el precio puede permanecer cerca de la banda superior y el RSI puede mantenerse elevado durante varios periodos. En este caso, “sobrecompra” no implica reversión inmediata.

Mitigación: - Operar a favor de la tendencia: por ejemplo, solo tomar compras si el precio está por encima de la \(SMA(20)\) o si la \(SMA(20)\) tiene pendiente positiva. - Exigir confirmación adicional del MACD (por ejemplo, que el MACD se mantenga positivo o que el histograma aumente).

2) Mercado lateral o “choppy” (señales falsas por cruces frecuentes)

En rangos laterales con alta volatilidad intradía, el MACD puede cruzar repetidamente (whipsaws) y generar entradas/salidas poco eficientes.

Mitigación: - Evitar operar cuando no hay dirección clara: por ejemplo, cuando la \(SMA(20)\) está plana. - Exigir confirmación con cierre dentro de bandas y/o expansión de volatilidad tras un período de baja volatilidad.

(Opcional) 3) Movimientos por noticias (saltos y gaps)

En activos volátiles, eventos externos pueden provocar movimientos bruscos que invalidan señales técnicas.

Mitigación: - Usar stop-loss disciplinado y limitar exposición. - Evitar operar en momentos de anuncios relevantes o aumentar los filtros de confirmación.


Conclusión

La estrategia integra:

  • Bandas de Bollinger para detectar extremos de volatilidad y niveles relativos del precio,
  • RSI para confirmar sobreventa/sobrecompra y giros,
  • MACD para validar el cambio de momentum.

Al exigir que las tres condiciones se cumplan conjuntamente, se busca reducir entradas impulsivas y mejorar la calidad de las señales en un activo volátil.

EJERCICIO 10: Análisis Crítico - Limitaciones de los Indicadores (10 puntos)

El documento menciona diversas limitaciones de los indicadores técnicos.

Desarrolle un ensayo breve (máximo 300 palabras) que aborde:

  1. ¿Por qué los indicadores técnicos son herramientas “retardadas” (lagging indicators)? Explique con un ejemplo concreto.

  2. En mercados con “saltos de precio” (gaps) causados por noticias inesperadas (ej: aprobación de un medicamento, cambio regulatorio), ¿por qué fallan los indicadores técnicos tradicionales?

  3. Proponga dos estrategias complementarias que un analista de riesgo podría implementar para compensar estas limitaciones (no puede ser simplemente “usar análisis fundamental”).

Los indicadores técnicos se clasifican como herramientas retardadas (lagging) porque se calculan a partir de datos históricos y, al incorporar promedios y suavizados, confirman los cambios después de que el precio ya se ha desplazado. Un ejemplo representativo es el MACD, cuya línea de señal se obtiene mediante una EMA aplicada al propio indicador; dicho suavizado reduce ruido, pero introduce rezago en los cruces de compra/venta.En términos prácticos, si el precio gira hoy (p. ej., tras una caída, rebota con fuerza), el cruce alcista puede aparecer varios periodos más tarde, cuando parte del rebote ya ocurrió, generando entradas menos eficientes y salidas tardías.

En presencia de saltos de precio (gaps) por noticias inesperadas, la limitación se intensifica porque el salto rompe la continuidad del proceso: los indicadores recalculan “a posteriori” con observaciones que ya incorporan el evento, sin capacidad predictiva intrínseca. En mercados direccionales, el RSI puede permanecer en zonas extremas durante periodos prolongados, por lo que una lectura aislada de sobrecompra o sobreventa puede inducir señales engañosas. De forma análoga, el Bollinger Squeeze anticipa expansión de volatilidad, pero no determina la dirección; un gap puede producir lecturas extremas sin una señal concluyente por sí sola.

Para compensar estas restricciones, se recomienda realizar gestión cuantitativa del riesgo como el dimensionamiento por volatilidad, reglas explícitas de stop-loss/take-profit, límites de pérdida y protocolos de pausa ante gaps, dado que el análisis técnico apoya decisiones de entrada/salida y control del riesgo. Además se recomienda realizar filtros de régimen y confirmación (Tendencia–volatilidad–momentum), evitando conclusiones deterministas, ya que la interpretación es parcialmente subjetiva y no existe garantía de repetición perfecta.