I have the following settings:

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 ....)

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).

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.

Question: Normally I would solve this problem using the quadprog 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?

  • 1
    $\begingroup$ I do not think this approach is valid for this problem. The correlation between the brownian processses driving the values is not high, it is one, but the processes are just different. There is a deterministic relationship between the underlying and the values of the options. Even if you want to go down this route (which i strongly disagree with), consider this: you are assuming correlation is constant. What will the correlation be in the two scenarios where the stock price falls or increases? The correlation will tend to zero, and one, respectively. It's clear that you can't do it this way. $\endgroup$
    – will
    Commented Jun 9, 2017 at 10:16
  • $\begingroup$ if your options are on the same underlying, with no silly extra gotchas (like options being on different exchanges / having different extraordinary dividend rules / etc.), then they have exactly the same driving processes determining their values. You're using a hammer to drive in a screw - it may give you a result, and that result may sometimes appear correct, but it is wrong. Depending on how you use the result, you may wind up with very poor results because if this. $\endgroup$
    – will
    Commented Jun 11, 2017 at 23:46
  • $\begingroup$ @will how would you suggest to get better grip on this problem? $\endgroup$ Commented Jun 12, 2017 at 0:55

1 Answer 1


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.

To appreciate the problem, a first simplistic starting point is here. What the authors observe is similar to what you observed. "Optimization is Error-Maximization" is an often cited quote.

Why is that?

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.

The role of the spectrum of $\Sigma$

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.


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.

1. Messing around with the spectrum

One of the more straightforward things: If an Eigenvalue is, say $<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$.

(Hint: you can force total variance to be the same by rescaling but the difference shouldnt be big).

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...

2. Factor Models

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

3. Shrinkage Estimation

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 Shrinkage Estimation.

4. Expected Return estimation - Black Litterman method

One finding from employing the BL-method 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.

I am sure the list is by no means complete. Take also a look at robust optimization. I didnt cover this here.

  • $\begingroup$ This is definitely kind of answer I was looking for! Thanks! I understood all methods except the first one. What do you mean by "set it to $10^6$ and recalculate the matrix"? Do you mean normalise the matrix by dividing the entries with $10^6$? $\endgroup$ Commented Jun 9, 2017 at 9:54
  • $\begingroup$ @quallenjäger I edited my answer. Hope its clearer now (its $10^{-6}$ instead of $10^6$) $\endgroup$
    – vanguard2k
    Commented Jun 9, 2017 at 10:11
  • $\begingroup$ @vanguard2k I actually think the approach in general is wrong, since i would say correlation is the wrong word to describe the relationship between an underlying and derivitives on that same underlying. $\endgroup$
    – will
    Commented Jun 9, 2017 at 10:12
  • $\begingroup$ @will Well, you are definitely right on this point. In the options case, you could look at correlations between the risk drivers instead as you would need to get a good approximation of the P&L distribution over the time horizon. As the problem formulation was already stated (and the question arose from a different question on this site) I did not mention that. Nevertheless, almost all of the outlined approaches are still applicable once you've found a suitable problem formulation. $\endgroup$
    – vanguard2k
    Commented Jun 9, 2017 at 10:50
  • 1
    $\begingroup$ @vanguard2k yah, your answer is more a quick overview of a bunch of common methods / practitioner tricks for ill conditioned covariance matrices. I think your once you've found a suitable problem formulation is the kicker here - where in the case of this question, it would be to have just the two factors: cash + asset, and then simulate the option prices based on those. Then do the optimization in the space of the simulated variables. $\endgroup$
    – will
    Commented Jun 9, 2017 at 11:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.