Flowsurfer is a fully-mechanical momentum sleeve for liquid US equities. It doesn't predict the market — it harvests a slow, well-documented leak in prices, and steps aside before the move exhausts.
When analysts revise estimates up, or a company beats earnings, the price doesn't fully adjust that day. The new information leaks into price over weeks to months — revision drift and post-earnings drift. That slow adjustment is the edge.
Flowsurfer isn't trying to be fast. It waits until the move is clearly underway and buyers are visibly responding, then exits as the drift fades. You will be slower than a pod shop on detection — and you don't need to win that race.
It's a concentrated momentum book, not a market substitute — a handful of conviction-weighted names. In calm markets it runs near 0.85 beta, but it deliberately cuts exposure when volatility spikes, so it isn't fully along for every ride.
What it targets is alpha (return the market doesn't explain) with a managed drawdown: the crowding veto avoids euphoric names, vol-targeting pulls risk in turbulence, and hard stops cut losers fast. It aims to capture the momentum upside while losing less in the crashes.
Flowsurfer follows institutional capital, not an index. It hunts across the S&P 500 and a second universe of leading US growth companies that haven't joined the index yet.
The S&P 500 — the deep, liquid field of established large caps the engine has always rotated through.
A curated 20–50 leading US growth names that have already become real destinations for institutional money but haven't yet entered the S&P 500 — the CoreWeaves, Snowflakes and Reddits of the market. This is the window where ownership is concentrating, ETF and options activity are building and coverage is widening — exactly the conditions Flowsurfer is built to read.
Membership isn't a hand-picked list. Every candidate gets an Institutional Relevance Score, recomputed daily, that measures how important it has become to institutional investors: institutional ownership, trading liquidity, options activity, analyst coverage, news intensity and scale. The highest-relevance names make up the layer.
Membership is stable but evolving: a name stays unless its relevance falls persistently, a newcomer joins only after it sustains relevance (not on a single hot day), and any name that graduates into the S&P 500 simply moves into the core universe. That keeps turnover low while the layer follows the market rather than chasing it.
Both universes are then run through the identical process — the same two gates, the same ranked score, the same conviction sizing and the same risk controls. The only difference is where a name comes from.
Entry is not a weighted sum. A name must clear both gates before its score even counts — the buy is good news PLUS evidence capital is responding, and it must not be euphoric.
An earnings revision or a news event that should pull price over the following weeks. The strongest, most durable input — revision drift persists for months.
It's beating the market, its sector and its peers, and volume is rising as it climbs (buyers stepping in). Proof the move is real, not a blip. Required to enter.
A 0–100 lateness score — distance above moving averages, overbought RSI, how long the move has run. Above the ceiling it's a hard veto: never buy euphoria.
There is no manual override anywhere in the system — no button to hold, add, or exit on a hunch. Entries and exits are score-driven or stop-driven only.
Two separate decisions: how much to put in each name (conviction), and how much of the book to deploy at all (risk). Both are set from the data, not by hand.
Positions aren't equal-weighted — they're sized by the composite ranking, the engine's own measure of conviction. The backtest shows forward return is convex in conviction (the very best names run hardest), so the size curve is convex too: the strongest name gets the most, the marginal one the least.
Even how many names it can hold is set from the data, not picked: the backtest points to the breadth that earns the most risk-adjusted return, and that becomes the ceiling. The book fills toward it only with names that clear the gates — so it holds fewer, and keeps more cash, when fewer qualify.
Neither the shape of the curve nor the count is assumed — both are relearned over time from how forward return actually scales with conviction.
Total deployment sits at the risk/return node — the point that keeps most of the upside for far less drawdown (past it you take more risk for almost no extra risk-adjusted return).
On top, deployment scales to a volatility budget: when markets turn turbulent the book cuts exposure, when they're calm it leans back in. Exposure falls exactly when downside risk is highest — that, plus hard per-name stops and the crowding veto, is the defence.
Signal weights, the conviction curve, how many names it holds, and deployment all adapt over time — but only ever trained on data from strictly before the weights went live, so the track record stays genuinely out-of-sample. A frozen book runs the original settings in parallel as a control, and an auto-throttle backs off the learning whenever it stops beating that control. The machine refines itself; the honesty is structural.
Backtest over the 520-name S&P 500, 2021-09-22 → 2026-06-26, net of costs. Validates the price/volume/crowding mechanics; the earnings-revision signal can only be proven forward, which is what the live track record is for.
| Series | Total return | Sharpe | Sortino | Max drawdown |
|---|---|---|---|---|
| Flowsurfer | +355.06% | 1.38 | 2.03 | -29.76% |
| MTUM — momentum ETF | +81.78% | 0.69 | 0.96 | -32.77% |
| SPY — S&P 500 | +66.49% | 0.70 | 0.98 | -25.36% |
| Universe — equal weight | +78.69% | 0.80 | 1.14 | -20.88% |
The bar isn't beating a cheap momentum ETF on return alone — it's beating it on risk-adjusted terms. Flowsurfer leads MTUM on Sharpe and on drawdown, not just on return.