Удалить записи с пятницы по воскресенье на объекте XTS

Мой объект xts выглядит так:

                            BID     OFR     PRICE
    2015-01-01 13:15:00 1.48168 1.48285 0.3935712
    2015-01-01 13:20:00 1.48013 1.48102 0.3924305
    2015-01-01 13:25:00 1.47922 1.48012 0.3918190
    2015-01-01 13:30:00 1.47947 1.47970 0.3917616
    2015-01-01 13:35:00 1.48019 1.48046 0.3922617
       .
       .
       .
       .

Я установил часовой пояс на EST. Как удалить записи с пятницы 17:05 по восточному времени (EST) до воскресенья 17:00 по пасхальному времени (EST)? Заранее спасибо.

1 ответ

Решение

Изучите документацию в xts за ?.indexwday,

Вы можете сделать это, чтобы получить данные, которые вы хотите для указанных (Forex) торговых часов, при условии, что dat содержит ваш xts Временные ряды:

is_fri <- .indexwday(dat) == 5 & (.indexhour(dat) >= 18 | .indexhour(dat) == 17 & .indexmin(dat) >= 5)
is_sat <- .indexwday(dat) == 6 
is_sun <- .indexwday(dat) == 0 & .indexhour(dat) <= 16

xts_data_you_want <- dat[!(is_fri | is_sat | is_sun)]

.indexwday возвращает 1 для понедельника, 2 для вторника и т. д. для отметок времени в xts объект, и что должно быть самоочевидным числовые значения также возвращаются для .indexmin, .indexhour,

В качестве проверки вы можете сделать weekdays(index(dat)) видеть .indexwday возвращает то, что вы ожидаете для определенных временных отметок.

Другие вопросы по тегам