Saturday, January 25, 2020

portfolio management - Optimization: Factor model versus asset-by-asset model


In portfolio management one often has to solve problems of the quadratic form wTΣw+wTcmin with portfolio weights w \in \mathbb{R}^N a constant c \in \mathbb{R}^N and a covariance matrix \Sigma \in \mathbb{R}^{N \times N}. Furthermore we assume real world continuous and binary (e.g. cardinality) constraints.


For estimating the covariance matrix \Sigma we can e.g. use the sample covariance of the returns of all assets - let's call this an asset-by-asset model. It is known that some care has to be taken here if N is big and so forth, but this is not the point of this question.


On the other hand we can define factors (F_k)_{k=1}^K with $K

I sometimes read that a problem with covariance matrix \hat{\Sigma} from the factor model is easier to solve than with \Sigma. Is this true? If yes, then how can we see this? My personal answer so far is: no. Because both are N \times N matrices and the structure does not help in general.



Especially if the factors are not orthogonal - what do we gain? If the factors come from a PCA then we might gain something but I wonder how many PCs we would need e.g. in a global equities portfolio ...



Answer



A few points.


First, In a typical factor model, the idiosyncratic piece (what you call Var[\epsilon_k]) is non-negligible, which results in a \hat\Sigma that is going to be well-conditioned. From a numerical point of view, this is very convenient. The more well-conditioned a covariance matrix, the less susceptible the optimization routine is to round-off errors.


Second, one can introduce variables l_1, ..., l_K with constraints that \sum_{i=1}^N e_{i,j} w_i = l_j and then work with \Sigma_F directly in the formulation of an optimization and not use a full N\times N covariance matrix.


Third, from a portfolio optimization standpoint we don't care if the factors are orthogonal or not. We can rotate them to be orthogonal. As long as \Sigma_F is positive definite, we can use the Cholesky decomposition to write it as LL^T = \Sigma_F and then replace the loadings matrix e with a rotated one \tilde e =eL so that now the factors are orthogonal. That is e\Sigma_Fe^T = eLL^Te^T = \tilde e \tilde e^T.


No comments:

Post a Comment

technique - How credible is wikipedia?

I understand that this question relates more to wikipedia than it does writing but... If I was going to use wikipedia for a source for a res...