Я разработал свою собственную функцию под названием SharpeRatio(data)
rollapply с функцией принимает матрицу возвращает «неправильное число измерений»
где данные матрица NX2.
Функция работает нормально для данной матрицы .dat, однако, когда я пытаюсь использовать rollapply(dat, 20, SharpeRatio)
я получаю следующее сообщение об ошибке: Ошибка в Дат [1]: неправильное количество измерений
Ниже приводится функция определение:
SharpeRatio <- function(dat){
Returns = dat[,1]
RiskFree = dat[,2]
ER = (Returns - RiskFree)/100
Volatility = sd(Returns/100)
return((exp(mean(log(1+ER))) - 1)/Volatility)
}
Действительно, что это то, что тогда не хватает. – msmf14