Skip to content
A person seen from behind studying a wall of blurred charts in daylight

Use case · Portfolio

The optimiser is a clerk. The constraints are the portfolio.

Mean-variance, hierarchical risk, and learned expected-return models all collapse into the same room: a set of weights someone must be willing to hold after costs, mandates and the awkward shape of UK liquidity.

Give an optimiser a noisy vector of expected returns and a covariance estimated on the same noisy history and it will respond with sincerity. It will take the noisiest edge, lever it until a constraint groans, and present the result as optimisation. This is not a failure of computing. It is the procedure working as specified. Machine learning, dropped on top as a more confident expected-return engine, often makes the sincerity worse. A flexible model has more ways to be sure about a sample accident.

The grown-up use case starts by shrinking the thing the model is worst at. Expected returns are hard. Risk structure is less hard. Many robust allocations, from simple risk parity sketches to hierarchical clustering of a covariance, are attempts to bet on the part of the estimate that survives a new year. They are not a claim that returns cannot be forecast. They are a claim that your forecast should have to clear a high bar before it is allowed to tilt a book that clients will still be in when the forecast is wrong.

Cluster the risk, then ask for the view

A liquid UK equity universe is not two hundred independent risks. Banks share a rates story. Housebuilders share a mortgage story. Exporters share a sterling story, until they do not. Clustering correlations, and allocating risk between clusters before allocating inside them, stops the optimiser from discovering a false diversification between two names that are the same trade in different typefaces.

Machine learning helps here as a grouping tool and as a stability check: refit the clusters on rolling windows and see which groupings are a fact of the market and which were a quarter. A grouping that appears only in one window does not deserve a constraint named after it. A grouping that survives several regimes, such as domestic rates sensitivity versus overseas earnings, can be written down in English and then in code. English first.

If the cluster cannot be explained to a trustee, it is not a cluster. It is a dendrogram.

Stamp duty is not a footnote

A large class of machine-learning papers trains as if the portfolio were marked at the mid and rebalanced for free. In the UK that assumption is not a rounding error. Stamp duty reserve tax at 0.5 per cent applies to many purchases of UK shares. It is charged on the way in. A model that turns over the book every few weeks to chase a small classification edge is not being ambitious. It is volunteering to pay a tax for the privilege of being approximately random.

The repair belongs inside the objective, not in a wistful paragraph after the results table. Penalise turnover. Distinguish buys from sells where the tax is asymmetric. Include a spread that widens in names outside the most liquid part of the FTSE 100, and widens again on AIM, where a learned ranking can be liquid in the backtest and fictional at ten o’clock. Lot size matters. A weight the market cannot express is not a weight.

None of this is a recommendation to trade or not to trade any share. It is a statement about arithmetic. An edge that does not survive arithmetic was never an edge. It was a gross-of-cost illustration, and illustrations do not pay performance fees. They also should not be published as if they do.

Research desk with tea, notebook and two monitors of abstract blurred charts
The notebook is where the tax, the spread and the mandate get written down before the solver runs.

A mandate is a list of things the model may not discover

UK institutional mandates arrive as tracking error budgets, excluded sectors, concentration limits, and sometimes as exclusions that are really values written as constraints. Machine learning does not get to renegotiate them because a feature was predictive. If tobacco, or a particular sanctions exposure, or a carbon threshold is out, it is out before the fit. Putting the screen on afterwards and calling the difference “alpha decay” is a storytelling choice.

The healthy use case is the opposite of a black box that proposes weights. It is a system that proposes a tilt inside a feasible set a human already signed, and that reports which constraint bound. The binding constraint is often the insight. “The model wanted more mid-cap domestic banks and the tracking budget refused” is a sentence a committee can use. A vector of thirty-four decimals is not.

Rebalance when the information decays, not when the calendar looks tidy

Some signals are slow: a change in the structure of a firm’s earnings, a shift in the rates beta of a REIT sector. Some are fast and mostly noise by the next morning. A single monthly rebalance treats them as the same object. The practical machine-learning contribution is to estimate decay, honestly, out of sample, and to let the slow book move slowly. Fast research can still exist. It should live near the execution desk, with costs in the same sentence, which is why our note on execution sits beside this one rather than underneath it.

We will not publish a model portfolio, a list of favoured tickers, or a backtested compound return. Anyone who wants that is in the wrong journal. What we will publish is the shape of the question: what is being held, what is forbidden, what it costs to change your mind, and how embarrassed the expected-return model is required to be.