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
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
xyorder.bypara crear un objeto xts de ancho cero. - Crea
merged_xtsfusionandoirregular_xtsyregular_xts. Usa el argumentofillpara reemplazar losNApor su valor previo conna.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[___]