A 2023 research paper titled “VWAP: The Holy Grail for Day Trading Systems” makes a striking claim: a simple rule that stays long above the VWAP and short below it turned $25,000 into $192,656 on QQQ over five years — a 671% return at a 2.1 Sharpe ratio, with a maximum drawdown of just 9.4%. Run on the 3×-leveraged TQQQ, the same rule returns 8,242%.
“Since we initiated our system with a small account of only $25,000, we assumed no slippage in our order fills.”— Zarattini & Aziz (2023), “VWAP: The Holy Grail for Day Trading Systems” · SSRN 4631351 ↗
That one sentence is the whole result. We coded the strategy exactly as the paper specifies, reproduced its numbers on six years of 1-minute data, and then charged it the one cost the authors left out: a single tick of slippage.
Four rules, stated verbatim in section 3 of the paper.
Before testing the strategy, we had to be sure our version was the paper’s version. The cleanest check is the passive benchmark: a buy-and-hold of QQQ over the same dates has a known Sharpe ratio and drawdown, so if our framework reproduces those exactly, the data and the accounting are correct. It does — to the decimal. The strategy’s own risk numbers land in the same place too.
| Metric | Paper (QQQ) | Our reproduction |
|---|---|---|
| Strategy — Sharpe ratio | 2.1 | 1.91 |
| Strategy — volatility | 18% | 17.5% |
| Strategy — max drawdown | 9.4% | 9.9% |
| Buy & hold — Sharpe ratio | 0.70 | 0.70 |
| Buy & hold — max drawdown | 35.6% | 35.6% |
The buy-and-hold Sharpe and drawdown match exactly, on data from a different vendor — strong evidence the engine is faithful. Our total return comes in below the paper’s 671% because we are missing the first four months of 2018, which compound through the whole series; the risk-adjusted figures, which do not depend on the length of the window, reproduce cleanly. In other words, the strategy is coded correctly, and at zero slippage it does exactly what the paper says.
The strategy reverses every time a one-minute candle closes back through the VWAP. On a typical day that happens about fifteen times — the position flips long-to-short-to-long throughout the session. Over the full test that is more than forty thousand fills.
Every one of those fills has to actually get executed at a real price. The paper assumes it always gets the exact price the model asks for — zero slippage. That is the assumption doing the work. To see why it matters, you have to see how thin the edge is: the average trade earns about two and a half cents per share before costs, and one tick — the smallest amount a price can move — is a single penny.
We did not pick a punishing number. We charged the strategy one tick — the smallest amount a price is allowed to move, a single penny on QQQ. It is the least any real order can cost, and it is the smallest slippage a platform like TradingView will even let you apply. You cannot be more generous than one tick.
If anything it flatters the strategy. One tick ignores the extra slippage a system like this eats trading into fast markets — and it trades right into the volatile open. It ignores the borrow cost on every short (half the trades are shorts), and the exchange and regulatory fees on every fill. One tick is the floor. And the floor is all it takes.
We kept the paper’s own commission and changed one thing: we added a single tick of slippage — one penny — to every fill. Nothing else. Here is what that one tick does to the same strategy, over the same six years.
| Slippage | QQQ Sharpe | QQQ return | TQQQ return |
|---|---|---|---|
| None — the paper’s assumption | 1.91 | +458% | +4,643% |
| One tick — a single penny per fill | 0.10 | +1% | −99% |
The leverage makes it starker. On TQQQ the no-slippage curve compounds to more than 4,600%; add the same single tick of slippage and it gives back almost everything — a near-total wipeout.
Two natural rebuttals, both of which we tested. First: trade less often. Running the same rules on 5-minute candles halves the number of reversals — but the coarser signal is also weaker, so the two effects cancel, and at a realistic cost the slower version still trails a passive buy-and-hold.
Second: maybe the VWAP itself is special. The paper argues it beats ordinary moving averages. It does — but only because it changes the position least often, and therefore pays slippage least often. At zero slippage a plain moving average produces a similar result; once costs are charged, VWAP survives longest for the same reason everything else fails, which is turnover. The line is not carrying institutional information. It is carrying the lowest trade count.
If paying to get filled is what kills it, the obvious fix is to stop chasing the price: rest a passive limit order at the VWAP and wait for your price instead of taking whatever the market gives you. We tested that too. Even at zero cost — assuming every passive order fills for free, the best case a limit order could ever offer — the strategy loses money.
| Execution, both at zero cost | QQQ return | TQQQ return |
|---|---|---|
| Market order — chase the confirmed signal | +458% | +4,643% |
| Passive limit resting at the VWAP | −46% | −95% |
The signal and the passive fill are incompatible. The rule fires when a candle closes through the VWAP — that close is the confirmation. But by the time the candle has closed, price is already past the line, so acting on the confirmed signal means chasing it with a market order. Rest a passive limit at the VWAP instead and it fills the instant price touches the line, before any confirmation: QQQ touches its VWAP about twenty-seven times a day but only closes through it about fifteen, so the passive version trades the noise and gets whipsawed.
And the strategy’s entire profit is a thin tail. The best five percent of trades produce roughly six times the net result; the other ninety-five percent lose money together. Those few winners are the trend days, when price breaks the VWAP and runs without coming back — which is exactly the fill a resting limit never gets. Passive orders keep you in the losing chop and drop you from the winning trends. The confirmation that makes the signal work is the same thing that forces you to chase the price and eat the slippage.
The paper was published in November 2023. Everything up to that point was in-sample for the authors — the period they studied and wrote up. The years since are a clean out-of-sample window they never saw and could not have fit to, which is the most honest test a strategy can face. So we ran it forward to September 2026.
Even at the paper’s own zero-slippage assumption, the QQQ strategy’s Sharpe ratio fell from 1.91 to 0.63 — the edge faded before a single cost was charged. Over those same three years it returned 28% while simply holding QQQ returned 100%. Once one tick of slippage is applied it is flat to negative, and the leveraged TQQQ version loses most of its value.
| Since publication (Oct 2023 – Sep 2026) | QQQ return | TQQQ return |
|---|---|---|
| Strategy — no slippage (the paper’s assumption) | +28% | +16% |
| Strategy — with one tick of slippage | +2% | −82% |
| Simply holding the ETF | +100% | +304% |
We are careful not to overclaim here. Part of the fade is the market regime: this strategy does its best work in high-volatility years — its strongest returns came in the 2020 and 2022 turmoil — and the years since have been a calmer, trending market that gives an intraday reversal system less to work with. So we do not claim publication arbitraged the edge away. What we can say plainly is that even ignoring every cost, the strategy has not come close to its headline numbers since the paper appeared, and after one tick of slippage it is flat to negative.
We reproduced both, exactly, under the paper’s assumptions. The moment the strategy pays a single tick of slippage on QQQ — one penny, the smallest cost there is — the numbers change.
The signal is real; it is simply too small to survive its own trading costs. It earns about two and a half cents a share and gives back a penny of slippage fifteen times a day. It breaks even at one tick on QQQ, and at under half a tick on TQQQ.
Coded exactly as the paper specifies and reproduced to the decimal at zero slippage, VWAP trend trading is a genuine but microscopic signal that is entirely consumed by a single tick of slippage. Its published performance is a measure of the cost the model left out, not of an edge a trader could keep.
A strategy is only as good as the price you actually get. Reproduce this one honestly, charge it a single tick of slippage — the smallest cost there is — and the holy grail disappears.
← Back to all studiesThe same honest test — real slippage, real costs — applied to what we sell: edges that survive their own costs, on your TradingView charts.
View our strategies