Optimisation with strong correlated Assets - Quantitative Finance Stack Exchange most recent 30 from quant.stackexchange.com 2019-07-20T06:17:37Z https://quant.stackexchange.com/feeds/question/34617 http://www.creativecommons.org/licenses/by-sa/3.0/rdf https://quant.stackexchange.com/q/34617 3 Optimisation with strong correlated Assets quallenjäger https://quant.stackexchange.com/users/25867 2017-06-08T23:39:37Z 2017-06-14T08:36:12Z <p>I have the following settings:</p> <p>The allowed traded assets consists of 1 bank account, 1 non dividend paying stock and 19 call options whose maturity is in 30 days. I want to find an optimal static portfolio with holding period of 30 days. The current stock price is 150 USD and the 19 call options has strike price from 115 USD in 5 USD steps (i.e. 115, 120, 125 ....)</p> <p>The minimization problem is thus:$$\text{minimize: }x^T\Sigma x\\\text{subject to: }\mu^T x=r\\x^TS\le w$$, where the second is the budget constraint and the first is the expected return being equal to $r$. $S$ is the price vector consists of prices of the 21 available assets at the beginning of holding period (1 bank account, 1 stock, 19 calls). </p> <p>I have determined the covariance matrix $\Sigma$ and $\mu$ using Monte Carlo method. To be more specific, I assume that the stock price follows a geometric Brownian motion and generated a great deal of sample paths. Using those paths, I was also able to simulate the payoffs of the option.</p> <p><strong>Question:</strong> Normally I would solve this problem using the <code>quadprog</code> in MATLAB, which uses interior points method. However the covariance matrix $\Sigma$ is in this case ill-conditioned since the call options and the stock are driven by the same Brownian motion. (I have a correlation matrix with nearly all entries are in the range of 0.8 to 1 and the conditional number of the covariance matrix is in the order of $10^6$.) Can I still trust the result from MATLAB? How can I handle the ill-conditionedness? Will rescaling or preconditioning help?</p> https://quant.stackexchange.com/questions/34617/-/34623#34623 5 Answer by vanguard2k for Optimisation with strong correlated Assets vanguard2k https://quant.stackexchange.com/users/2727 2017-06-09T09:02:58Z 2017-06-14T08:36:12Z <p>This answer will try and outline all the different possibilities I came across over the last couple of years, including drawbacks. But first, let me outline the problem a little.</p> <p>To appreciate the problem, a first simplistic starting point is <a href="https://ssrn.com/abstract=2658657" rel="nofollow noreferrer">here</a>. What the authors observe is similar to what you observed. "Optimization is Error-Maximization" is an often cited quote.</p> <p><strong>Why is that?</strong> </p> <p>To build some intuition, look at the unconstrained solution of the MV problem. It is proportional to the inverse of the variance Covariance matrix $\Sigma^{-1}$. You see that by setting the first derivative to zero and solving for the weights.</p> <p><strong>The role of the spectrum of $\Sigma$</strong></p> <p>If you look at the Eigenvalues of $\Sigma$, the problem occurs when they are close to $0$. That is, because the inverse $\Sigma^{-1}$ has the inverse eigenvalues, which in turn means that upon solving the problems, certain directions are being extremely magnified. Also, these directions are very unstable, meaning that upon updating $\Sigma$ at a later point in time, directions and thus your solution are likely to show big changes over time and the solution is unstable.</p> <p><strong>==REMEDIES==</strong></p> <p>Be aware that all of the following methods will cause a loss of information of some kind. Also, I do not prefer one method over the other.</p> <p><strong>1. Messing around with the spectrum</strong></p> <p>One of the more straightforward things: If an Eigenvalue is, say $&lt;10^{-6}$, set it to $10^{-6}$ and recalculate the variance covariance matrix. (If $\Sigma = E^{T} \Lambda E$ with Eigenbasis $E$ and spectrum $\Lambda$, you can define $\hat{\lambda}_i = \text{max}(10^{-6},\lambda_i)$ and then calculate $\hat{\Sigma} = E^{T} \hat{\Lambda} E$.</p> <p>(Hint: you can force total variance to be the same by rescaling but the difference shouldnt be big). </p> <p>Bear in mind that there are numerous ways you could do this but this is the most straightforward one I think. More difficult is the question how small do you accept your eigenvalues to be...</p> <p><strong>2. Factor Models</strong></p> <p>If we can express $N$ asset classes in terms of $F$ factors, this is effectively a dimension reduction. If you drop the idiosyncratic parts and the variance covariance matrix of the factors is stable (usually, the idea of factors is that their correlation is not too high). You would need to reformulate your problem </p> <p><strong>3. Shrinkage Estimation</strong></p> <p>In numerics, there is the common trick to "add a diagonal"($\hat{\Sigma} = \Sigma + \lambda \mathbb{1})$ to get the spectrum away from $0$. Now, if we come from statistics the total error of an estimator can be decomposed in a bias plus a variance component. The idea is to reduce the estimation error further by taking a bias (you can actually use an ansatz like metioned above and calculate the $\lambda$ if I remember correctly). Look at <a href="https://en.wikipedia.org/wiki/Estimation_of_covariance_matrices#Shrinkage_estimation" rel="nofollow noreferrer">Shrinkage Estimation</a>.</p> <p><strong>4. Expected Return estimation - Black Litterman method</strong> </p> <p>One finding from employing the <a href="http://www.blacklitterman.org" rel="nofollow noreferrer">BL-method</a> is that the results are more stable. This is because the expected (prior) returns are calculated via the market weights $w_M$ and the variance-covariance matrix: $\mu \approx \Sigma w_M$. Also, you can see that via the very heuristic argument that if your solution $w \approx \Sigma^{-1} \mu$ and $\mu \approx \Sigma w_m$ then this will be stable, as the idea is that both in a way "cancel out". I know this is by no means mathematically correct but just to give you a feeling.</p> <p>I am sure the list is by no means complete. Take also a look at <em>robust optimization</em>. I didnt cover this here.</p>