J'ai la fonction R suivante qui calcule la volatilité EWMA des titres donnés:XTS Obtention objet de la fonction R qui est basée sur les opérations de la matrice
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)
}
Les données que cette fonction repose sur est:
> class(rets)
[1] "xts" "zoo"
qui provient de la fonction Return.calculate()
du package PerformanceAnalytics
.
La sortie que je reçois actuellement:
> class(EWMAvol)
[1] "matrix"
Est-il possible de retourner un xts
ou zoo
objet/données à partir de mon code? Aussi, je voudrais garder les noms des colonnes. Comment puis-je y parvenir?
Merci.
Merci, +1. Maintenant, un problème mineur - comment puis-je conserver les noms de colonnes? – AK88
C'est facile! Je vais éditer ma réponse – lebelinoz
Great! Vous avez suivi votre activité ici puisque vous êtes un Quant. Juste curieux, avez-vous fini de développer vos modèles de facteurs? – AK88