ComenzarEmpieza gratis

Haz regular un dato intradiario irregular

Antes aprendiste a crear una serie diaria regular a partir de datos diarios irregulares. Ahora vas a crear datos intradiarios regulares a partir de una serie irregular.

Los datos financieros intradiarios a menudo no cubren las 24 horas. La mayoría de mercados suelen estar cerrados parte del día. En este ejercicio se asume que los mercados abren a las 9:00 y cierran a las 16:00 de lunes a viernes.

Puede que tus datos no tengan una observación exactamente a la apertura y/o al cierre del mercado. Por tanto, no podrás usar start() y end() como con los datos diarios. Necesitas especificar las fechas y horas de inicio y fin para crear esta secuencia regular.

La secuencia regular de fecha y hora incluirá periodos en los que los mercados están cerrados, pero puedes usar el filtrado por hora del día de xts para extraer solo los periodos en que el mercado está abierto.

Este ejercicio forma parte del curso

Importación y gestión de datos financieros en R

Ver curso

Instrucciones del ejercicio

  • Completa la instrucción para crear una secuencia regular de fecha-hora cada 30 minutos entre las 09:00 del lunes y las 16:00 del viernes.
  • Establece los valores de x y order.by para crear un objeto xts de ancho cero.
  • Crea merged_xts fusionando irregular_xts y regular_xts. Usa el argumento fill para reemplazar los NA por su valor previo con na.locf().
  • Usa el filtrado por hora del día de xts para extraer observaciones entre las 9:00 y las 16:00 cada día. Asigna el resultado a trade_day.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Create a regular date-time sequence
regular_index <- seq(as.POSIXct("2010-01-04 __:__"), as.POSIXct("2010-01-08 __:__"), by = "30 min")

# Create a zero-width xts object
regular_xts <- xts(x = ___, order.by = ___)

# Merge irregular_xts and regular_xts, filling NA with their previous value
merged_xts <- merge(___, ___, fill = ___)

# Subset to trading day (09:00-16:00)
trade_day <- merged_xts[___]
Editar y ejecutar código