2017-10-02 9 views
0

J'ai les exemples de données suivants et je tente de calculer les rendements composés à partir des prix ci-dessous.Prix aux rendements composés à l'aide de la fonction Return.Calculate

sample_data <- data.frame(Date = c ("2017-01-31", "2017-02-28", "2017-03-31", 
           "2017-04-30", "2017-05-31", "2017-06-30"), 
         stock = c("a", "a", "a","a", "a", "a"), 
         Price = c(10, 11, 17, 12, 13, 14)) 

J'utilisant le paquet Return.calculate en tant que tel:

Return.calculate(sample_data$Price, method = "compound") 

Mais obtenir l'erreur suivante:

aucune méthode applicable pour 'xtsAttributes < -' appliqués à un objet de classe "zoo"

Répondre

2

Vous devez transmettre des données en tant qu'objet xts. Soyez prudent lors de la conversion à xts pour inclure uniquement des variables numériques - reason here - Voilà pourquoi il est possible de convertir seulement sample_data$Price

library(xts) 
library(PerformanceAnalytics) 
sample_data$Date <- as.Date(sample_data$Date) 
sample_data_xts <- xts(sample_data$Price, order.by = sample_data$Date) 

Return.calculate(sample_data_xts, method = "compound") 

#     [,1] 
# 2017-01-31   NA 
# 2017-02-28 0.09531018 
# 2017-03-31 0.43531807 
# 2017-04-30 -0.34830669 
# 2017-05-31 0.08004271 
# 2017-06-30 0.07410797