Ваш столбец DATE
может представлять дату, но на самом деле это либо символ, фактор, целое число или числовой вектор.
Сначала необходимо преобразовать столбец DATE
в объект Date
. Затем вы можете создать объект xts из столбцов CLOSE
и DATE
вашего PRICE
data.frame. Наконец, вы можете использовать объект xts для расчета доходности и коэффициента Кальмара.
PRICE <- structure(list(
DATE = c(20070103L, 20070104L, 20070105L, 20070108L, 20070109L,
20070110L, 20070111L, 20070112L, 20070115L),
CLOSE = c(54.7, 54.77, 55.12, 54.87, 54.86, 54.27, 54.77, 55.36, 55.76)),
.Names = c("DATE", "CLOSE"), class = "data.frame",
row.names = c("1", "2", "3", "4", "5", "6", "7", "8", "9"))
library(PerformanceAnalytics) # loads/attaches xts
# Convert DATE to Date class
PRICE$DATE <- as.Date(as.character(PRICE$DATE),format="%Y%m%d")
# create xts object
x <- xts(PRICE$CLOSE,PRICE$DATE)
CalmarRatio(Return.calculate(x))
# [,1]
# Calmar Ratio 52.82026