The Qullamaggie Backtest: 4,400 Trades, 50 Years, One Honest Verdict
Kristjan "Qullamaggie" Kullamagi says momentum swing trading has made him over $100 million — a track record backed only by his own broker screenshots, not independently audited. We took his two best-known setups, Breakout and Episodic Pivot, translated his own published descriptions into measurable rules, and backtested them across the entire US stock market since 1975 — survivorship-free, including every stock later delisted, calibrated against 1,212 chart examples a follower compiled. The result is positive, but not evenly so: one setup carries the entire edge, the other is barely more than a wash after costs.
Kristjan Kullamagi, known online as "Qullamaggie," is one of the most-copied momentum traders of the past decade. His three publicly described setups — Breakout, Episodic Pivot, Parabolic Short — have spawned countless scanner clones and YouTube explainer videos. What was missing was a clean, survivorship-free backtest across the entire US stock market, not just the highlight-reel winners he shows in his own streams.
We built exactly that. We translated Breakout and Episodic Pivot from his own published material into measurable rules, calibrated them against 1,212 chart examples a follower compiled, and backtested them across 9,262 US-listed tickers since 1975 — including every company that no longer trades today. The result: 4,400 trades, an average return of +2.79% per trade after costs, positive in every fully covered decade since the 1980s. But the finding has a clear fault line: one setup carries the entire result, and the other, on its own, is barely more than a wash.
Who is Kristjan Kullamagi
Kullamagi started in 2011 with several small accounts of $3,000 to $5,000, some of which he says he blew up before the approach started working. By around 2021 he had reached eight figures in trading profit, later stated at over $100 million. For 2013 through 2019, he cites his own annual return of 268% — at a hit rate of just 25% in 2019 and around 35% in 2020. The profit, in other words, does not come from being right most of the time; it comes from the rare winning trades being enormous.
This track record matters for how to read this study, so we state it plainly: it is self-reported. Kullamagi shows broker account balances across more than 400 live streams, which makes the order of magnitude plausible — but it is not an independent audit by an accountant or a regulator. This study does not test his person or his actual account balance; it tests the rules he publicly describes as his setups.
What we tested: turning vague descriptions into measurable rules
Kullamagi trades three setups. For this backtest we formalized two of them:
- Breakout — his bread-and-butter setup: a price advance of at least 30% within 63 trading days, followed by a tight, tightening consolidation ("base") lasting 10 to 42 trading days, with a breakout above the prior high while moving averages trend upward.
- Episodic Pivot (EP) — an opening gap of at least 10%, accompanied by at least three times average daily volume, usually triggered by earnings or other news, preferably in a stock that had been "boring" with no recent run of its own.
The third setup type, the Parabolic Short, is not part of this backtest — it calls for short selling with theoretically unlimited risk and intraday execution that daily bars cannot responsibly model.
Kullamagi's own descriptions are qualitative and occasionally inconsistent: "a big move higher," a "tightening range," a stop "not wider than the ATR…" Turning that into a testable rule meant translating every vague phrase into a number — documented and individually flagged in our full data and rule documentation. Two examples from the original, quoted and translated:
"A big move higher sometime in the past 1-3 months. This move can be anywhere from 30-100%+."
— qullamaggie.com, "My 3 timeless setups that have made me tens of millions." Translated in our rule set as: a price advance of at least 30% within a window of no more than 63 trading days.
"Massive volume near the open, ideally the stock should trade the average daily volume the first 15-20 minutes."
— qullamaggie.com, "How to master a setup: Episodic Pivots." Translated as a conservative daily-data proxy: daily volume at least three times the 20-day average.
Where original sources contradicted each other — whether the partial sell is a third or half of the position, or whether the trailing moving average is the 10-day or the 20-day line — we followed the primary, written source and ran the alternative as a sensitivity check.
The 1,212 examples: a calibration point, not proof
Before running the full-universe backtest, we calibrated the formalized recipe against a publicly circulating collection of 1,212 TradingView chart screenshots a Kullamagi follower assembled as "1000 Swing Trading Trades." That is not proof — a hand-picked collection of winning examples is by definition not representative. It is a calibration point: does our rule set actually match what an experienced Kullamagi follower shows as a typical setup? That cross-check is covered below in "Checking the recipe against the originals."
Setup: survivorship-free across 50 years
The real, load-bearing test is the full-universe backtest: 9,262 US-listed tickers (NYSE, Nasdaq, AMEX, no OTC names), 1975 through 2026, including every company later delisted — otherwise the test would only measure the survivors and quietly flatter the result. The scan identified 4,455 valid primary signals (Breakout and Episodic Pivot combined), of which 4,400 became fully completed trades.
Execution assumptions are deliberately conservative: entry on the breakout day at the higher of the opening price and the pivot level, stop at the low of the entry day, a 50% partial sell after three trading days, the remainder trailing the 20-day moving average — exiting only on the first close below the line, never on an intraday violation. Cost assumption: 0.2% per leg, so on both entry and exit. These are the binding base rules from section 5 of our rule documentation; alternatives (a 10-day trail, different holding periods, different partial-sell timing) were run as separate sensitivities, covered below.
The result: positive, in every decade
| Metric | Value |
|---|---|
| Trades | 4,400 |
| Hit rate | 45.7% |
| Avg. return per trade (after costs) | +2.79% |
| Median per trade | -0.63% |
| Avg. win | +11.0% |
| Avg. loss | -4.11% |
| Payoff ratio | 2.68 |
A 45.7% hit rate combined with a 2.68 payoff ratio produces a clearly positive expectancy — but the median of -0.63% shows that the typical individual trade lands slightly negative. That is not a contradiction: a strategy with many small losers and a few large winners can be solidly profitable on average even though the "normal" trade is a small disappointment. That is exactly what is happening here, and it lines up with Kullamagi's own stated hit rates of 25-35%.
Measured against chance, the edge holds throughout: ten independent random baselines — comparison days drawn from the same universe, five drawn fully at random and five matched to the same calendar day in other years — sit, apart from a single draw that happened to hit one large random winner, between -0.31% and -0.86% per trade. The gap to the actual strategy exceeds three percentage points per trade throughout.
| Decade | n | Hit rate | Avg. per trade |
|---|---|---|---|
| 1980s | 18 | 44.4% | +0.23% |
| 1990s | 270 | 47.8% | +2.80% |
| 2000s | 1,351 | 45.9% | +1.65% |
| 2010s | 1,072 | 45.7% | +2.24% |
| 2020s | 1,688 | 45.2% | +4.09% |
The 1970s are excluded: a single trade (too little price history before 1980), not statistically meaningful.
Every fully covered decade is positive, with a notable acceleration in the 2020s (+4.09% per trade). That is not evidence the strategy is "getting better" — it coincides with an unusually volatile market phase (the post-Covid recovery, the rate-hike cycle, the AI rally) in which momentum strategies generally had more to capture.
The portfolio simulation
Raw trade statistics say nothing about what an account with limited capital would actually have earned — that needs a position-sizing rule. We simulated: starting capital $100,000, 0.5% risk per trade (Kullamagi's own core range), at most five open positions at once.
| Period | Trades taken | Ending capital | CAGR |
|---|---|---|---|
| Full period (1976-2026, 50.3 years) | 2,648 of 4,400 offered | $12,636,237 | 10.09% |
| Since 1993 (S&P 500 comparison window) | 2,607 of 4,359 offered | $12,520,840 | 15.59% |
| S&P 500 buy-and-hold since 1993 | — | — | 7.04% |
Across the full 50 years, the portfolio only reaches a 10.09% CAGR because of thin early data — many signals in the 1980s and 1990s had to be crowded out for lack of free positions. In the directly comparable window since 1993, the annual return more than doubles the S&P 500: 15.59% against 7.04%. Of the 4,359 trades offered in that window, the portfolio's five-position cap meant only 2,607 could actually be taken — more than a third went unused for lack of capacity.
The catch: a few trades carry almost everything
The most striking finding of this study is not any single number above, but their distribution. Ranking all 4,400 trades by return and looking at the cumulative sum:
- The best 1% of trades (roughly 44 of them) account for 32% of the total cumulative return.
- The best 5% of trades (roughly 220 of them) account for 80% of the total cumulative return.
That is consistent with how Kullamagi describes his own trading — he himself cites hit rates around 25-35% and a profit that comes from a handful of very large positions. For anyone trying to replicate it, though, that carries a real implementation risk: missing a disproportionate share of those few big winners — for any reason, from late entries to early exits to which names within the signal set someone happened to pick — produces a result materially weaker than the average measured here. The statistic measures what all signals together produced, not what any one trader with limited capital and limited attention actually captured.
Why it works — or doesn't: the EP carries it, the Breakout is weak
The headline +2.79% per trade conceals a decisive split between the two setups:
| Setup | n | Hit rate | Avg. per trade | Median | Payoff |
|---|---|---|---|---|---|
| Episodic Pivot | 2,843 | 48.2% | +3.89% | -0.31% | 2.84 |
| Breakout | 1,557 | 41.0% | +0.79% | -1.37% | 2.01 |
The Episodic Pivot carries essentially the entire positive result of this study. The classic Breakout — the setup Kullamagi himself calls his "bread and butter" — is on its own barely more than a wash after costs: an average of +0.79% against a negative median of -1.37% means more than half of Breakout trades finish at a loss, and the positive average hangs on a small number of large outliers.
A plausible reason for the gap lies in the nature of the two signals. The Episodic Pivot reacts to a concrete, immediately measurable event — a gap on triple volume, usually news-driven. That clarity translates onto daily data almost as precisely as the original. The Breakout, by contrast, depends on a more subjective pattern — a "tightening range," "higher lows," a base that consolidates the "right" way. That same imprecision shows up again in the cross-check below: the Breakout's base criteria are the weakest match against the original examples.
Liquidity sensitivity: the $3 million filter costs signals, not edge
The recipe requires an average daily dollar volume of at least $3 million over 20 days — a compromise across several secondary sources, not an original figure from Kullamagi himself. We therefore ran the filter as a sensitivity:
| Liquidity filter | Trades | Hit rate | Avg. per trade | Median |
|---|---|---|---|---|
| No filter | 10,654 | 43.4% | +3.58% | -1.08% |
| ≥ $1M dollar volume | 5,928 | 45.7% | +2.96% | -0.65% |
| ≥ $3M dollar volume (recipe) | 4,400 | 45.7% | +2.79% | -0.63% |
The edge stays in the same range across all three stages — the average return runs between +2.79% and +3.58%, never anywhere near zero. What stands out is the direction: with no liquidity filter at all, the average actually rises (more highly volatile micro-caps enter the signal set and pull the mean up), but the median gets worse at the same time, from -0.63% to -1.08%, and the concentration on a handful of outliers increases (the best 5% then deliver 92% instead of 80% of the cumulative return). The recipe's $3 million filter therefore costs tradeable signals without improving the edge — but it makes the result more even and practically tradeable, something a pure average can easily obscure.
Checking the recipe against the originals
Before running the full-universe scan, we checked our rule set against 283 precisely dated examples from the 1,212-chart collection, 271 of them fully evaluable (257 Breakout, 14 Episodic Pivot) — specifically: how many of the follower's own reference examples actually satisfy the criteria we derived from Kullamagi's descriptions?
| Criterion | Match rate |
|---|---|
| Gap ≥ 10% (Episodic Pivot, n = 5 of 14 evaluable) | 100.0% |
| Raw price ≥ $1 (Breakout) | 94.9% |
| Moving-average positioning | 90.7% |
| Price run-up ≥ 30% within ≤ 63 days | 81.7% |
| Volume ≥ 3x (Episodic Pivot, n = 5 of 14 evaluable) | 80.0% |
| ADR ≥ 4% (Breakout) | 78.6% |
| Base duration 10-42 days (Breakout) | 37.0% |
| Dollar volume ≥ $3M (Breakout) | 37.0% |
| Base depth ≤ 25% (Breakout) | 34.6% |
| All core criteria at once (Breakout, n = 257) | 1.9% |
The picture splits in two. The "hard," unambiguously measurable criteria — price run-up, moving-average positioning, minimum price, the ADR threshold — match roughly 79-95% of examples. That confirms the basic direction of our rule translation is right. The "soft," consolidation-based criteria — how long the base runs, how deep it goes, and especially the liquidity filter — match only around 35-37% of the time. And requiring every core criterion of a Breakout example to hold at once leaves just five of 257 checked examples standing — 1.9%.
That does not mean our rule set is wrong. It means the example collection a follower assembled is looser than the binding recipe used for this backtest — particularly on the liquidity filter, which many of the historical examples clearly fall short of (median dollar volume across all 271 checked examples is around $1.1 million; among the examples that fail the filter it is only about $168,000, often well below that before the year 2000). That is a hint that Kullamagi himself judges more flexibly in practice than his written rules suggest, and it is why we consistently report results with and without a relaxed liquidity filter, as shown above.
Limitations of this study
Four caveats belong in any honest reading of this result:
- Daily data instead of intraday. Kullamagi by his own description enters and exits on 1-, 5-, and 60-minute candles — "enter on the opening range highs." A backtest on daily bars can only approximate that (entry on the breakout day, stop at the day's low), not exactly reproduce it. Every rule translated this way is individually flagged as an approximation in our rule documentation.
- The ADR threshold comes from secondary sources. The 4% threshold for average daily trading range comes from secondary sources, not a documented original statement by Kullamagi himself; community implementations of his scan instead use 5% — we ran that as a check: hit rate and expectancy stay nearly unchanged (46.0%, +3.33% per trade).
- Self-reported track record. As noted above, Kullamagi's personal trading success is not independently audited. This study tests the rules he published against historical market data — not his actual, individual trades.
- The example collection is looser than the recipe (see above) — a sign that the exact calibration of the base criteria (duration, depth, liquidity) leaves interpretive room that different traders would likely fill differently.
Both setups run as their own daily-updated scanners, with the same per-setup numbers shown here: Qullamaggie: Momentum Breakout Scanner and Qullamaggie: Episodic Pivot Scanner. Our other backtest studies — including The Bankruptcy Trio as a Short Strategy — live in Studies.
Figures as of 6 August 2026.
This article is a historical analysis of publicly described trading rules and not investment advice. It contains no buy or sell recommendation, no forecast, and no statement about any individual company listed today. Past results — whether simulated or real — are not a reliable indicator of future returns. Anyone making investment decisions should assess their own situation and risks, if in doubt with professional advice.
Frequently Asked Questions
A Swedish momentum swing trader who started in 2011 with several small accounts of $3,000 to $5,000, some of which he says he blew up before the approach worked. By around 2021 he had reached eight figures, later stated to be over $100 million in trading profit. For 2013-2019 he cites his own annual return of 268%, with a hit rate of only 25% in 2019 and around 35% in 2020 — the profit comes not from being right most of the time, but from the few winning trades being enormous. The track record is self-reported and made plausible through broker screenshots across more than 400 live streams, but it is not independently audited.
Two of his three publicly described setups: the momentum Breakout out of a tight consolidation following a price advance of at least 30%, and the Episodic Pivot — a gap of at least 10% on triple average volume, usually triggered by news. The third strategy, the Parabolic Short, was not part of this backtest. Every rule is taken either verbatim or as a clearly flagged translation from Kullamagi's own published material.
Positive, but unevenly distributed: 4,400 trades from 1976 through 2026 produced an average return of +2.79% per trade after costs, at a 45.7% hit rate. Ten independent random baselines run through the same test were mostly negative, between -0.3% and -0.9%. A portfolio simulation since 1993 returns a 15.6% annual return against 7.0% for the S&P 500.
The Episodic Pivot averages +3.89% per trade (2,843 trades); the classic Breakout alone averages only +0.79%, with a negative median of -1.37% (1,557 trades). A plausible explanation: the Episodic Pivot reacts to a concrete news trigger with immediately measurable volume, which daily data can capture almost as precisely as the original intraday rule. The Breakout depends on a more subjective pattern — a base that is "tightening" correctly — which is harder to pin down on daily bars than with the intraday confirmation Kullamagi himself uses.
The strategy lives on outliers. Ranking all 4,400 trades by return, the best 5% alone (roughly 220 trades) account for 80% of the total cumulative return; the best 1% already account for 32%. Anyone who misses a disproportionate share of those few big winners — through late entries, early exits, or simply which names they picked from the signal set — ends up with a materially weaker result than the average shown here.
Mixed. Checked against 271 fully evaluable examples from a 1,212-chart collection compiled by a follower, individual criteria such as the price run-up (82%), moving-average positioning (91%), or the ADR threshold (79%) match well. Base duration, base depth, and especially the $3 million liquidity filter match only around 35-37% of the examples — and requiring every core criterion of a Breakout example to hold at once leaves just 1.9% standing. The example collection is looser than the binding recipe.
The backtest runs on daily bars, while Kullamagi himself enters and exits on 1-, 5-, and 60-minute candles — "enter on the opening range highs" — so every entry and stop rule is flagged as a conservative approximation. The 4% ADR threshold comes from secondary sources, not a documented original figure. And Kullamagi's own track record, which originally inspired these setups, is self-reported and not independently audited. This backtest tests the published rules, not the man.