jayw.com

Finance

Headlines

A paper on the Black-Litterman Model
(Updated May 2nd)

An applet which implements the Black-Litterman model

Portfolio Optimization

Just fixed a few bugs in the interior points implementation and how it handles extra user specified constraints. Turns out it used to be broken, but now is fixed. It won't pick up obviously conflicting constraints yet, that's on the list of enhancements. What it will do is come up with a reasonable set of values for reasonable constraints.

My latest applet allows you to play with the Black-Litterman return estimation model. This code is also up in sourceforge. Right now it is loaded with the equilibrium model from He-Litterman by default and you can either enter new values directly,or you can drag from excel. I've not had any luck dragging back out to open office myself. You can specify one or more views, and it displays lots of information on the posterior distribution. It does allow you to enable/disable calculation of the Posterior variance ala He-Litterman and/or use of Idzorek style view confidence specification.

My existing mean variance portfolio optimizer supports using several different optimization algorithms. I implemented ActiveSet, and Interior Points with Mehrotra corrector-predictor for both maximization of the quadratic utility for a given risk aversion constant and for minimization of the variance for a given return. I also implemented an entropy like diversification constraint in the interior points code, and a pure entropy min/max optimization algorithm using a Newton Solver. Finally there are a few little Black-Litterman tidbits in this program as well. You can download the source code from sourceforge and build it for yourself.

The mean-variance portfolo optimizer also includes some code to demonstrate Bayes-Stein shrinkage, but it leaves something to be desired. I've found that because I've implemented shrinkage towards a common mean (the grand mean) that the optimizer still goes for the same solution (weights). Hard to tell if this is a bug, or intuitively correct. For the moment I'm on to other things.

On the portfolio optimization front, the next big change will be the addition of robust optimization methods which will require handling conic (quadratic) constraints in the interior points optimizer. I need to do some reading and finish my explorations of Black-Litterman first. I'm also planning on writing up some type of document on the various optimization algorithms like I wish I could find when I got started building them.

About Us | Site Map | Privacy Policy | Contact Us | ©2000-2006 Jay Walters