Variación logaritmica y la variación clásica

 

En finanzas cuantitativas, para el análisis de series temporales financieras, es común utilizar tanto la variación porcentual clásica como la variación logarítmica para medir los cambios relativos entre periodos. Formulación general:

variación logarítmica = log(PtPt1)\log\left(\frac{P_t}{P_{t-1}}\right) \approx \frac{P_t - P_{t-1}}{P_{t-1}} = \text{variación clásica}

variación clásica = PtPt1Pt1\log\left(\frac{P_t}{P_{t-1}}\right) \approx \frac{P_t - P_{t-1}}{P_{t-1}} = \text{variación clásica}

La variación logarítmica o compuesta continua es preferida por sus propiedades estadísticas y algebraicas, especialmente al trabajar con retornos en múltiples periodos, ya que convierte productos en sumas. 

Aunque, cuando los cambios son pequeños, ambas medidas tienden a converger, lo que permite su uso indistinto en análisis de corto plazo. Esta característica ha sido ampliamente documentada en la literatura y responde al hecho de que para valores pequeños de x, se cumple la aproximación:

log(1+x)x\log(1 + x) \approx x

lo cual implica que:

log(PtPt1)PtPt1Pt1\log\left(\frac{P_t}{P_{t-1}}\right) \approx \frac{P_t - P_{t-1}}{P_{t-1}}

 Ilustración en R


{r}
# ---------------------------------------------------------------------------- /
library(ggplot2)
library(dplyr)

# ---------------------------------------------------------------------------- /
# data simulation
set.seed(123)
P_t_minus_1 <- 100
returns <- seq(-0.2, 0.2, by = 0.001) #sort(rnorm(10000, mean=3, sd=2))
P_t <- P_t_minus_1 * (1 + returns)

# variations
classic_return <- (P_t - P_t_minus_1) / P_t_minus_1
log_return <- log(P_t / P_t_minus_1)
diff <- log_return - classic_return

df <- data.frame(
  Classic_Return = classic_return,
  Log_Return = log_return,
  Relative_Change = returns * 100,
  Difference = diff
)

glimpse(df)

# ---------------------------------------------------------------------------- /

ggplot(df, aes(x = Relative_Change)) +
  geom_line(aes(y = Classic_Return, color = "Clásica")) +
  geom_line(aes(y = Log_Return, color = "Logarítmica")) +
  labs(
    title = "Comparación entre variación clásica y logarítmica",
    y = "Retorno",
    color = "Medida"
  ) +
  theme_minimal()

# Diferencia entre ambas
ggplot(df, aes(x = Relative_Change, y = Difference)) +
  geom_line(color = "darkred") +
  labs(
    title = "Diferencia entre retorno logarítmico y clásico",
    y = "Log - Clásico",
    x = "Cambio relativo (%)"
  ) +
  theme_minimal()

# ---------------------------------------------------------------------------- /
# ---------------------------------------------------------------------------- /

 

Referencias:

Hull, J. C. (2015). Options, Futures, and Other Derivatives (9th ed.). Pearson Education.

Danielsson, J. (2011). Financial risk forecasting. Wiley Finance. 

 

Entradas populares

SQL