VWAP Strategies

Notes

  1. The paper’s rule is replicated without look-ahead: each completed bar is compared with regular-session VWAP, then the position changes at the next bar’s open. A close above VWAP means long; below means short. No position survives the selected close.
  2. VWAP is reconstructed each session as cumulative ((high + low + close) / 3) × volume / cumulative volume. Premarket and postmarket bars are excluded. The no-trade band leaves the strategy flat while price is within the selected number of basis points of VWAP; zero reproduces the paper.
  3. Returns use 100% of current equity with fractional shares. Costs are charged per side; a reversal has two sides. The displayed annual trade count scales the observed entries to 252 sessions. Per-order minimums, caps, and exchange or regulatory fees are not modeled. The paper assumes $0.0005/share and no slippage—both unusually favorable, so the controls make the assumptions visible.
  4. Massive one-minute QQQ history in this database begins in April 2021, not January 2018. The displayed period is therefore an out-of-sample-ish partial replication, not a reproduction of the paper’s 2018–2023 headline. Prices are raw historical prices; no dividends or borrow fees are included.
  5. The sensitivity scan changes one assumption at a time and ranks net Sharpe. It is a sensitivity check, not evidence that the highest-ranked setting will persist. Many nearby profitable settings are more persuasive than one isolated optimum.
  6. Paper: Volume Weighted Average Price (VWAP): The Holy Grail for Day Trading Systems, Carlo Zarattini and Andrew Aziz (2023).