1
我有計算EWMA波動對於給定的證券下述R函數:獲取XTS從基於矩陣運算一個R函數對象
EWMAvol = function(returns, lambda, rollwindow){
EWMA.mat = matrix(NA, nrow = nrow(returns), ncol = ncol(returns))
for (k in 1 : ncol(returns)){
for (j in rollwindow : nrow(returns)){
td = returns
data = as.matrix(td[(j - rollwindow + 1) : j, k])
ewmaVar.mat = matrix()
ewmaVar.mat[1] = 0
for (i in 2 : rollwindow){
ewmaVar.mat[i] = lambda * ewmaVar.mat[i-1]+ (1 - lambda) * data[i]^2
}
EWMA.mat[j, k] = sqrt(ewmaVar.mat[length(ewmaVar.mat)])
}
}
return(EWMA.mat)
}
的數據,該函數依賴於爲:
> class(rets)
[1] "xts" "zoo"
它來自功能從PerformanceAnalytics
包。
,我目前得到的輸出是:
> class(EWMAvol)
[1] "matrix"
是否有可能從我的代碼返回xts
或zoo
對象/數據? 另外,我想保留列名稱。我怎樣才能做到這一點?
謝謝。
謝謝+1。現在是一個小問題 - 我如何保留列名? – AK88
很簡單!我會編輯我的答案 – lebelinoz
太好了!由於您是Quant,因此在這裏關注您的活動。只是好奇,你完成了你的因子模型嗎? – AK88