1

我正在运行这个演示并对以下代码有疑问:

'library(PortfolioAnalytics)

data(edhec)
R <- edhec[, 1:8]
funds <- colnames(R)

init.portf <- portfolio.spec(assets=funds)
init.portf <- add.constraint(portfolio=init.portf, type="full_investment")
init.portf <- add.constraint(portfolio=init.portf, type="long_only")
init.portf <- add.objective(portfolio=init.portf, type="return", name="mean")
init.portf <- add.objective(portfolio=init.portf, type="risk", name="StdDev")
init.portf

maxSR.lo.ROI <- optimize.portfolio(R=R, portfolio=init.portf, 
                                   optimize_method="ROI", 
                                   maxSR=TRUE, trace=TRUE)
maxSR.lo.ROI'

当我运行演示时,我发现它只在数据被切割时才有效R <- edhec[, 1:8]。如果我想使用R <- edhec[, 1:13],最佳权重是 NA ,我会收到以下警告:

在 optimize(f = sharpe_obj_fun, R = R, constraints = constraints, ... :
NA/Inf 替换为最大正值

这个问题的原因是什么?

4

0 回答 0