3 votos

Cómo interpretar la volatilidad realizada y el TSRV con R

Estoy mirando algunos datos de alta frecuencia y me gustaría saber cómo interpretar y comparar la volatilidad realizada (RV) y la volatilidad realizada a dos escalas (TSRV). Referencias a continuación. Dado que X es la rentabilidad logarítmica de una acción

$$ [X,X]_{T}^{all} = \sum\limits_{i=1}^{n} (X_{t_{i+1}} - X_{t_{i}})^2 $$

Aquí el subíndice "todos" significa utilizar todos los datos. En mi caso mis datos son segundo a segundo por lo que sería la suma de las diferencias de los retornos logarítmicos al cuadrado con 1 segundo de diferencia.

Para calcular RV en R tengo una función que toma los precios, toma el logaritmo, luego las diferencias, las eleva al cuadrado y las suma:

RV<-function(prices)
{
  logprices = log(as.numeric(prices))
  logreturns = diff(logprices)
  return(sum(logreturns^2))
}

La Volatilidad Realizada a Dos Escalas (TSRV) divide la muestra completa de 1 a n en K submuestras. En mi caso K= 300. Así que habrá una ventana móvil tiempo301-tiempo1, tiempo302-tiempo 2...y se promediará la VCR de esas ventanas.

$$[X,X]_{T}^{K} = \dfrac 1K\sum\limits_{i=1}^{n-K+1} (X_{t_{i+K}} - X_{t_{i}})^2 $$ Entonces $$ \text{TSRV} = \Big(1- \dfrac zn\Big)^{-1}\Big([X,X]_{T}^{K} - \dfrac zn [X,X]_{T}^{all}\Big)$$ donde $z = (n-K+1)/K$ .

Tomando la diferencia entre $$[X,X]_{T}^{K}$$ y $$[X,X]_{T}^{all}$$ anula el efecto del ruido de la microestructura. El factor $(1-z/n)^{-1}$ es un coeficiente para ajustar el sesgo de la muestra finita.

En R existe una función para calcular el TSRV:

myTSRV<-function (pdata, K = 300, J = 1) 
{ 
  #pdata contains prices for a stock
  #K the slow time scale = 300 seconds
  #J is the fast time scale = 1 second
  logprices = log(as.numeric(pdata))
  n = length(logprices)
  nbarK = (n - K + 1)/(K) 
  nbarJ = (n - J + 1)/(J)
  adj = (1 - (nbarK/nbarJ))^-1  #adjust for finite sample bias
  logreturns_K = logreturns_J = c()
  for (k in 1:K) {
    sel = seq(k, n, K)
    logreturns_K = c(logreturns_K, diff(logprices[sel]))
  }
  for (j in 1:J) {
    sel = seq(j, n, J)
    logreturns_J = c(logreturns_J, diff(logprices[sel]))
  }
  TSRV = adj * ((1/K) * sum(logreturns_K^2) - ((nbarK/nbarJ) *  (1/J) * sum(logreturns_J^2)))
  return(TSRV)
}

Tomé datos de garrapatas para IBM durante aproximadamente $2$ horas y calculó el RV y el TSRV con $K= 300$ segundos y $J= 1$ segundo durante aproximadamente $2$ horas.

Tengo algunas preguntas.

  • El VR está en el rango de 0,00002 a 0,00005. ¿Cómo lo interpreto? En la literatura, RV también se llama varianza integrada. Quiero la volatilidad así que ¿necesito hacer root cuadrada de este número para llegar a .0044 a .007?
  • Incluso si hago root cuadrada, ¿qué significa 0,0044 o 0,007? ¿La volatilidad para IBm durante esas 2 horas fue de .44% a .7%?
  • ¿Es necesario normalizar los 0,0044 y 0,007 a un número anual o diario de alguna manera? ¿Puede sugerir cómo?
  • ¿Cómo se puede comparar el RV o el TSRV de diferentes intervalos de longitud? Digamos que tengo un RV que se calcula utilizando 2 horas de datos. ¿Cómo lo comparo con un VR que utiliza 6 horas de datos?

Referencias

Todo mi post es de: https://lirias.kuleuven.be/bitstream/123456789/282532/1/AFI_1048.pdf

documento original para el TSRV: http://wwwf.imperial.ac.uk/~pavl/AitSahalia2005.pdf

Código R getAnywhere("TSRV")

3voto

Stephen Darlington Puntos 33587

Voy a responder a sus preguntas por orden:

1a) Para los TSRV construidos utilizando rendimientos de alta frecuencia desde la apertura del mercado de la Bolsa de Valores de Nueva York hasta el cierre del mercado en un solo día, los resultados deberían ser números del orden de magnitud de 1e-4 a 1e-5. En otras palabras, tus números parecen correctos. Obtuve estos números calculando yo mismo el TSRV para los datos de IBM utilizando el código MatLab de Kevin Sheppard para el TSRV.

1b) RV es no llamada varianza integrada en la literatura. En un marco de modelización en tiempo continuo sin saltos o ruido de microestructura, RV es consistente para la varianza integrada. Si se incluyen los saltos, RV incorpora el componente de los saltos y, por tanto, es coherente para la variación cuadrática = varianza integrada más varianza de los saltos. Si se incluye el ruido de microestructura, RV diverge. Nota: la otra persona que respondió a esta pregunta sugirió que TSRV es consistente para la varianza integrada, pero no para la variación cuadrática. Hasta donde yo sé, esto es incorrecto. Véase mi comentario sobre esa respuesta para más detalles. ( ACTUALIZACIÓN: La otra persona que contestó estaba pensando en la variación de potencia BPV, no en la TSRV. Hay muchos acrónimos en este campo :-)

1c) Si desea una estimación de la volatilidad de un rendimiento que abarque desde la apertura del mercado hasta el cierre, tome root cuadrada de RV o TSRV (calculada con datos de alta frecuencia desde la apertura del mercado hasta el cierre) y ese es un estimador válido.

2) La interpretación del número de root cuadrada es que se trata de la volatilidad de un rendimiento que abarca el mismo intervalo que los datos de alta frecuencia que ha utilizado para calcular el estimador . En el caso estándar, se trata de la apertura del mercado hasta el cierre del mercado.

3) Que $v_{t_a,t_b}$ denotan una desviación estimador que abarca el intervalo $[t_a, t_b]$ . Siempre se puede escalar hacia arriba o hacia abajo utilizando root cuadrada del tiempo (o sólo el tiempo si se trabaja con volatilidad ) para que todos sus estimadores estén en una escala consistente, por ejemplo, la varianza anualizada. Pero tenga en cuenta que esto es sólo un truco de escala para que todo se mida en unidades comparables. Su estimador sigue refiriéndose únicamente a la varianza de un rendimiento que abarca el intervalo $[t_a, t_b]$ . En realidad, interpretar su estimador de varianza a escala como la varianza de un rendimiento que abarca un intervalo más largo, como un año, sólo tiene sentido bajo supuestos de modelización muy estrictos (por ejemplo, varianza constante). Personalmente, creo que es más limpio almacenar siempre con su estimador de varianza algún registro del período que abarca y referirse a él.

4) Véase la pregunta 3. Puedes escalar tu VR de dos horas para que esté en unidades comparables de seis horas utilizando root cuadrada del tiempo (es decir, multiplicar por root cuadrada de 3). Sin embargo, véase el punto que he mencionado anteriormente. Sería mejor comparar los estimadores RV y TSRV que abarcan el mismo intervalo, ya que si se hace una comparación de los estimadores de dos horas y de seis horas, se está desfavoreciendo implícitamente al estimador de dos horas, a menos que la varianza real sea constante en el intervalo de seis horas (lo que casi seguro no es así si se trabaja con datos financieros).

0voto

syntheticbrain Puntos 549

Se ha eliminado la respuesta incorrecta. Lo siento. Gracias Colin T Bowers

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X