About minimizing variance of a mimicking portfolio
1 view (last 30 days)
Show older comments
I have been working on an assignment and encountered the following problem: I have one-factor model for returns (say CAPM). I regress the returns of fifteen companies on market returns (my factor) and obtain 15x1 vector of betas. My task is to create a 15x1 vector of weights thetaprime that is the mimicking portfolio of the factor. For this vector of weights to be the mimicking portfolios, I need the following conditions:
1. sum(thetaprime) = 1
2. thetaprime*beta' = 1
3. The variance of the resulting mimicking portfolio (constructed with the thetaprime components) to be the minimum variance possible and the variance is given by:
variance_mimicking = thetaprime*SIGMA*thetaprime' (where SIGMA is a 15x15 variance-covariance symmetric matrix that I have calculated)
I am doing the following steps:
1. N = null([ones(15,1) beta].').';
2.thetaprime = thetaa + randn(1,13)*N;
in this way I can generate infinitely many vectors of thetaprime that satisfy conditions 1) and 2) above. When I substitute thetaprime in the formula for the variance, I get the same variance every time independently of the variables in thetaprime which does not make sense for me. I expectted different result for variance for different values of thetaprime that I can minimize with an optimization routine in order to find one unique value for thetaprime. Any suggestions?
Thank you very much in advance!
2 Comments
Matt J
on 3 Mar 2013
Don't you mean
thetaa + N*randn(13,1)
You want a random linear combination of the columns of N, I think.
Answers (2)
Matt J
on 3 Mar 2013
Edited: Matt J
on 3 Mar 2013
The only reason I can think of why that would happen is if
Aeq=[ones(15,1) beta]
is in the row space of sigma, or equivalently that null(SIGMA) contains null(Aeq). A simple test would be to check whether
SIGMA*N=0
Incidentally, though, you do know that QUADPROG is the more standard way to solve these kinds of problems, right? Do you not have the Optimization Toolbox?
12 Comments
Matt J
on 3 Mar 2013
You should re-examine your SIGMA and how it was generated. It does not admit a unique solution.
See Also
Categories
Find more on Financial Data Analytics in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!