Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- dvec = matrix(colMeans(returns_full),ncol = 1)
- Dmat = cov(returns_full)
- A.Constraint1 <- matrix(c(1,1,1,1,1,1), ncol=1)
- A.Constraint2 = matrix(c(1,1,1,1,1,1), ncol=1)
- Amat <- cbind(A.Equality1,A.Equality2, dvec)
- bvec <- c(-lev_ub,lev_lb,target_return)
- qp <- solve.QP(Dmat, dvec, Amat, bvec, meq=0)
- target_return <- 0.0002
- num_assets <- 6
- dvec <- rep(0,num_assets) # dvec = 0 when minimizing only the variance
- Dmat <- cov(return_full)
- Amat <- matrix(rep(1, num_assets), ncol=num_assets) # budget constraint: sum of wts = 1
- Amat <- rbind(Amat, c(.3, .7, -.3, 1, 1.1, 1.3) ) # beta constraint: sum of wt*beta = 0
- Amat <- rbind(Amat, colMeans(return_full) ) # portfolio return = target_return
- # Amat <- rbind(Amat, diag(1,nrow=num_assets, ncol=num_assets) ) # would be used for long-only solutions: wts >= 0
- Amat <- t(Amat)
- bvec <- c(budget = 1, beta = 0, return = target_return ) # rhs of constraint eqns
- # bvec <- c(bvec, rep(0,num_assets) ) # would be used with long-only constraint
- qp <- solve.QP(Dmat, dvec, Amat, bvec, meq=3)
Add Comment
Please, Sign In to add comment