Рассчитать дневной доход, используя внутридневные цены? - PullRequest
0 голосов
/ 19 февраля 2019

У меня есть 1-минутные цены для каждого дня, начиная с 09:30 до 16:00, и мне нужно рассчитать ежедневный возврат журнала, т.е. журнал (цена закрытия в день / цена открытия в день)?Как это сделать с помощью R?

мои данные выглядят как

2014-02-03 09:30:00    10.450000
2014-02-03 09:31:00    10.450000
2014-02-03 09:32:00    10.326600
2014-02-03 09:33:00    10.290000
.
.
2014-02-03 04:00:00    10.326500
...
2014-07-31 09:30:00    15.8500
2014-07-31 09:31:00    15.8600
2014-07-31 09:32:00    15.8600
.
2014-07-31 03:50:00    15.9101
2014-07-31 04:00:00    15.9300

1 Ответ

0 голосов
/ 20 февраля 2019

Вы можете использовать apply.daily().Вот пример использования apply.monthly() для ежедневных данных.Концепция такая же.

data(sample_matrix)
x <- as.xts(sample_matrix[,"Close"])
apply.monthly(x, function(p) log(last(p)/as.numeric(first(p))))
                   [,1]
2007-01-31  0.002152642
2007-02-28  0.008169076
2007-03-31 -0.032065389
2007-04-30  0.009559690
2007-05-31 -0.035670840
2007-06-30  0.002430626

Вам нужен вызов as.numeric(), потому что арифметические операции над объектами xts / zoo всегда сначала выравниваются по индексу.as.numeric() удаляет индекс.

...