Я запускаю это демо и у меня есть вопрос по следующему коду:
'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, и я получаю следующее предупреждение:
In optimize (f = sharpe_obj_fun, R = R, constraints = constraints, ...:
NA / Inf заменено на максимальное положительное значение
В чем причина этой проблемы?