Зробити нерегулярні внутрішньоденні дані регулярними
Раніше ви навчилися створювати регулярний щоденний ряд із нерегулярних щоденних даних. Тепер ви створите регулярні внутрішньоденні дані з нерегулярного ряду.
Внутрішньоденні фінансові дані часто не охоплюють повні 24 години. Більшість ринків зазвичай зачинені частину дня. У цій вправі припускається, що ринки відкриваються о 9:00 і зачиняються о 16:00 з понеділка по п'ятницю.
У ваших даних може не бути спостереження саме в момент відкриття та/або закриття ринку. Тому ви не зможете використати start() і end(), як із щоденними даними. Потрібно явно вказати початкові та кінцеві дата-часи, щоб створити цю регулярну послідовність.
Регулярна послідовність дата-часів включатиме періоди, коли ринки зачинені, але ви можете використати підмножину за часом доби в xts, щоб вибрати лише періоди, коли ринок відкритий.
Ця вправа є частиною курсу
Імпорт і керування фінансовими даними в R
Інструкції до вправи
- Завершіть команду для створення регулярної 30-хвилинної послідовності дата-часів між 09:00 понеділка та 16:00 п'ятниці.
- Задайте значення для
xіorder.by, щоб створити об'єкт xts нульової ширини. - Створіть
merged_xts, об'єднавшиirregular_xtsіregular_xts. Використайте аргументfill, щоб замінитиNAна їх попереднє значення за допомогоюna.locf(). - Скористайтеся підмножиною за часом доби в xts, щоб вибрати спостереження між 9:00 і 16:00 кожного дня. Присвойте результат змінній
trade_day.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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[___]