3 votos

(R-studio) Incorporación de rendimientos nocturnos en datos de alta frecuencia

Recurriendo aquí ya que no he podido encontrar ayuda en internet.

Actualmente estoy tratando con un conjunto de datos de alta frecuencia en R de algunos índices bursátiles y estoy intentando limpiar los datos para poder trabajar con ellos.

Así que, para llegar al problema, estoy tratando de incorporar los rendimientos nocturnos de las indicies (es decir, los precios entre las 15:00 y las 09:00 del día siguiente) como lo hace Hansen y Lunde (2005) - es decir, tomar la mediana de los precios nocturnos y guardarla como la observación de las 09:00 horas del día siguiente.

¿Alguien tiene algún código R sobre cómo resolver este problema?

PS. He podido almacenar el precio medio nocturno como la observación de las 23:00 horas del día anterior (es decir, el día en que comenzó la negociación nocturna). Sin embargo, no he podido cambiar la fecha y hora de estas observaciones para que terminen a las 09:00 del día siguiente. A continuación se muestra un ejemplo:

2006-12-29 14:30:00 17320.00 2006-12-29 14:35:00 17315.00 2006-12-29 14:40:00 17315.00 2006-12-29 14:45:00 17322.50 2006-12-29 15:00:00 17325.00 2006-12-29 23:00:00 17321.25 <- ESTA OBSERVACIÓN ME GUSTARÍA TERMINARLA A LAS 09:00 DEL DÍA SIGUIENTE

2voto

singhsumit Puntos 113

¿Alguien tiene algún código R sobre cómo resolver este problema?

Depende de las estructuras de datos que estés utilizando, pero un enfoque es el siguiente:

  1. Definir una matriz de dos columnas para mantener la fecha y la hora por separado. Esta matriz tendrá tantas filas como su matriz actual. Otra posibilidad es, cbind() estas dos columnas a su matriz.
  2. Definir una matriz fechas_distintas que sólo tendrá fechas distintas en él ( niveles() es útil en este caso).
  3. En la matriz de dos columnas, establezca el campo de la fecha en el día siguiente -que obtendrá de fechas_distintas -- en las filas donde la marca de tiempo comienza con '23:'.
  4. En la matriz de dos columnas, establezca el campo de marca de tiempo a las 09:00 en las filas en las que la marca de tiempo comienza con '23:'.
  5. Establezca los valores de la columna original de fecha y hora fusionando los campos que procesó en los pasos 3 y 4.
  6. Limpieza: Elimine las dos columnas temporales (si cbind -ed a su matriz original) o eliminar la matriz de dos columnas, en consecuencia.

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