Mostrando entradas con la etiqueta Sector Financiero. Mostrar todas las entradas
Mostrando entradas con la etiqueta Sector Financiero. Mostrar todas las entradas

8 ago 2023

Midiendo la volatilidad en las series económicas/financiera (ejemplos en R)

La volatilidad de las series financieras y económicas es un momento (característica) indispensable para caracterizar cualquier serie. Usualmente esta mide el nivel de fluctuaciones de una serie alrededor de una medida de referencia, por lo general, la media. Por lo que, una mayor varianza generalmente esta asociada a mayor incertidumbre de los datos. En aplicaciones puntuales, indican que la volatilidad del retorno de un activo financiero se asocia con su precio; la volatilidad del tipo de cambio se asocia al uso de instrumentos de cobertura por parte de los agentes del mercado; la volatilidad de la inflación resta capacidad de pronósticos por los interesados; igual mayor incertidumbre en la actividad económica puede llevar a las instituciones financieras a tomar mayores precauciones frente a posibles eventos adversos, incidiendo inclusive en posibles caídas del consumo… En todos los casos, la volatilidad tiene una incidencia directa sobre las decisiones económicas y las características de las series.

En este marco y entendiendo que la incertidumbre alrededor de la serie es una condición latente (no observable), surgen diferentes alternativas para su medición. La primera de estas alternativas corresponde a la volatilidad incondicional de la serie estacionaria[1]. La estacionariedad de la serie suele aproximarse a partir de la primera diferencia logarítmica, que en finanzas se les llaman retornos.

library(dplyr)
data("EuStockMarkets")
 
dln_dax <- EuStockMarkets |>
  as.data.frame() |>
  mutate(DAX_Return = log(DAX) - log(dplyr::lag(DAX))) |>
  select(DAX_Return)
 
sd(dln_dax$DAX_Return, na.rm = TRUE)
[1] 0.01030084

Volatilidad incondicional

A partir de la varianza de la primera diferencia logarítmica de la serie hemos obtenido la desviación estándar incondicional como primera aproximación de la volatilidad de la serie en cuestión. Ahora bien, una simple inspección del grafico de esta serie (1ra diferencia logarítmica), nos lleva aprecios que el grado de las fluctuaciones de las series respecto al nivel de referencia tiende a cambiar en el tiempo.

library(ggplot2)
ggplot(df, aes(x = time(EuStockMarkets), y = DAX_Return)) +
  geom_line() +
  labs(x = "Fecha", y = "Log-Retorno DAX", title = "Log-Retornos Diarios de DAX") +
  theme_minimal()  


Si estimáramos la varianza en dos lugares distintos de nuestra muestra de datos, obtendríamos valores diferentes.

 sd(dln_dax$DAX_Return[15:150], na.rm = TRUE)
sd(dln_dax$DAX_Return[900:1000], na.rm = TRUE)

Bajo estas condiciones, ha sido ampliamente documentado en la literatura que esta media suele enfrentar inconvenientes asociados a:

i.                    Considera la volatilidad como un fenómeno estable en el tiempo.

ii.                  Reconoce como volatilidad cambios de nivel en la serie o presencia de tendencias.

iii.                No reconoce que parte de las fluctuaciones de una serie podrían ser anticiparles (en caso de serlo no se entiende como volatilidad).

iv.                 Es una medida que mira hacia el pasa.

Ventana de volatilidad

Estas debilidades han llevado a considerar algunas medias alternativas de volatilidad. La primera de estas medidas es la media móvil. Esta consiste en seleccionar una ventana temporal (por ejemplo 20 observaciones) e ir calculando la volatilidad en cada ventana temporal, de forma tal, que se obtenga una medida de la volatilidad histórica. Por ejemplo: tomamos las primeras 20 observaciones, luego tomamos de la observación 2:21, 3:22, … hasta recorrer toda la muestra. Esto permite obtener un vector de volatilidades.

library(zoo)
window_size <- 66
r_dax <- dln_dax$DAX_Return[-1]
volatility_window <- rollapply(r_dax, width = window_size,
                               FUN = sd, align = "right", fill = NA)
 
dln_dax$H_vent_vol <-  c(NA,volatility_window)

Note como ahora se esta considerando la volatilidad como un momento cambiante en el tiempo:

ggplot(dln_dax, aes(x = time(EuStockMarkets), y = H_vent_vol)) +
  geom_line() +
  geom_hline(yintercept = sd(dln_dax$DAX_Return, na.rm = TRUE),
                    col = "red", linetype = "dashed") +
  theme_minimal()


Ponderación exponencial

Sin embargo, las ventanas de volatilidad también suelen presentar debilidades importantes asociadas a que no es trivial seleccionar la amplitud deseada de la ventana de estimación, en el sentido de que ventanas muy pequeñas sueles ser bastante sensible al nuevo dato observados, mientras que al usar ventanas más grandes la serie tiende a suavizarse. Por tanto, la amplitud de la ventana dependerá de cual entendamos modela mejor las características de las series. Otra debilidad es que pondera por igual todas las observaciones de nuestra base, cuando entendemos que los valores recientes guardan mayor cantidad de información. Ambas debilidades son enfrentadas por un modelo de exponenciación exponencial, que permite brindar mayor ponderación a las observaciones recientes, además salta el problema de la selección de ventana.

tobs <- length(r_dax)
varEWMA<- var(r_dax, na.rm=TRUE);
lambda<-0.94
 
for (t in 2:(tobs + 1)) {
  varEWMA[t]<-lambda*varEWMA[t-1]+(1-lambda)*(r_dax[t-1]^2)
  #no consideramos la primera obs
}
 
dln_dax$H_Ewma <- sqrt(varEWMA)
 
dln_dax %>%
  select(starts_with("H_")) |>
  mutate(fecha= time(EuStockMarkets)) |>
  pivot_longer(cols = -fecha, names_to = "variable", values_to = "valor") |>
  ggplot(aes(x = fecha, y = valor, color = variable)) +
  geom_line() +
  theme_minimal()


Modelos GARCH

Adicional a las alternativas anteriores, buscando modelar regularidades empíricas observadas alrededor de las seréis económicas y financieras, se han agregado los modelos GARCH, estos modelos son una generalización de los modelos ARCH y permiten modelar temas como reversión a la media. Capacidad para modelar patrones de volatilidad a largo plazo: Los modelos GARCH son más adecuados para modelar patrones de volatilidad a largo plazo, lo que significa que pueden adaptarse mejor a la evolución de la volatilidad en el tiempo. En R, el paquete rugarch permite estimar este tipo de modelos.

library(rugarch)
spec <- ugarchspec(variance.model = list(model = "sGARCH",
                                         garchOrder = c(1, 1)))
 
fit <- ugarchfit(spec, data = r_dax)
volatility <- sigma(fit)
 
dln_dax$H_garch <- c(NA, volatility[,1])
 
dln_dax %>%
  select(starts_with("H_")) |>
  mutate(fecha= time(EuStockMarkets)) |>
  pivot_longer(cols = -fecha, names_to = "variable", values_to = "valor") |>
  ggplot(aes(x = fecha, y = valor, color = variable)) +
  geom_line() +
  theme_minimal()


Modelos ARMA-GARCH no gaussiano

Extensiones del modelo GARCH han permitido incorporar no normalidades (por ejemplo, usando distribución t, que permite incorporar colas más pesas que indican que los eventos extremos se hacen más posibles); asimetrías en la respuesta en volatilidad (modelos gjr-garch que indican que las noticias positivas/negativas tendrán un efecto diferenciados; o modelar conjuntamente correlaciones en el nivel de la serie estacionaria, mediante los conocidos arma-garch.

spec <- ugarchspec(variance.model = list(model = "gjrGARCH",
                                         garchOrder = c(1, 1)),
                   mean.model = list(armaOrder = c(1, 1)),
                   distribution.model = "std")
 
fit2 <- ugarchfit(spec, data = r_dax)
volatility2 <- sigma(fit2)
 
 
dln_dax$H_gjr_t <- c(NA, volatility2[,1])
 
dln_dax %>%
  select(starts_with("H_")) |>
  mutate(fecha= time(EuStockMarkets)) |>
  pivot_longer(cols = -fecha, names_to = "variable", values_to = "valor") |>
  ggplot(aes(x = fecha, y = valor, color = variable)) +
  geom_line() +
  theme_minimal() +
  gghighlight(variable=="H_gjr_t")  


Bayesian Inference for Stochastic Volatility

Finalmente, otras alternativas de los modelos de volatilidad provienen de los modelos de volatilidad estocástica.

library(stochvol)
 
res <- svsample(r_dax, priormu = c(-10, 1), priorphi = c(20, 1.1), priorsigma = .1)
summary(res, showlatent = FALSE)
 
dln_dax$H_stoc_v <- c(NA, res$summary$sd[,"mean"])
 
dln_dax %>%
  select(starts_with("H_")) |>
  mutate(fecha= time(EuStockMarkets)) |>
  pivot_longer(cols = -fecha, names_to = "variable", values_to = "valor") |>
  ggplot(aes(x = fecha, y = valor, color = variable)) +
  geom_line() +
  theme_minimal() +
  gghighlight(variable %in% c("H_gjr_t","H_stoc_v"))




[1] Recuerde que el uso de momentos solo se justifica en casos donde la serie estimada sea estacionaria. Por ende, al medir la volatilidad de una serie temporal, debemos testear previamente el orden de integración de la serie, pasa saber si necesitamos realizar alguna transformación previa antes de estimar la volatilidad.

25 may 2012

La especialización del crédito dominicano en el financiamiento de la demanda


De 1995 a 2010 la cartera de crédito emitido por bancos múltiples en República Dominicana ha mostrado un vigoroso crecimiento, al pasar de RD$24,425.9 a RD$376,277.7[1], lo que ha significado un crecimiento promedio anual de 20.4%. Esto ha permitido que el crédito bancario haya venido incrementándose como porcentaje del PIB en los últimos años[2]. Una proporción importante de este crecimiento se debe al incremento de los préstamos al consumo (Especialmente de bienes importados) y la construcción. Según Guzmán[3], este financiamiento refleja una movilización de recursos que explica, en parte, la persistencia en el déficit comercial del país tras la crisis financiera de 2003.

Pese a que, al 2010, alrededor del 90% de estos préstamos (RD$337,349 millones), son captados por el sector privado, solo el 16.8% (del crédito otorgado al sector privado) se dirige a la producción. Así el crédito a sectores transables se ha mantenido disminuyendo desde el año 2000. En la actualidad menos del 10% del crédito total en el sistema se destina a la industria o la agricultura.  Sumado al hecho que, según datos del Banco mundial, menos del 20% de la población en el país tiene acceso al financiamiento[4].

La proporción del crédito captado por el sector público tendió a incrementarse entre 1995 y 2004, no obstante a partir de aquí ha venido fluctuado e interactuando con la captación de crédito del sector privado.

Las empresas manufactureras y agropecuarias han perdido participación en el crédito total, en el caso de las empresas manufactureras han pasado del 18 a solo el 4.7% de 1995-2010, mientras que las agropecuarias solo captan, al 2010, el 2.8% del crédito total cuando en 1995 captaban el 10.2%. contrario a lo sucedido con los créditos personales que pasan del 9.2 al 30.7% del total de créditos emitidos.
es evidente, (ver próximo gráfico) que la proporción del crédito destinado a producción, manufactura y agropecuario (oferta) se ha reducido como proporción del crédito total para financiar la parte de créditos personales para consumo y vivienda.


En resumen los créditos otorgados en el país se han ido especializando en estimular la demanda (Prestamos personales para consumo y compra de viviendas), a “expensa de la oferta” (acceso restringido al capital por los sectores productivos… Según autores como Keefer y Knack, 2002 y 1997 esto reduce las posibilidades de logar economías de escalas para el mercado interno en sectores como manufactura, genera malestares sociales por medio de tensiones en la distribución del ingreso e incrementa la violencia.


Referencias

Banco Central de la Republica Dominicana: “Boletines trimestrales 1999,2010”.

Ecocaribe S.R.L: “Análisis del Crecimiento Económico y Adecuación de Políticas Económicas”. Documento preparado para la 4ta convención Nacional de Empresarios del Consejo Nacional de la Empresa Privada, CONEP. Noviembre 2011.

Guzmán, Rolando: “Composición económica dominicana: el estrato de ingresos medios en el umbral del siglo XXI”. Documento preparado para el Ministerios de Economía, Planificación y Desarrollo. Febrero 2011.

Harvard, University: “Construyendo un mejor futuro para la Rep. Dom” Documento preparado para el Ministerios de Economía, Planificación y Desarrollo. 2010.



[1] Banco Central de la Rep. Dom.: “Boletines trimestrales”
[2] Harvard:”Informe técnico para el desarrollo económico de la Rep. Dom.” Pág. 52
[3] Guzmán, Rolando:”Composición social de la Republica Dominicana”
[4] Honohan, P. (2007): Cross-Country Variation in Household Access to Financial Services. World Bank Conference Access to Finance






Estimación del modelo HP mediante máxima verosimilitud

El filtro de Hodrick–Prescott (HP) se utiliza ampliamente para descomponer una serie macroeconómica en un componente cíclico y transitorio. ...