2017-10-02 3 views
0

Ich habe die folgenden Beispieldaten und versuchen, compoundierte Renditen von den Preisen unten zu berechnen.Preis zu compoundierte Renditen mit der Return.Calculate-Funktion

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)) 

ich mit dem Return.calculate Paket als solche:

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

Aber die folgende Fehlermeldung erhalten:

keine anwendbare Methode für 'xtsAttributes < -' auf ein Objekt angewendet von Klasse "Zoo"

Antwort

2

Sie müssen Daten als xts Objekt übergeben. Seien Sie vorsichtig beim zu xts Umwandlung nur numerische Variablen enthalten - reason here - Deshalb ist es möglich, nur 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 
konvertieren
Verwandte Themen