XTS align.time и / или to.period, включая последнюю запись в период времени? - PullRequest
0 голосов
/ 14 февраля 2020

У меня есть текущий объект basi c xts:

tmp=xts(1:100, as.POSIXct("2020-01-1")+(1:100)*5)

, затем, когда я преобразую в минуты, я получаю:

to.minutes(tmp)
                    tmp.Open tmp.High tmp.Low tmp.Close
2020-01-01 00:00:55        1       11       1        11
2020-01-01 00:01:55       12       23      12        23
2020-01-01 00:02:55       24       35      24        35
2020-01-01 00:03:55       36       47      36        47
2020-01-01 00:04:55       48       59      48        59
2020-01-01 00:05:55       60       71      60        71
2020-01-01 00:06:55       72       83      72        83
2020-01-01 00:07:55       84       95      84        95
2020-01-01 00:08:00       96       96      96        96

Обратите внимание, как он обрезает каждую строку в 55 секундная отметка с последней записью в 8:00. что.

И если выровнено, я получаю:

align.time(to.minutes(tmp),60)

                    tmp.Open tmp.High tmp.Low tmp.Close
2020-01-01 00:01:00        1       11       1        11
2020-01-01 00:02:00       12       23      12        23
2020-01-01 00:03:00       24       35      24        35
2020-01-01 00:04:00       36       47      36        47
2020-01-01 00:05:00       48       59      48        59
2020-01-01 00:06:00       60       71      60        71
2020-01-01 00:07:00       72       83      72        83
2020-01-01 00:08:00       84       95      84        95
2020-01-01 00:09:00       96       96      96        96

И это неправильно, так как в 9:00 вообще не должно быть бара.

Мне нужно to.minutes, чтобы рассмотреть последнее значение минутной части значения закрытия минуты, если это имеет смысл.

Желаемый результат должен быть:

                    tmp.Open tmp.High tmp.Low tmp.Close
2020-01-01 00:01:00        1       12       1        12
2020-01-01 00:02:00       13       24      13        24
2020-01-01 00:03:00       25       36      25        36
2020-01-01 00:04:00       37       48      37        48
2020-01-01 00:05:00       49       60      49        60
2020-01-01 00:06:00       61       72      61        72
2020-01-01 00:07:00       73       84      73        84
2020-01-01 00:08:00       85       96      85        96

Я бы хотел вариант иметь одинаковую цену закрытия и открытия для 2 баров, если на конечной точке есть право торговли, но в этом нет необходимости.

Я нашел старые ссылки на align.time.down, которые должны предотвратить создание 9:00, но больше не работает.

...