Minimize portfolio variance, constrained to be sufficiently similar to a benchmark portfolio

Viewed 670

I am performing portfolio optimization, and I would like to extend the discussion here with the following:

I have a vector of weights w_bench that is used as a benchmark. I would like to optimize a portfolio weight vector w_pf that satisfies

sum(pmin(w_bench, w_pf)) > 0.7

pmin here is the pairwise minimum. This forces the optimized portfolio weights w_pf to be similar to the benchmark weights w_bench, and the right-hand-size (0.7 in this case) controls how closely they need to match. As that value gets larger, we require the portfolios to be more similar.

Initially I thought I could easily do it with fPortfolio package (still trying). But so far no dice. I also think that solving this with quadprog would be a lot more intuitive, but I do not know how to incorporate said function into the process.

Excel implementation:

Covariance matrix:

0.003015254   -0.000235924  0.000242836
-0.000235924  0.002910845   0.000411308
0.000242836   0.000411308   0.002027183

Weights:

    w_pf    w_bench min
V1   0.32    0.40    0.32 
V2   0.31    0.50    0.31 
V3   0.38    0.10    0.10 
Ss   1.00    1.00    0.72 

Minimize Variance (=MMULT(TRANSPOSE(H8:H10),MMULT(H3:J5,H8:H10))) with constraints of Ss(w_pf) = 1 and Ss(min) > 0.7

1 Answers
Related