在PerformanceAnalytics中为SharpeRatio添加权重

时间:2014-10-23 08:14:12

标签: r performanceanalytics

使用<{p>}的PerformanceAnalytics.pdf中的示例

SharpeRatio(edhec, Rf = 0, FUN="VaR" , method="modified")基于(我假设)一个等权重投资组合假设,我得到每单位(VaR)风险的回报, 但是当我尝试添加权重时:

weights <- rep(1/13,13)

SharpeRatio(edhec, Rf = 0, FUN="VaR" , method="modified", portfolio_method="component",weights = weights)

我收到错误:

"Error in match.fun(FUNCT)(R, Rf = Rf, p = p, weights = weights, portfolio_method = "single",  : 
  formal argument "portfolio_method" matched by multiple actual arguments"

是否有人知道如何(形式)扩展SharpeRatio功能以合并投资组合权重?

1 个答案:

答案 0 :(得分:0)

看来SharpeRatio在给定组件和权重的情况下难以创建投资组合。解决方案是为SharpeRatio提供加权投资组合。如果投资组合是每个时间点的组件的加权组合(看起来是SharpeRatio将计算的),您可以使用

Rf <- 0
SharpeRatio((zoo(edhec) -Rf) %*% weights, FUN="VaR", method="modified")

其中edhec首先转换为动物园时间序列以允许权重计算。 对于可能具有更逼真的时间依赖性的投资组合,您可以首先计算投资组合,例如,每季度重新平衡,然后使用SharpeRatio

port <- Return.portfolio(edhec, weights, rebalance_on = "quarters")
SharpeRatio(port, Rf=Rf, FUN = "VaR", method="modified")