qbuntuqbuntu
rejectedregime_dependent· equity· anomaly· factor· volume

Volume Anomaly (JP Growth Stocks)

slug: volume-anomaly-jp-growth
performance summary
Sharpe (median)
-0.03
Max DD
-44.1%
Win rate
Alpha (ann.)
p-value
0.58
backtest period: 2022-02-012026-06-01
Sharpe across 689 grid runs:median -0.03best 0.84 (not representative)worst -1.48p25–p75 -0.290.23

Hypothesis

Campbell, Grossman, Wang (1993): abnormal volume spikes predict subsequent price drift or reversal. High volume + positive return signals momentum continuation; high volume + negative return signals overreaction. Tests momentum, reversal, and volume-only directions.

Why it didn't work

Across 689 grid combinations, median Sharpe=-0.03, best=0.84. Primary failure mode: regime_dependent.

Facts (7)

Average monthly return correlation with other strategies in DOWN regime: 0.07
Pairwise Pearson correlation of monthly returns across 42 strategies, filtered to DOWN regime months (N=3, N225 < SMA20 < SMA60)
correlation0.07
Average monthly return correlation with other strategies (full period): 0.13
Pairwise Pearson correlation of monthly returns across 42 strategies, full backtest period
correlation0.13
Best grid Sharpe ratio is 0.84 (p=0.096).
period 2022-02-01–2026-06-01; cost=5bps
sharpe_ratio0.84
Median Sharpe across 689 grid runs is -0.03.
Full grid of 689 parameter combinations.
sharpe_ratio-0.03
Median Sharpe in DOWN regime is -0.86 across 689 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
sharpe_ratio-0.86
Median Sharpe in FLAT regime is -0.16 across 689 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
sharpe_ratio-0.16
Median Sharpe in UP regime is 0.27 across 689 runs.
Regime=UP, N225 SMA20/SMA60 classification.
sharpe_ratio0.27

Runs (30)

runparamssharpeUPFLATDOWN
volume_lookback=5, volume_threshold=1.5, holding_days=1, direction=momentum, cost_bps=5, regime_gate=False
r-volume-anomaly-jp-growth-0000
cost_bps: 5
direction: "momentum"
regime_gate: false
-0.21-0.68-0.02-1.19
volume_lookback=5, volume_threshold=1.5, holding_days=1, direction=momentum, cost_bps=5, regime_gate=True
r-volume-anomaly-jp-growth-0001
cost_bps: 5
direction: "momentum"
regime_gate: true
-0.44-1.06-0.02-1.19
volume_lookback=5, volume_threshold=1.5, holding_days=1, direction=momentum, cost_bps=10, regime_gate=False
r-volume-anomaly-jp-growth-0002
cost_bps: 10
direction: "momentum"
regime_gate: false
-0.42-0.89-0.22-1.64
volume_lookback=5, volume_threshold=1.5, holding_days=1, direction=momentum, cost_bps=10, regime_gate=True
r-volume-anomaly-jp-growth-0003
cost_bps: 10
direction: "momentum"
regime_gate: true
-0.59-1.16-0.22-1.64
volume_lookback=5, volume_threshold=1.5, holding_days=1, direction=vol_only, cost_bps=5, regime_gate=False
r-volume-anomaly-jp-growth-0008
cost_bps: 5
direction: "vol_only"
regime_gate: false
-1.19-1.45-1.10-2.13
volume_lookback=5, volume_threshold=1.5, holding_days=20, direction=momentum, cost_bps=5, regime_gate=False
r-volume-anomaly-jp-growth-0036
cost_bps: 5
direction: "momentum"
regime_gate: false
+0.41+0.10+0.61-0.77
volume_lookback=5, volume_threshold=1.5, holding_days=20, direction=momentum, cost_bps=5, regime_gate=True
r-volume-anomaly-jp-growth-0037
cost_bps: 5
direction: "momentum"
regime_gate: true
+0.31+0.01+0.61-0.77
volume_lookback=5, volume_threshold=2, holding_days=5, direction=vol_only, cost_bps=5, regime_gate=True
r-volume-anomaly-jp-growth-0069
cost_bps: 5
direction: "vol_only"
regime_gate: true
-0.19+0.86-0.34-2.51
volume_lookback=5, volume_threshold=3, holding_days=1, direction=reversal, cost_bps=5, regime_gate=True
r-volume-anomaly-jp-growth-0101
cost_bps: 5
direction: "reversal"
regime_gate: true
-0.65-0.98-0.46-2.79
volume_lookback=5, volume_threshold=3, holding_days=20, direction=momentum, cost_bps=5, regime_gate=True
r-volume-anomaly-jp-growth-0133
cost_bps: 5
direction: "momentum"
regime_gate: true
+0.16+0.79-0.27-0.86
volume_lookback=5, volume_threshold=5, holding_days=1, direction=momentum, cost_bps=5, regime_gate=False
r-volume-anomaly-jp-growth-0144
cost_bps: 5
direction: "momentum"
regime_gate: false
-0.08-0.28-0.03+0.25
volume_lookback=5, volume_threshold=5, holding_days=10, direction=momentum, cost_bps=10, regime_gate=True
r-volume-anomaly-jp-growth-0171
cost_bps: 10
direction: "momentum"
regime_gate: true
+0.06+0.80-0.60-1.16
volume_lookback=5, volume_threshold=5, holding_days=20, direction=reversal, cost_bps=5, regime_gate=False
r-volume-anomaly-jp-growth-0184
cost_bps: 5
direction: "reversal"
regime_gate: false
+0.84+0.02+0.94+2.48
volume_lookback=10, volume_threshold=1.5, holding_days=5, direction=momentum, cost_bps=10, regime_gate=False
r-volume-anomaly-jp-growth-0206
cost_bps: 10
direction: "momentum"
regime_gate: false
-0.11+0.32-0.26-2.55
volume_lookback=10, volume_threshold=1.5, holding_days=20, direction=vol_only, cost_bps=10, regime_gate=False
r-volume-anomaly-jp-growth-0238
cost_bps: 10
direction: "vol_only"
regime_gate: false
-0.34+0.17-0.41-2.19
volume_lookback=10, volume_threshold=2, holding_days=1, direction=vol_only, cost_bps=10, regime_gate=False
r-volume-anomaly-jp-growth-0250
cost_bps: 10
direction: "vol_only"
regime_gate: false
-1.48-1.23-1.43-3.83
volume_lookback=10, volume_threshold=2, holding_days=10, direction=reversal, cost_bps=10, regime_gate=True
r-volume-anomaly-jp-growth-0271
cost_bps: 10
direction: "reversal"
regime_gate: true
+0.13+0.06+0.25-1.11
volume_lookback=10, volume_threshold=3, holding_days=5, direction=reversal, cost_bps=10, regime_gate=True
r-volume-anomaly-jp-growth-0307
cost_bps: 10
direction: "reversal"
regime_gate: true
+0.01+0.52-0.18-1.40
volume_lookback=10, volume_threshold=5, holding_days=1, direction=reversal, cost_bps=10, regime_gate=True
r-volume-anomaly-jp-growth-0343
cost_bps: 10
direction: "reversal"
regime_gate: true
+0.19+0.40+0.11-0.31
volume_lookback=20, volume_threshold=1.5, holding_days=1, direction=reversal, cost_bps=10, regime_gate=True
r-volume-anomaly-jp-growth-0391
cost_bps: 10
direction: "reversal"
regime_gate: true
+0.14-0.24+0.38+0.09
volume_lookback=20, volume_threshold=1.5, holding_days=20, direction=momentum, cost_bps=10, regime_gate=True
r-volume-anomaly-jp-growth-0423
cost_bps: 10
direction: "momentum"
regime_gate: true
+0.18+0.22+0.26-3.46
volume_lookback=20, volume_threshold=2, holding_days=5, direction=vol_only, cost_bps=10, regime_gate=True
r-volume-anomaly-jp-growth-0455
cost_bps: 10
direction: "vol_only"
regime_gate: true
-0.75+0.60-0.98-3.96
volume_lookback=20, volume_threshold=3, holding_days=1, direction=reversal, cost_bps=10, regime_gate=True
r-volume-anomaly-jp-growth-0487
cost_bps: 10
direction: "reversal"
regime_gate: true
-0.19-0.84+0.10+0.24
volume_lookback=20, volume_threshold=3, holding_days=20, direction=vol_only, cost_bps=10, regime_gate=True
r-volume-anomaly-jp-growth-0527
cost_bps: 10
direction: "vol_only"
regime_gate: true
-0.29-0.17-0.11-5.33
volume_lookback=20, volume_threshold=5, holding_days=20, direction=reversal, cost_bps=10, regime_gate=True
r-volume-anomaly-jp-growth-0571
cost_bps: 10
direction: "reversal"
regime_gate: true
+0.59+1.12+0.39+0.46
volume_lookback=60, volume_threshold=1.5, holding_days=1, direction=momentum, cost_bps=5, regime_gate=False
r-volume-anomaly-jp-growth-0576
cost_bps: 5
direction: "momentum"
regime_gate: false
-0.66+0.05-0.95+0.13
volume_lookback=60, volume_threshold=1.5, holding_days=10, direction=vol_only, cost_bps=5, regime_gate=False
r-volume-anomaly-jp-growth-0608
cost_bps: 5
direction: "vol_only"
regime_gate: false
-0.21+0.44-0.35-3.16
volume_lookback=60, volume_threshold=2, holding_days=5, direction=vol_only, cost_bps=5, regime_gate=False
r-volume-anomaly-jp-growth-0644
cost_bps: 5
direction: "vol_only"
regime_gate: false
-0.81+0.58-1.17-3.01
volume_lookback=60, volume_threshold=3, holding_days=1, direction=reversal, cost_bps=5, regime_gate=False
r-volume-anomaly-jp-growth-0676
cost_bps: 5
direction: "reversal"
regime_gate: false
+0.12-0.83+0.56-0.80
volume_lookback=60, volume_threshold=5, holding_days=1, direction=momentum, cost_bps=5, regime_gate=False
r-volume-anomaly-jp-growth-0720
cost_bps: 5
direction: "momentum"
regime_gate: false
-0.81-0.16-1.04-0.26

Target universe

Tokyo Stock Exchange Growth Market, ~495 stocks, tv >= 30M JPY
source: qbuntu-analysis · kabu STATION REST API + J-Quants daily bars
computed asof: 2026-07-28T01:10:32

Related strategies