the BlackLitterman Model ... for Portfolio Allocation

motivated by email from Stefano B.
Once upon a time, in 1952, Harry Markowitz introduced "Modern Portfolio Theory" and the "MeanVariance optimization" and ...
>Huh?
You pick a "risk" which you're comfortable with (they equate Risk = Standard Deviation), then
vary your asset allocation (hence your expected return) so your portfolio is represented by a point on a
socalled Efficient Frontier. Or maybe you want to minimize Risk so ...
>Huh?
You can read all about it here.
 Figure 1 
I don't want to talk about Frontiers.
I want to talk about a more recent prescription for calculating some kind of optimal allocation: the BlackLitterman Model.
>What's wrong with Frontiers?
Don't ask me! How would I know? I just read about this stuff and write ...
>Yeah, yeah ... so what's wrong with Frontiers?
Apparently, the suggested "Frontier" allocation is sometimes unexpected, non intuitive, ignores current market conditions, is very sensitive to small changes in ...
>What does that mean?
See Figure 1? That's a real, live example where there are three assets: the S&P500, U.S. Small Cap and Gold.
We vary the percentage allocated to these three assets so as to minimize our "Risk".
>Where Risk = Standard Deviation, right?
Right. You get (as indicated in Figure 1) 30% S&P, 11% Small Cap and 59% Gold.
See the red dot?
>What? 59% Gold!?
Currently, gold is very volatile so we wouldn't expect to place that much ...
>Can we go on to BlackLitterman now?
Yes, but before we do that, let's see how sensitive that Frontier technique is when you make small changes in the parameters.
Here's a MeanVariance optimization calculator with three assets.
Each has some mean annual return ... and a there's a bunch of correlations/covariances.
There's also a "required" annual portfolio return.
We want to use the Efficent Frontier to determine the asset mix that'll minimize the Variance
= (Standard Deviation)^{2} of our portfolio, while providing the "required" annual return:
 Portfolio Variance
as a function of the percentage of Asset #1 
The chart at the right shows how the portfolio variance changes with % of Asset #1 (for the parameters shown).
It has a minimum when Asset #1 is 38% of your portfolio.
>But when I change the parameters, the chart don't change!
Uh ... yes. I mean NO! For that you'll have to download a spreadsheet.
It looks like this:
>So I make small changes in the numbers and I'm supposed to notice an unexpectedly large change in allocation, right?
Yes. Try changing the annual return for Asset #1, from 10% to 11%.
>Can we go on to BlackLitterman now?
With BlackLitterman (developed while Fischer Black and Robert Litterman were at Goldman Sachs, in the 1990s)
we have an opportunity to insert expected performance, based upon observation of current market conditions and our view of the market
... maybe bullish, maybe bearish.
>And if I don't have any views on the market?
If you have absolutely no views (like A will outperform B by 2%), then you hold the market itself ... like maybe an Index Fund.
>Is that what BlackLitterman says?
I think so, but I'm still learning ... and staring intently at a BlackLitterman formula I found on the Net:
>Mamma mia!
Ya took the words right outta my mouth.
Our job is to understand that BlackLitterman formula. It supposedly gives the expected returns of the various portfolio assets in terms of their "implied" returns and
correlations and our views on the assets as well as our confidence in those views.
>Do people actually use it?
Did I mention that it was developed at GoldmanSachs, one of the world's oldest and most prestigious investment banks?
>Yeah, so what does it mean?
Patience:
 Our portfolio is allocated among n assets, with expected, future excess returns (above some riskfree rate):
r_{1}, r_{2}, ... r_{n}.
We devote fractions to each asset, namely:
x_{1}, x_{2}, ... x_{n} (where x_{1}+x_{2}+ ...+x_{n} = 1).
Our expected portfolio return is then: x_{1}r_{1} + x_{2}r_{2} + ... +x_{n}r_{n}.
Introduce the n x 1 vectors: X = [x_{1}, x_{2}, ... x_{n}] and
Π = [r_{1}, r_{2}, ... r_{n}] so our expected portfolio return is: μ = X^{T} Π.
>Huh?
X^{T} is the transpose of the vector X. We're talking matrix multiplication here.
 Let the covariance matrix associated with the n assets be: Θ
The variance of our portfolio is then:
σ^{2} = X^{T} Θ X = θ_{11}x_{1}^{2} + θ_{22}x_{2}^{2} + ... + θ_{nn}x_{1}^{2}
+ 2 θ_{12} x_{1}x_{2} + 2 θ_{13} x_{1}x_{2} + ... etc. etc.
>Beg pardon?
Okay, lets' write this stuff in a more familiar format:
Now, if our portfolio has a mean return μ and variance σ^{2} , its long term annualized return is
(approximately) : μ  (1/2) σ^{2}
( See Average = Annualized + SD^{2}/2, here.)
What we'll do is attempt to optimize μ  (λ/2) σ^{2} by clever choice of the allocation vector, X.
>What's that λ?
Remember when we talked about utility functions?
>No!
Well, read all about it.
In particular, Sam was less concerned than Sally with the volatility of his portfolio,
... so he took as his utility function: μ  (0.5/2) σ^{2}.
Sally, on the other hand, was more conservative and appalled by large volatility,
... so she took as her utility function: μ  (10/2) σ^{2}.
 
Here, we won't commit ourselves but just assume some riskaversion parameter λ and take as our utility function:
U(X) = μ  (λ/2) σ^{2}
= X^{T} Π  (λ/2) X^{T} Θ X
= Σ x_{k} r_{k}
 (λ/2) Σ x_{i} θ_{ij} x_{j}
Then, to maximize, we set all partial derivatives to 0:
∂U/∂ x_{k} = r_{k}  (λ/2)
Σ 2 θ_{ik} x_{k}
Hence:
λ Σ θ_{ik} x_{k}
= r_{k} ... for k = 1, 2, ... n
In other words:
λ Θ X
= Π
Finally, solving for our allocation vector:
X = (1/λ) Θ^{1} Π
Our expected return is then: μ = X^{T} Π = (1/λ)Π^{T}Θ^{1} Π
Let's give this a place distinction:
Magic Formula:
If Π is the nvector of portfolio returns, and
X is the nvector of asset allocations, and
Θ is the n x n (symmetric) covariance matrix
then the optimal allocation of assets is X = (1/λ) Θ^{1} Π
and the resultant, expected return is given by: μ = X^{T} Π = (1/λ)Π^{T}Θ^{1} Π
where λ is a userselected riskaversion scalar.

>zzzZZZ
Don't fret. We'll (eventually) have a spreadsheet to do the dirty work
In the meantime, note that Π, what we're calling "returns", is really expected excess asset returns.
Note, too, our ritual might do this:
 Assume some utility function U which depends upon the asset weights X and a set of parameters
(characterized above by Π and Θ).
 Let the set of parameters be denoted by ζ. Then we write U(Xζ), meaning the dependence of
U on the asset weights X, given the set of parameters ζ.
 We vary X so as to maximize E[U(Xζ)],
the Expected value of U, given the parameters ζ.
 We could assume the parameters are known, say from historical data. Alas, the future ain't usually like the past.
 We then regard historical data (for example) as a sample which provides an estimate of the true parameter values.
 From this sample we attempt to generate an estimate of the true values of the parameters
... as opposed to assuming we know them!
 If the "sample" parameters are denoted by ζ' (as opposed to the true parameter values which we've denoted by ζ)
then we maximize E[U(Xζ')]
 Since ζ' is not the true value of the parameters (except by accident!), our maximization will provide a suboptimal allocation of assets.
 In order to see how well our "sample" did in generating the optimal allocations, we introduce an Error Function:
1  max{E[U(Xζ')]} / max{E[U(Xζ)]}
>Huh?
If the real utility maximum is 1.23 and the maximum we obtain with our sample parameters is 1.11, them the error is: 1  1.11/1.23 = 0.10 or 10%.
>But ... uh, to calculate the error you gotta know the real maximum!
Yeah. True, but math types have ways to circumvent this.
Remember that we really want the true value of those parameters
(and we wisely refuse to accept the historical values).
Realizing that we hate uncertainty (or volatility), we could consider the worstcase scenario where the parameters are chosen to minimize the utility function.
That is, select ζ so as to minimize: U(Xζ). Call this minimizing set of parameters
ζ'.
Then, having this worstcase utility, determine the best possible alloaction.
That is, select X so as to maximize: U(Xζ')
The neat thing about BlackLitterman is assuming some "equilibrium" market parameters
(in which we have great faith) then allow our portfolio parameters
to deviate from the market parameters ... and assign some confidence level to the deviations.
>Confidence level?
Remember when I referred to "... our views on the assets as well as our confidence in those views."
Well, here's where that fits in.
>Yeah, sure. I can hardly wait, but what about that other model where you already have the answer? Is it any good?
You mean X = (1/λ) Θ^{1} Π
Okay, let's try it for three assets.
We'll use the same parameters as we used above, namely:
R1 = 10%, R2 = 11%, R3 = 5% and our riskfree rate will be, say 4%.
Then the excess returns are:
r_{1} = 0.06, r_{2} = 0.07 and r_{3} = 0.01 (where we change to decimals).
Okay, so our return vector and covariance matrix (and its inverse) look like this:
Then   gives the allocation ratios. 
>But shouldn't they add up to 1?
Oh, yes. I forgot to tell "the Math" that x_{1} + x_{2} + x_{3} = 1.
The sum of ratios obtained above is 1.2286 so we divide each ratio by that sum and get:
x_{1} = 34.0%, x_{2} = 17.8% and x_{3} = 48.2% (changing again to percentages).
>What happened to λ?
In this allocation model, it cancels out ... in the process of normalizing the allocation ratios (so they add to 1).
In fact, when we set all the derivatives to 0, it's saying that there are no constraints on the values of the x_{k}. In particular,
they need not add to "1".
>Aren't we doing BlackLitterman.
Not yet, but ...
>So why doesn't it give the same result as we got above, with the same parameters?
That was meanvariance Frontier stuff, where we specified our portfolio return. Besides, the returns weren't excess returns. We wouldn't expect ...
>You said there'd be a spreadsheet!
Yes and here it is where we stick in the same returns as we did above (ignoring the fact that we're supposed to be using excess returns).
That way we can compare to the result we got above:
Click on the picture to download the spreadsheet
Fill in the Returns and enter the Covariance matrix and ...
>Covariance matrix? And where do I find that guy?
You can try the spreadsheet described here.
Anyway, the above the spreadsheet does the rest ... giving you the allocation vector X.
Note that the portfolio return is 7.8%.
>So if I do that earlier thing and ask for a 7.8% return, I'd get the same allocations?
Try it. Click here and change the Required Annual Return to 7.8%.
>So I get the Frontier result, right?
Right.
>So where's BlackLitterman?
to continue
