Skip to content
Prev 14872 / 15274 Next

Using optimize.portfolio

You might (or not) find parma useful (for mainly convex problems):

library(parma)

# with covariance matrix
parmspec <- parmaspec(S = sigma, risk = "EV", riskType = "minrisk", LB = 
reslow, UB = reshigh)
parm <- parmasolve(parmspec, solver = "QP")
round(weights(parm),3)
sqrt(parmarisk(parm))

# with scenario matrix
parmspec <- parmaspec(scenario = returns, risk = "EV", riskType = 
"minrisk", LB = reslow, UB = reshigh)
parm <- parmasolve(parmspec, solver = "NLP")
round(weights(parm),3)
sqrt(parmarisk(parm))

# optimal reward to risk (scenario matrix)
parmspec <- parmaspec(scenario = returns, risk = "EV", forecast = 
colMeans(returns), riskType = "optimal", LB = reslow, UB = reshigh)
parm <- parmasolve(parmspec)
round(weights(parm),3)

# optimal reward to risk (covariance matrix)
parmspec <- parmaspec(S = sigma, risk = "EV", forecast = 
colMeans(returns), riskType = "optimal", LB = reslow, UB = reshigh)
parm <- parmasolve(parmspec)
round(weights(parm),3)

Alexios
On 6/5/20 1:31 PM, Roger Bos wrote: