我的Sharpe Ratio计算与SharpeRation.annualized不同。如何解决问题?

时间:2018-12-28 03:47:27

标签: r performanceanalytics

我每天都有资产的对数回报,并且试图用252天的时间范围计算滚动夏普比率。

我在R中定义了锐度比函数为: 年度化简单收益除以年度化简单收益标准差。 然后,我使用了性能分析的apply.rolling长达252天的时间 创建一个时间序列。

明确地,我的Sharpe Ratio函数定义为

sharpe_ratio <- function(x) {

annualized.return = exp(sum(x)) - 1
annualized.sd = sd(exp(x))*sqrt(252)
sr = annualized.return / annualized.sd
return(sr) 

}

然后我用returns.ts使用

创建了时间序列
sharpe.ts <- apply.rolling(returns.ts, width = 252, FUN = 'sharpe_ratio')

但是,当我将其与 PerformanceAnalytics 中的 SharpeRatio.annualized 函数进行比较时,会得到不同的结果。

例如,

test <- returns.ts[1:252]

SharpeRatio.annualized(test , scale = 252)
sharpe_ratio(test)

返回

  • 5.251688(用于SharpeRatio.annualized) 和
  • 5.259081用于我定义的sharpe_ratio函数。

我尝试了一些不同的组合,但我无法弄清楚 SharpeRatio.annualized在做什么,或者差异出在哪儿,哪一个在计算正确的事情。

0 个答案:

没有答案