2016-03-21 4 views
0

Le but du code R est de lire les prix historiques MSFT de Yahoo, et de calculer son rendement pour les prix ouverts quotidiens.R-code: Pourquoi l'infini de retour attendu?

#load packages 
library(quantmod) 
library(PerformanceAnalytics) 

getSymbols("MSFT") #read data 

#Call function to analyze open price 
table.AnnualizedReturns(MSFT[,1]) #End of the code 

Le résultat montre toujours son retour est infini comme suit:

      MSFT.Open 
Annualized Return    Inf 
Annualized Std Dev   136.4471 
Annualized Sharpe (Rf=0%)  Inf 

J'apprécie si l'on peut me aider à identifier l'erreur causant l'infini.

Répondre

2

Je pense que vous avez besoin de convertir les prix pour les retours premier à utiliser table.AnnulizedReturns

#load packages 
library(quantmod) 
library(PerformanceAnalytics) 

getSymbols("MSFT") #read data 

#Call function to analyze open price 

r <- Return.calculate(MSFT[,1]) #Returns 

table.AnnualizedReturns(na.omit(r)) #End of the code 

          MSFT.Open 
Annualized Return   0.0683 
Annualized Std Dev   0.2735 
Annualized Sharpe (Rf=0%) 0.2498 
+0

Merci pour votre réponse. Ça marche. – kenneth