0

R 代码的目的是从雅虎读取 MSFT 的历史价格,并计算其每日开盘价的回报。

#load packages
library(quantmod)
library(PerformanceAnalytics)

getSymbols("MSFT") #read data

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

结果总是显示它的返回是无穷大的,如下所示:

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

如果有人可以帮助我识别导致无穷大的错误,我将不胜感激。

4

1 回答 1

2

我认为您需要先将价格转换为收益才能使用 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
于 2016-03-21T11:00:34.883 回答