Я использую функцию quantmod periodReturn, она дает правильные результаты для столбца с пригодными для использования значениями.
Это функция: periodReturn(timeseries, period='weekly', type='log')
Это ввод:
dax_data.csv nikkei_data.csv spx_data.csv
1990-01-04 01:00:00 NA 38713 NA
1990-01-05 01:00:00 NA 38275 NA
1990-01-08 01:00:00 NA 38295 NA
1990-01-09 01:00:00 NA 37951 NA
1990-01-10 01:00:00 NA 37697 NA
1990-01-11 01:00:00 NA 38170 NA
Это результат:
weekly.returns
1999-11-26 01:00:00 NA
1999-12-03 01:00:00 0.026679863
1999-12-10 01:00:00 -0.003482017
1999-12-17 01:00:00 0.041124348
1999-12-22 01:00:00 0.021583488
1999-12-30 01:00:00 0.069259912
Я хочу использовать все три столбца (ldo).
Как мне указать периодвозврата только для всех строк без данных и начать, как только они появятся?
Вот dput
данных, чтобы сделать это воспроизводимым:
dput(head(timeseries))
structure(c(NA, NA, NA, NA, NA, NA, 38713, 38275, 38295, 37951,
37697, 38170, NA, NA, NA, NA, NA, NA), .Dim = c(6L, 3L), .indexCLASS = c("POSIXct",
"POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "", tzone = "", class = c("xts",
"zoo"), index = structure(c(631411200, 631497600, 631756800,
631843200, 631929600, 632016000), tzone = "", tclass = c("POSIXct",
"POSIXt")), .Dimnames = list(NULL, c("dax_data.csv", "nikkei_data.csv",
"spx_data.csv")))
PerformanceAnalytics
. - person CHP   schedule 27.03.2013dput(head(timeseries))
, как я запросил вчера - person GSee   schedule 27.03.2013