VWAP Strategies
Notes
- 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.
- 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. - 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.
- 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.
- 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.
- Paper: Volume Weighted Average Price (VWAP): The Holy Grail for Day Trading Systems, Carlo Zarattini and Andrew Aziz (2023).