17  Volatilidad Realizada y Datos de Alta Frecuencia

Todos los modelos de volatilidad de los capítulos anteriores —GARCH, EGARCH, FIGARCH— tienen un rasgo común: son modelos, en el sentido de que la varianza condicional \(\sigma_t^2\) nunca se observa directamente, sino que se infiere a partir de un supuesto sobre cómo evoluciona en el tiempo. Este capítulo introduce una idea distinta: si se dispone de datos intradiarios —el precio del activo registrado muchas veces a lo largo de una misma sesión, no solo al cierre—, es posible medir la volatilidad de cada día de forma casi directa, sin necesidad de imponer ninguna estructura GARCH. Es la idea de la volatilidad realizada, y con ella llegan también dos problemas nuevos que no existían con datos diarios: el ruido que introduce la propia mecánica de la negociación a muy alta frecuencia, y cómo modelizar una serie de volatilidad medida, en lugar de estimada, para predecirla hacia delante.

Una advertencia honesta sobre los datos, antes de empezar: los ficheros de este manual son series diarias (data/_IBEX.xlsx y compañía) —no disponemos de datos de verdad a nivel de tick—. Para las secciones que exigen datos intradiarios genuinos (el ruido de microestructura, el gráfico de firma de volatilidad) usamos el conjunto de demostración sampleTData que incluye el propio paquete highfrequency, dos sesiones de cotización real de una acción anonimizada en el mercado estadounidense. Para el resto —la volatilidad realizada como concepto y el modelo HAR-RV, que sí necesitan una serie larga de muchos días— construimos una medida de volatilidad diaria a partir del rango intradiario (máximo y mínimo) del IBEX 35, que sí está disponible en toda su historia real.

17.1 De la rentabilidad de cierre al rango intradiario

Todos los modelos de los Capítulos 9, 15 y 16 se han apoyado en el rendimiento de cierre a cierre, \(r_t=\log(P_t)-\log(P_{t-1})\), que ignora por completo lo que ocurrió con el precio dentro de la sesión \(t\). El máximo y el mínimo de la sesión, que sí forman parte de los datos OHLC de este manual, contienen información adicional sobre cuánto se movió el precio ese día, información que el cierre por sí solo desperdicia. Parkinson (1980) propone aprovecharla con un estimador de la varianza diaria basado en el rango,

\[\widehat{RV}_t^{\,P} = \frac{1}{4\log 2}\Big(\log(H_t)-\log(L_t)\Big)^2,\]

con \(H_t,L_t\) el máximo y el mínimo de la sesión \(t\). La constante \(1/(4\log 2)\) corrige el sesgo bajo el supuesto de que el precio sigue un movimiento browniano dentro de la sesión, y hace que \(\widehat{RV}_t^P\) sea, en ese caso, un estimador insesgado de la varianza diaria —y, según la literatura, hasta cinco veces más eficiente que el cuadrado del rendimiento de cierre a cierre, precisamente porque usa el recorrido completo de la sesión y no solo su punto de llegada—.

Sobre el IBEX 35, la volatilidad anualizada implícita en \(\widehat{RV}^P\) es del 17.8%, frente al 21.9% que da la desviación típica del rendimiento de cierre a cierre. La diferencia no es un error: el estimador de Parkinson solo capta el movimiento dentro de la sesión, mientras que el rendimiento de cierre a cierre incluye también los saltos de precio de un cierre al siguiente apertura (overnight) —noticias publicadas fuera de horario, aperturas de otros mercados mientras el IBEX está cerrado—, que suelen aportar una parte sustancial de la varianza total. Es una limitación real de trabajar con rango en lugar de con tick data genuino: el rango mide bien el movimiento intradía, pero es ciego, por construcción, a lo que ocurre entre el cierre de una sesión y la apertura de la siguiente.

17.2 Volatilidad realizada con datos de tick

Cuando sí se dispone de datos de tick —el precio registrado en cada operación, no solo máximo, mínimo y cierre—, la medida natural es la volatilidad realizada (RV) propiamente dicha: la suma de los rendimientos intradiarios al cuadrado, muestreados a una frecuencia fija (por ejemplo, cada 5 minutos),

\[RV_t = \sum_{i=1}^{M} r_{t,i}^2,\]

con \(r_{t,i}\) el rendimiento del subintervalo \(i\)-ésimo de la sesión \(t\), de un total de \(M\) subintervalos. Andersen, Bollerslev, Diebold y Ebens (2001) formalizan el resultado que da a este estimador su atractivo teórico: bajo condiciones generales, a medida que \(M\to\infty\) (se muestrea cada vez con más frecuencia), \(RV_t\) converge en probabilidad a la varianza cuadrática integrada del proceso de precios en tiempo continuo durante la sesión \(t\) —el análogo, en tiempo continuo, de “la varianza que realmente tuvo el precio ese día”—. A diferencia de \(\sigma_t^2\) en un GARCH, que es una cantidad latente estimada indirectamente a partir de un modelo, \(RV_t\) se calcula directamente de los datos, sin necesidad de especificar ninguna ecuación de varianza.

Figura 17.1: Grafico de firma de volatilidad: volatilidad realizada media (anualizada) sobre las dos sesiones de sampleTData, segun la frecuencia de muestreo utilizada. El aumento sistematico a frecuencias muy altas es la firma del ruido de microestructura.

17.3 El ruido de microestructura

La Figura 17.1 es el llamado gráfico de firma de volatilidad (volatility signature plot), y muestra un patrón que se repite en casi cualquier activo con datos de tick: la volatilidad realizada no decrece monótonamente hacia un valor estable a medida que se muestrea con más frecuencia, sino que aumenta de forma sistemática en las frecuencias más altas —de 14.1% a 30 minutos hasta 16.4% a 1 segundo—. Si la teoría de la Sección 16.2 dijera la última palabra, cuanto más alta la frecuencia, mejor el estimador; en la práctica ocurre justo lo contrario a partir de cierto punto.

La causa es el ruido de microestructura: a frecuencias muy altas, el precio observado no es un movimiento browniano limpio, sino que está contaminado por fenómenos puramente mecánicos de la negociación —el bid-ask bounce (el precio de la última operación salta entre el precio de compra y el de venta según quién iniciara la operación, sin que el valor “verdadero” del activo haya cambiado), la discreción del tick de precio mínimo, o la propia latencia de las plataformas de negociación—. Hansen y Lunde (2006) muestran que este ruido, aunque pequeño en cada observación individual, se acumula en la suma de cuadrados de \(RV_t\) y sesga el estimador al alza cuanto mayor es \(M\), precisamente lo contrario de lo que predeciría, de forma ingenua, la teoría asintótica de la Sección 16.2. La solución práctica más extendida —y la que adoptamos aquí, en la línea de la regla empírica más citada en la literatura— es sacrificar algo de la teoría y muestrear a una frecuencia moderada, habitualmente 5 minutos, donde el sesgo de microestructura ya es pequeño sin haber descartado demasiada información; existen también estimadores más sofisticados, robustos al ruido incluso a frecuencias ultra-altas (los realized kernels), que quedan fuera del alcance de este manual.

17.4 El modelo HAR-RV

Disponer de una medida diaria de volatilidad, ya sea el \(RV_t\) de tick data o el \(\widehat{RV}_t^P\) de Parkinson, no resuelve por sí solo el problema de predecirla. Corsi (2009) propone un modelo extraordinariamente simple, el HAR-RV (Heterogeneous Autoregressive model of Realized Volatility), motivado por una observación sobre quién opera en los mercados financieros: los participantes actúan en horizontes muy distintos —un operador de alta frecuencia reacciona a la volatilidad del último día, un gestor de fondos revisa su exposición semanalmente, un inversor institucional ajusta su cartera con una perspectiva mensual—, y cada uno de esos horizontes deja una huella distinta en la dinámica agregada de la volatilidad. El modelo captura esa heterogeneidad con tres componentes explicativos, promedios de \(RV\) a tres horizontes:

\[RV_t = c + \beta_d\, RV_{t-1} + \beta_w\, \overline{RV}_{t-1:t-5} + \beta_m\, \overline{RV}_{t-1:t-22} + \varepsilon_t,\]

donde \(\overline{RV}_{t-1:t-5}\) es la media de \(RV\) de la última semana (5 sesiones) y \(\overline{RV}_{t-1:t-22}\) la del último mes (22 sesiones). Pese a ser, formalmente, una simple regresión lineal con tres regresores —nada tan elaborado como un ARFIMA o un FIGARCH—, el HAR-RV reproduce con notable fidelidad la memoria larga de la volatilidad que cuantificamos en el Capítulo 16: la combinación de promedios a tres escalas de tiempo distintas, cada una con su propio decaimiento geométrico simple, se comporta en la práctica de forma muy similar a un único proceso de decaimiento hiperbólico, sin necesidad de estimar directamente ningún parámetro de diferenciación fraccionaria.

Cuadro 17.1: Modelo HAR-RV estimado sobre la volatilidad realizada (Parkinson) diaria del IBEX 35.
Término Estimación Error típico t p-valor
Constante 0.000024 0.000003 7.96 0
RV diaria (t-1) 0.315211 0.012692 24.84 0
RV semanal (media 5 días) 0.271751 0.022007 12.35 0
RV mensual (media 22 días) 0.226000 0.023102 9.78 0

Los tres coeficientes son positivos y muy significativos, con magnitudes similares entre sí (\(\hat\beta_d=\) 0.315, \(\hat\beta_w=\) 0.272, \(\hat\beta_m=\) 0.226): ni el componente diario domina por completo a los demás, ni resulta redundante incluir el semanal y el mensual una vez que el diario ya está en el modelo —los tres horizontes aportan información genuina, tal y como predice la interpretación de Corsi sobre la heterogeneidad de los participantes del mercado—. El \(R^2\) del modelo es 0.326: nada despreciable para una regresión de solo tres variables prediciendo un día por delante una cantidad tan errática como la volatilidad diaria.

17.5 Volatilidad realizada frente a volatilidad implícita: el VIX

Hasta ahora, toda la volatilidad de este capítulo —y de los Capítulos 9, 15 y 16— mira hacia atrás: se calcula a partir de precios ya observados. El VIX, el índice de volatilidad implícita del S&P 500 calculado por el CBOE a partir de los precios de las opciones sobre ese índice, mira hacia delante: resume lo que el mercado de opciones, en su conjunto, espera que sea la volatilidad de los próximos 30 días. Comparar ambas —la volatilidad ya observada (o su mejor estimación condicional, un GARCH) con la que el mercado anticipaba— es una de las aplicaciones más directas de todo lo visto en este bloque de series financieras.

Figura 17.2: Volatilidad condicional GARCH(1,1) del S&P 500 (linea) frente al VIX real (puntos), ambas anualizadas. El VIX se sitúa, de forma sistemática, por encima de la volatilidad GARCH.

Sobre las 9.196 sesiones comunes desde 1990, la correlación entre la volatilidad condicional del GARCH(1,1) y el VIX es 0.882 —muy alta: ambas miden, con métodos distintos, esencialmente lo mismo—. Pero el VIX no es, simplemente, una copia adelantada de la volatilidad GARCH: en promedio, el VIX supera a la volatilidad GARCH en 3.39 puntos porcentuales, y lo hace en el 87.7% de las sesiones. Esta diferencia sistemática y persistente tiene nombre en la literatura financiera: la prima de riesgo de volatilidad (variance risk premium; Carr y Wu (2009)). No es un error de medición ni un sesgo de ningún estimador: refleja que los inversores están dispuestos a pagar, en el mercado de opciones, algo más de lo que la volatilidad “objetivamente” acaba resultando, a cambio del seguro que esas opciones representan frente a un episodio de mercado adverso —de la misma manera que una póliza de seguro cuesta, en promedio y a largo plazo, más de lo que paga en siniestros, porque ese margen es precisamente lo que el asegurado paga por la protección—.

17.6 Ejercicios propuestos

  1. Calcule el estimador de Parkinson sobre el EUR/USD (data/EURUSD_X.xlsx) y compare la volatilidad anualizada resultante con la del rendimiento de cierre a cierre. ¿Es la diferencia entre ambas mayor o menor que la del IBEX de la Sección 17.1? ¿Qué le sugiere sobre la importancia relativa de los saltos overnight en el mercado de divisas frente a la bolsa?
  2. Repita el gráfico de firma de volatilidad de la Sección 17.3 usando solo la primera de las dos sesiones de sampleTData (dt[as.Date(DT) == "2018-01-02"]). ¿Se mantiene el mismo patrón de aumento a alta frecuencia?
  3. Estime el HAR-RV de la Sección 17.4 usando solo los componentes diario y semanal (sin el mensual). Compare su \(R^2\) con el del modelo completo. ¿Aporta el componente mensual una mejora sustancial?
  4. Calcule la prima de riesgo de volatilidad (VIX menos volatilidad GARCH) por separado antes y después de 2020. ¿Es mayor la prima media en el periodo que incluye la pandemia de COVID-19?

17.7 Soluciones de los ejercicios

1. Parkinson en el EUR/USD. La volatilidad Parkinson anualizada es 39.77% frente al 10.97% de cierre a cierre —una diferencia de -28.8 puntos, menor que la del IBEX (4.05 puntos)—. Tiene sentido económico: el mercado de divisas cotiza prácticamente 24 horas al día entre los distintos centros financieros mundiales, así que apenas existe un verdadero cierre de mercado ni, por tanto, un salto overnight comparable al de una bolsa como la española, que sí permanece cerrada buena parte del día.

2. Firma de volatilidad con una sola sesión. NA incluso con una única sesión: la volatilidad realizada a 1 segundo es 18.1% anualizada, frente al 15% a 30 minutos. El ruido de microestructura es un fenómeno que opera dentro de cada sesión individual, así que no hace falta acumular muchos días para que se manifieste con claridad.

3. HAR-RV sin el componente mensual. El \(R^2\) del modelo con solo los componentes diario y semanal es 0.318, frente al 0.3257 del modelo completo. El componente mensual aporta una mejora modesta, coherente con que buena parte de la memoria de la volatilidad ya queda recogida por los componentes de más corto plazo, aunque el mensual siga siendo, como muestra la Cuadro 17.1, individualmente significativo.

4. Prima de riesgo de volatilidad: antes y después de 2020. La prima media es de 3.42 puntos porcentuales antes de 2020, y de 3.21 puntos desde entonces. La prima, sorprendentemente, NO es mayor en el periodo que incluye la pandemia, un recordatorio de que la prima de riesgo de volatilidad no es una constante estructural del mercado, sino que responde, ella misma, al clima de incertidumbre de cada época.

El código de este capítulo está en scripts/T17_mST_Script_VolatilidadRealizada.R (guion teórico) y scripts/T17_mST_CP_Financiero.R (caso práctico con el IBEX 35 y el VIX).