End-to-End Portfolio Policies vs a Simple Momentum Rule

You have two versions of the same trend system in front of you. One is a single line of code: take each market’s own return series, smooth it with a 100-day exponential moving average, and let the sign of that average set the position. It goes long when the smoothed return is above zero and moves flat or short when it drops below. The other is one of the end-to-end portfolio policies now common in the research, a model with a few hundred parameters that reads returns, realized volatility, and a handful of macro inputs and outputs the portfolio weights directly. On the window they were both fit on, the neural policy wins by a wide margin. The question that decides whether you should ever trade it is easy to ask and easy to answer wrong: does that margin survive on data the model never saw?

A recent systematic comparison put exactly that question to cross-asset futures timing, and the answer is worth sitting with. It also works as a counterweight to a lot of what gets written about machine learning and markets, including several pieces on this site that show what these methods can do. This one covers the other half: when a plainer approach is harder to beat than it looks.

What an end-to-end portfolio policy actually is

The traditional way to build a systematic book has two steps. First you forecast something: an expected return, a trend score, a probability the market keeps rising. Then you hand those forecasts to an optimizer that turns them into position sizes, usually with a volatility target and some correlation adjustment. Two stages, each with its own assumptions, each inspectable on its own.

An end-to-end policy collapses those two steps into one. It takes the raw state of the market, recent returns, realized volatility, maybe a few macro series, and maps that state straight to a vector of portfolio weights. There’s no explicit forecast in the middle you can pull out and check. The model is trained to maximize a portfolio objective directly, so it learns whatever internal representation makes the weights score well on the training data. That’s the appeal, and it’s also the risk. A single EMA rule has one free number, the lookback. A modest end-to-end policy can carry three or four hundred. Every one of those parameters is a degree of freedom the fit can spend on genuine signal or on noise, and the backtest by itself won’t tell you which.

The simple benchmark most systems should start from

The benchmark in this kind of study is deliberately plain. For each market you take its own past returns, smooth them, and let the sign of the smoothed series set direction. When I test a new idea, that’s the first thing I build: a 100-day EMA on the return series, long above zero, out below. One parameter. Nothing to tune into the data except a lookback most trend systems already agree on.

The limit of that rule is worth stating plainly. It doesn’t forecast how far a market will travel. All it claims is that a move already underway tends to persist a while longer, and it sizes that claim the same whether the edge is fat or thin. A trader leaning on it is buying persistence, not a price target. That narrowness is exactly why the rule is hard to overfit. With a single knob there’s almost nothing to bend toward last year’s chart. The mechanics are the same ones behind classical trend following, and here the simplicity is the point rather than a shortcut.

Where the complex model looked unbeatable

On the data it was trained on, the end-to-end policy dominated. Wider margin, smoother equity curve, a closer fit to every twist in the sample. If that were the whole story the choice would be obvious, and you’d run the bigger model.

It’s the wrong story, and the reason is mechanical. A model with hundreds of parameters can trace the training history closely because it has enough flexibility to fit both the real structure and the accidents: the one quarter a currency spiked on a policy surprise, the year two unrelated markets happened to drift together. A wide in-sample lead over a one-parameter rule is the expected result of handing a flexible model more room to memorize, not evidence of a real edge. This is the same trap that out-of-sample discipline exists to catch, and it’s worth reading how a walk-forward test is built to expose it before you trust any backtest margin.

The out-of-sample test that changes the read

Now hold both models on data neither was fit to. The systematic comparison found the gap between the complex policy and the simple rule compressed sharply once the test moved out of sample. The neural policy’s towering in-sample lead shrank back toward the benchmark, and in cleanly trending stretches it slipped behind, because the extra parameters had been spending themselves on noise the market never repeated.

That compression is the tell I watch for, more than any single performance number. When I compare two systems, I line up the in-sample gap against the out-of-sample gap. If a model beats the EMA by a mile in the fit window and by almost nothing on held-out data, it has told me plainly where its edge lives, in the parameters rather than the market. Think of it in degrees of freedom. Say the simple rule has one and the policy has three hundred. The policy can reproduce three hundred coincidences the one-parameter rule structurally cannot, and most coincidences don’t recur. A signal that only shows up in the window you optimized on is a description of the past, useless as a rule for the future.

When the AI policy did add real value

The study didn’t stop at simple wins, and the qualifier is the useful part. There were conditions where the end-to-end policy genuinely beat the benchmark out of sample, and they share a feature: richer, more structured state-dependence than a single market’s own trend can express. Think cross-asset relationships, where one market’s move carries information about another. Think regimes where the right response to a given trend flips depending on volatility or the macro backdrop. A univariate momentum rule is blind to all of that by construction, because it only ever looks at one series, its own.

Where that extra structure is real and stable, a model that can see across assets and conditions has something to learn that the EMA cannot represent. That’s the ground the site’s machine-learning pieces cover from the other side: how LLM-conditioned momentum tries to read the context around a trend, and how cross-asset lead-lag network momentum trades exactly the relationships a single-market rule ignores. Those approaches earn their complexity when the structure they model is really there.

The flip side is the concrete warning. In cleanly trending markets, where one-dimensional momentum already captures most of the available signal, the added machinery hurt. It fed on noise instead of information and traded worse for the trouble. Complexity is only free when there’s structure to justify it, and a strong clean trend is precisely the case where there isn’t much left for a bigger model to find.

Why a simple signal holds up out of sample

The deeper lesson isn’t really about neural networks. It’s about why a plain signal tends to travel better than an elaborate one. A single EMA on returns works, when it works, because trend persistence is a structural property of markets that shows up again and again across assets and across decades. You’re not fitting it to 2019. You’re relying on a behaviour that keeps recurring. A three-hundred-parameter policy that beat it in the fit window might be capturing more of that real structure, or it might be capturing the exact shape of one training era. The backtest cannot separate those two. Out-of-sample can.

So a simple benchmark deserves more respect than it usually gets. Treat it as the honest starting line, the thing any added complexity has to beat on data it was never shown, rather than a low bar to clear before the real modelling begins. The traders who ran mechanical trend systems for decades, Ed Seykota among the first, built their records on rules simple enough to trust and follow without second-guessing. The edge lived in the discipline of applying a durable rule, not in the parameter count.

Make the model earn its parameters

So the finding lands somewhere honest. The lesson is narrow and worth stating exactly: a model earns each parameter it spends only on data it hasn’t seen, and machine learning gets no exemption from that rule. In cleanly trending markets a one-parameter rule is stubbornly hard to beat, and that’s the expected result rather than a surprise. Complexity pays off only where there’s real, repeatable structure that a simpler signal genuinely cannot reach.

Before you add another input or another layer to your own process, ask what structure it’s supposed to capture and whether that structure survives outside the window you tested it on. If the honest answer is that the fancier version mostly wins on the data it was fit to, then you already have your benchmark, and it happens to be cheaper to run. Learn the pattern. Ride the trend. Keep the gains.

Educational content only. Not investment advice. Trading involves risk. You are responsible for your decisions.

Get the free Market Wisdom e-book

Join Trends and Breakouts — historical winners, breakout studies, and risk lessons. No spam, unsubscribe anytime.