0
$\begingroup$

I've created a three asset excess return covariance matrix. The assets are; equity, bonds, and cash. However, my cash return is the same as my risk free rate ( i.e. 3 month Euribor). This is leaving me with a covariance matrix where the cash asset has 0 covariance with itself, equity and bonds. A singular matrix. There's an example below.

enter image description here

This is leading to a lot of complications when I try to use it in my Python code to generate expected returns/weights etc.

Unfortunately, I don't seem to have a good alternative to Euribor for historical Euro cash returns (1990 onwards).

Is there any way I can adjust how the cash covariance is generated to produce a non zero result without affecting the outcome of my analysis?

$\endgroup$
2
  • 1
    $\begingroup$ It looks like you're defining excess returns as excess returns over cash, which you assume earns the Euribor rate. In this sense cash returns aren't a random variable, they're identically zero. If you're doing some sort of mean/variance optimization, that means that for example the portfolio with 50% equities, 50% bonds will have the same Sharpe as the portfolio with 40% equities, 40% bonds, 20% cash. Would it be sensible to exclude cash from your analysis if its excess returns are always 0? $\endgroup$
    – Rylan
    Commented Apr 24 at 9:18
  • 1
    $\begingroup$ Yes it would. You are right in general. However, I'm using it as part of a Black-Litterman model and my premise has been there is a choice for allocating to Cash. I want to include that choice in the model, as a PM has the opportunity to allocate to stocks or bonds or cash depending on their outlook. But, allowing this choice and having no alternative for a long term cash return in Euro other than Euribor is causing this 0 excess return and covariance problem. $\endgroup$
    – Farrep7
    Commented Apr 24 at 9:32

1 Answer 1

2
$\begingroup$

I believe this answers your question? "Adding" risk-free asset to covariance matrix after the fact but the answer is replacing cash with the riskless asset.

The key message is either -

  • Separate the allocation of assets (equities and fixed-income) from the allocation of cash in the portfolio.

or

  • Consider a longer horizon so you can take the riskless asset as a "risky" asset with changing risk-free rate at different time periods. This generates some variance in its returns, resulting in non-zero entries in your covariance matrix.
$\endgroup$
2
  • 1
    $\begingroup$ Thank you @KaiSqDist. This is very helpful and was the direction my thinking was already going. Essentially, what I'm currently proposing to do is to keep 3mth Euribor as the risk free asset and use 1mth Euribor as the risky asset. The 3mth matches our time horizon for the investment decision. I plan to create an index of returns for the 1mth Euribor and hopefully this will add variance to my covariance matrix. My returns are monthly btw. $\endgroup$
    – Farrep7
    Commented Apr 24 at 13:21
  • $\begingroup$ No worries, hope it works! Please do update your results (as an answer) if it succeeds. I am interested in this topic as well. $\endgroup$
    – KaiSqDist
    Commented Apr 24 at 13:42