POP Portfolio Construction Frequently Asked Questions


Don't portfolio optimizers give wild answers? Why use portfolio optimization at all?

A portfolio optimizer that is given naive inputs will produce solutions that could be financial disaster. However, automobiles have not been abandoned because they crash when left to run down hill on their own.

When reasonable constraints and trading costs are put in, an optimization will provide much better answers than can be found by other means -- and possibly with less effort than the alternatives. An optimizer provides improved risk management, making the fund manager's return predictions more valuable.

The availability of random portfolio generation in POP means that the usefulness of constraints can be explicitly tested rather than just left to guesswork.


Random portfolios sound interesting, but what good are they?

First off, the idea of random portfolios is that they are a random sample of all of the portfolios that satisfy a given set of constraints. They have had many uses, and surely additional uses will be found in the future.

The Working Paper "Performance Measurement via Random Portfolios" shows random portfolios to provide good measures of the skill of fund managers, and that they can form the basis of investment mandates. The Working Paper "Does My Beta Look Big in This?" is an example of using random portfolios to decide the limits that a constraint should be given. More on random portfolios can be found at Random Portfolios in Finance.


What is the difference between portfolio selection and asset allocation?

Asset allocation assigns some fraction of wealth (a weight) to each asset. There are no constraints on the number of assets that can have non-zero weights. These weights can not be negative and they sum to 1.

When a fund manager creates or updates a portfolio, there is generally a limit on the number of assets that are allowed to be in the portfolio, and on the number that are allowed to be traded. Additionally some funds contain short positions of some assets -- mathematically equivalent to negative amounts. The fund manager or trader is not interested in the weight within the portfolio of an asset, but rather how many units of the asset should be bought or sold.

Many so-called portfolio optimizers are really just asset allocators. A full-fledged portfolio optimizer should be able to handle short positions as well as long positions, and have integer constraints on the number of assets held and traded.


What kind of risk model is used in POP?

Any risk model can be used -- the choice is up to the user. However, there is functionality within the suite to produce statistical factor models. The only requirement is a history of returns of the assets.

A unique feature of POP is that multiple variances can be used for an optimization.


Why use the S language?

The S language (R or S-PLUS) provides a suitable and flexible environment in which to do portfolio construction (and many other tasks in fund management). For example, it is very easy to automate the optimization. S is the best computing environment available for data analysis -- which ideally precedes and follows optimization. More details on the advantages of the S language can be found in An Introduction to the S Language.

Spreadsheets, on the other hand, are stretched to the breaking point when doing optimization. See Spreadsheet Addiction.


Why use a genetic algorithm?

Primarily so that the real problem of interest is solved. The approach in most other portfolio optimization software is to change the problem so that it fits the optimizer.

A portfolio optimization program based on a genetic algorithm easily allows multiple integer constraints, nonlinear trading costs and modifications to the utility.

The ability to generate random portfolios is a beneficial side effect of using a genetic algorithm.


Aren't genetic algorithms slow?

Yes and no.

The original genetic algorithm is horribly slow and inefficient. Algorithms that are too closely based on the original are also slow. The algorithm that powers POP has been specially adapted to the problem at hand and performs quite well. Much of its speed is due to not being purely genetic -- other techniques are employed as well.

Many genetic algorithms for portfolio optimization merely use a genetic algorithm to optimize over one integer constraint and use a quadratic programming algorithm to actually do the optimization. This will also be slow, and fails to take full advantage of the flexibility that a genetic algorithm can provide.

In addition POP has taken care to keep memory use -- especially from linear constraints -- as low as possible. This can be important when the universe is very large.


Why not just impose round lotting after the optimization?

The implication is that there is little difference between round lotting within the optimization process or doing it just once afterwards. In many cases this is true. However, the cost of coercing to round lots within the algorithm is minimal, and there are times when it does matter.

Some optimizations involve assets with large prices relative to the size of the trade, in which case the round lotting will be important. Examples of large prices include some futures and a few equities. Alternatively the size of the trade can be small, such as when optimization is performed continuously. Given that real-time optimization can easily be done with POP, this is an important consideration.