ПочатиПочніть безкоштовно

Зробити нерегулярні внутрішньоденні дані регулярними

Раніше ви навчилися створювати регулярний щоденний ряд із нерегулярних щоденних даних. Тепер ви створите регулярні внутрішньоденні дані з нерегулярного ряду.

Внутрішньоденні фінансові дані часто не охоплюють повні 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[___]
Редагувати та запускати код