Here are the core Black-Litterman formulas, in order, and where appropriate comments as to how the various authors used rhem.
Given the following inputs
| w | Equilibrium market capitalization weights for each asset. |
| Σ | Matrix of covariances between the assets. Usually computed from historical data. |
| rf | Risk free rate |
| δ | The risk aversion coeffficient of the market portfolio. This can be specified, or can be computed if the investor knows the market return and standard deviation of returns. |
| τ | A measure of the uncertainty of the prior estimate of the mean returns. |
First we use reverse optimization to compute the vector of equilibrium returns, Π using the following equation.
![]()
Then we formulate the investors views, and specify P, Ω, and Q. Given k views and n assets, then P is a k × n matrix where each row sums to 0 (relative view) or 1 (absolute view). Q is a k × 1 vector of the excess returns for each view. Ω is a diagonal k × k matrix of the variance of the views, or the confidence in the views. As a starting point, most authors call for the diagonal values of Ω to be set equal to pTτΣp (where p is the row from P for the specific view).
Next assuming we are uncertain in all the views, we apply the Black-Litterman 'master equation' to compute the posterior estimate of the returns using the following equation.
If the investor wants to update the variance and compute a new posterior variance of returns then they should use the next two steps, otherwise they can continue past these two steps.
Then we must compute the posterior variance using the following equation.
![]()
Closely followed by the computation of the variance of returns
![]()
And now we can compute the portfolio weights for the optimal portfolio on the unconstrained efficient frontier.
![]()
Implementations in SciLab and MATLAB are available from here. For a more thorough discussion see my paper on the Black-Litterman model.