Tickfloor

Does the VWAP and 9 EMA strategy work? We backtested it

Neither version passed. The trend version made -48.6% a year before costs and -99.1% after, and beat 0 of 200 random copies. The reclaim version made money before costs (32.3% a year) and lost it all to costs (-73.5%).

What people say

VWAP, the volume-weighted average price of the day, is pitched as the line institutions trade around. The popular setups pair it with a fast 9-period EMA: be long when price is above both, short when below both, or buy the moment price reclaims VWAP and ride it until it loses the 9 EMA.

110 posts in five trading subreddits mentioned VWAP between 1 September and 5 October 2026. On YouTube, Mind Math Money's "Stop Guessing Entries. Use This VWAP Trading Strategy Instead." passed 82,000 views in five weeks, and BrandonTrades' "Ultimate VWAP Strategy for Day Trading" passed 17,000.

What we tested

Day traders run this on 1 to 5 minute stock and futures charts. Our harness has hourly crypto with real exchange volume, so VWAP is computed the proper way, from price and volume, restarting each UTC day. We wrote down two versions and the pass bar before running, and add one VWAP rule from an earlier batch.

Results

VersionMarket (assets)TradesRule, a year (after costs)Benchmark, a yearAhead or behind, a yearSame, before costsRandom copies beatenpq (all tests)
Long above session VWAP and the 9 EMA, short below bothcrypto (8)100,047-99.1%84.7%-183.8 pts-133.3 pts0%1.001.00
VWAP reclaim, long only, exit on a close below the 9 EMAcrypto (8)39,677-73.5%84.7%-158.2 pts-52.4 pts20%1.001.00
Bounce off a rolling 20-hour VWAP (earlier run)crypto (8)16,833-49.8%84.7%-134.5 pts-85.8 pts2%1.001.00
  • Long above session VWAP and the 9 EMA, short below both
    Market (assets)
    crypto (8)
    Trades
    100,047
    Rule, a year (after costs)
    -99.1%
    Benchmark, a year
    84.7%
    Ahead or behind, a year
    -183.8 pts
    Same, before costs
    -133.3 pts
    Random copies beaten
    0%
    p
    1.00
    q (all tests)
    1.00
  • VWAP reclaim, long only, exit on a close below the 9 EMA
    Market (assets)
    crypto (8)
    Trades
    39,677
    Rule, a year (after costs)
    -73.5%
    Benchmark, a year
    84.7%
    Ahead or behind, a year
    -158.2 pts
    Same, before costs
    -52.4 pts
    Random copies beaten
    20%
    p
    1.00
    q (all tests)
    1.00
  • Bounce off a rolling 20-hour VWAP (earlier run)
    Market (assets)
    crypto (8)
    Trades
    16,833
    Rule, a year (after costs)
    -49.8%
    Benchmark, a year
    84.7%
    Ahead or behind, a year
    -134.5 pts
    Same, before costs
    -85.8 pts
    Random copies beaten
    2%
    p
    1.00
    q (all tests)
    1.00

One thing to know before reading the numbers. The benchmark is always fully invested, and from 2017 to early 2025 crypto rose a lot, so any rule that spends much of its time in cash trails it by a wide margin almost automatically. That is why we also compare each rule with 200 copies of itself: the same number of trades, the same holding times and the same costs, moved to random dates. Those copies are in the market exactly as much as the rule is, so they answer the fairer question: did the rule pick better moments than chance? The trend version is in the market most of the time, long or short, so its gap to the benchmark is about trading, not about sitting out.

VWAP plus 9 EMA: growth of $1 against the benchmark$0.0001$0.0011c10c$1$10$10020182019202020212022202320242025
Solid: Long above session VWAP and the 9 EMA, short below both, ends at $0. Dashed: equal-weight benchmark of the same assets, ends at $104. Growth of $1 after costs, log scale.
VWAP plus 9 EMA: result against 200 random-date copies-183-182-181-180-179This rule -184 pts
Grey bars: 200 copies of the rule with the same trades moved to random dates (same lengths, same costs). Axis: percentage points a year ahead of (+) or behind (-) the benchmark. The rule beat 0 of 200.

The trend version sits to the left of every grey bars: random copies with the same trades did better.

What costs do to it

Crypto pays 0.10% a side plus a measured slippage for each coin; US stocks and ETFs pay 0.05% a side. The cost is charged every time the position changes, including a flip from long to short. This is where VWAP rules fall over. The trend version changed position 100,047 times in about seven and a half years across 8 coins, roughly every few hours. The reclaim version, which only buys, was positive before costs at 32.3% a year (the basket made 84.7%), and 39,677 trades of fees and slippage took it to -73.5%.

Why it did not hold up

VWAP is a useful reference for judging your own fills, which is what large traders use it for. As a signal, crossing it is common and mostly noise: price goes back and forth across a slow-moving average many times a day.

Adding the 9 EMA cuts some of the noise but not enough to pay for the trading. Every flip pays the spread and the fee, and the rule flips a lot.

The reclaim version looked better before costs, but it still trailed the basket it was trading, and it trailed it by more after costs. A rule that only works with free trading does not work.

What a beginner should take away

Try it yourself

The Lab has no VWAP, but it can test the 9 EMA half of this on daily bars: on QQQ, set the entry to price crosses above ema(9) and the exit to price crosses below ema(9). Watch how many trades it makes and what the costs do.

The Lab tests one rule on one stock, fills at the next open and compares against holding that stock after costs, so its number will not match the basket results above.

A pass opens every course lesson, the full research tabs and more Lab runs on all 50 Lab stocks. It does not include trade signals or a system that wins.

Receipt: data, costs, files
Engine
Tickfloor research harness (research/hunt2), the one behind the published strategy registry
Pre-registration
docs/research/trending-1005/prereg.md, committed before any new run
Window
2017-08-17 to 2025-03-14 for the best-faith version; data stops before 2025-03-15 (later data is held back)
Cells
tr5-vwap-ema9-trend, tr5-vwap-reclaim-ema9-exit, social-ta-vwap-bounce (earlier run, reused)
Multiple testing
q is Benjamini-Hochberg over all 719 tests in the published family, these included
Result files
docs/research/trending-1005/results.json and charts.json (Tickfloor's private repo)
Limits and caveats

Limits

The setups are usually traded on 1 to 5 minute stock charts. We tested hourly crypto, which trades 24 hours, so VWAP restarts at midnight UTC rather than at the 9:30 open.

Exits are on hourly closes.

Shorts pay no borrowing or funding cost here.

General information only. It doesn't consider your objectives, finances or needs. Tickfloor holds no financial services licence and never places trades.

Short answers (FAQ)

Does trading VWAP work?

The VWAP rules we tested did not pass after costs. One made money before costs and lost it to trading costs.

Why use crypto to test a stock strategy?

It is the intraday data our research harness has, and it has real exchange volume to build VWAP from. Stock and futures results could differ.

Is this advice?

No. It reports what happened to a set of rules in the past. General information only.

How we set the rules, costs and pass bar before running anything: the Tickfloor testing standard. The wider record is on the evidence page.