我正试图使用R从2018年1月1日到2018年1日的日回报率提取夏普比率最高的股票到目前为止,我已经成功地使用将数据转换为时间序列
library(zoo)
library(PerformanceAnalytics)
prices<-zoo(Project.Data.File,seq(from = as.Date("2018-01-01"), to = as.Date("2019-12-31"), by = 1))
我在计算这之后的每日回报以进行进一步的统计计算时遇到了问题。我试过使用
CalculateReturns(prices, method=c("discrete","log"))
但我收到了一个错误。对于如何处理缺失的数据,我也感到困惑。如有任何帮助,我们将不胜感激。请找到这篇文章附带的excel文件。提前感谢!
区块报价
该错误提供了大量信息。您的数据不是数字。这是因为原始数据的第一列中有日期。在创建动物园对象时删除此列。
library(zoo)
library(PerformanceAnalytics)
prices <- zoo(Project.Data.File[,-1],seq(from = as.Date("2018-01-01"), to = as.Date("2019-12-31"), by = 1))
stock_returns <- CalculateReturns(prices, "discrete")
head(stock_returns[,1:3])
A2.MILK.CO.LTD ADELAIDE.BRIGHTON.LTD ABACUS.PROPERTY.GROUP
2018-01-01 NA NA NA
2018-01-02 0.017639077 -0.003067485 0.000000000
2018-01-03 -0.009333333 -0.003076923 -0.002427184
2018-01-04 0.009421265 -0.004629630 -0.012165450
2018-01-05 0.006666667 0.015503876 -0.002463054
2018-01-06 0.017218543 0.004580153 0.000000000