qbuntuqbuntu

Momentum × Volume Interaction (JP All Stocks)

slug: momentum-volume-jp-all
performance summary
Sharpe (median)
-0.09
Max DD
-20.9%
Win rate
Alpha (ann.)
p-value
0.57
backtest period: 2022-05-022026-02-02
Sharpe across 160 grid runs:median -0.09best 0.76 (not representative)worst -1.71p25–p75 -0.380.14

Hypothesis

Lee & Swaminathan (2000): volume confirms momentum quality. Testing on the full Japanese stock universe.

Why it didn't work

Across 160 grid combinations, median Sharpe=-0.09, best=0.76. Primary failure mode: no_edge.

Facts (5)

Best grid Sharpe ratio is 0.76 (p=0.14).
period 2022-05-02–2026-02-02; cost=5bps
sharpe_ratio0.76
Median Sharpe across 160 grid runs is -0.09.
Full grid of 160 parameter combinations.
sharpe_ratio-0.09
Median Sharpe in DOWN regime is 0.38 across 160 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
sharpe_ratio0.38
Median Sharpe in FLAT regime is -0.11 across 160 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
sharpe_ratio-0.11
Median Sharpe in UP regime is 0.07 across 160 runs.
Regime=UP, N225 SMA20/SMA60 classification.
sharpe_ratio0.07

Runs (30)

runparamssharpeUPFLATDOWN
formation_days=20, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-momentum-volume-jp-all-0000
cost_bps: 5
n_stocks: 5
regime_gate: false
+0.26+0.25+0.25+0.43
formation_days=20, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=True
r-momentum-volume-jp-all-0001
cost_bps: 5
n_stocks: 5
regime_gate: true
+0.45+1.16+0.25+0.43
formation_days=20, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=False
r-momentum-volume-jp-all-0002
cost_bps: 10
n_stocks: 5
regime_gate: false
+0.07+0.09+0.06-0.02
formation_days=20, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=True
r-momentum-volume-jp-all-0003
cost_bps: 10
n_stocks: 5
regime_gate: true
+0.27+1.06+0.06-0.02
formation_days=20, holding_days=1, n_stocks=10, cost_bps=5, regime_gate=False
r-momentum-volume-jp-all-0004
cost_bps: 5
n_stocks: 10
regime_gate: false
+0.04+0.39-0.02-1.83
formation_days=20, holding_days=5, n_stocks=5, cost_bps=10, regime_gate=False
r-momentum-volume-jp-all-0018
cost_bps: 10
n_stocks: 5
regime_gate: false
+0.04+0.00+0.19-3.77
formation_days=20, holding_days=10, n_stocks=5, cost_bps=5, regime_gate=False
r-momentum-volume-jp-all-0032
cost_bps: 5
n_stocks: 5
regime_gate: false
+0.67+0.76+0.89-3.08
formation_days=20, holding_days=10, n_stocks=5, cost_bps=5, regime_gate=True
r-momentum-volume-jp-all-0033
cost_bps: 5
n_stocks: 5
regime_gate: true
+0.76+1.08+0.89-3.08
formation_days=20, holding_days=10, n_stocks=10, cost_bps=10, regime_gate=True
r-momentum-volume-jp-all-0039
cost_bps: 10
n_stocks: 10
regime_gate: true
+0.45+0.84+0.42-1.74
formation_days=20, holding_days=20, n_stocks=10, cost_bps=5, regime_gate=True
r-momentum-volume-jp-all-0053
cost_bps: 5
n_stocks: 10
regime_gate: true
+0.37+1.00+0.04+1.83
formation_days=20, holding_days=60, n_stocks=5, cost_bps=5, regime_gate=False
r-momentum-volume-jp-all-0064
cost_bps: 5
n_stocks: 5
regime_gate: false
+0.17+0.47-0.06+0.93
formation_days=20, holding_days=60, n_stocks=10, cost_bps=5, regime_gate=False
r-momentum-volume-jp-all-0068
cost_bps: 5
n_stocks: 10
regime_gate: false
+0.28+0.31+0.01+2.26
formation_days=60, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=False
r-momentum-volume-jp-all-0082
cost_bps: 10
n_stocks: 5
regime_gate: false
-0.28-0.69-0.17+1.49
formation_days=60, holding_days=5, n_stocks=5, cost_bps=5, regime_gate=False
r-momentum-volume-jp-all-0096
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.30-0.63-0.09-0.30
formation_days=60, holding_days=5, n_stocks=10, cost_bps=10, regime_gate=False
r-momentum-volume-jp-all-0102
cost_bps: 10
n_stocks: 10
regime_gate: false
-0.36-0.56-0.14-3.40
formation_days=60, holding_days=10, n_stocks=10, cost_bps=5, regime_gate=False
r-momentum-volume-jp-all-0116
cost_bps: 5
n_stocks: 10
regime_gate: false
-0.36+0.24-0.68-2.82
formation_days=60, holding_days=20, n_stocks=5, cost_bps=10, regime_gate=False
r-momentum-volume-jp-all-0130
cost_bps: 10
n_stocks: 5
regime_gate: false
+0.07+0.12-0.11+2.31
formation_days=60, holding_days=60, n_stocks=5, cost_bps=5, regime_gate=False
r-momentum-volume-jp-all-0144
cost_bps: 5
n_stocks: 5
regime_gate: false
+0.20+0.70-0.08+0.50
formation_days=60, holding_days=60, n_stocks=10, cost_bps=10, regime_gate=False
r-momentum-volume-jp-all-0150
cost_bps: 10
n_stocks: 10
regime_gate: false
-0.12+1.04-0.58+0.76
formation_days=120, holding_days=1, n_stocks=10, cost_bps=5, regime_gate=False
r-momentum-volume-jp-all-0164
cost_bps: 5
n_stocks: 10
regime_gate: false
-0.34-3.02+0.15+3.10
formation_days=120, holding_days=5, n_stocks=5, cost_bps=10, regime_gate=False
r-momentum-volume-jp-all-0178
cost_bps: 10
n_stocks: 5
regime_gate: false
-0.35-1.37+0.22-1.80
formation_days=120, holding_days=10, n_stocks=5, cost_bps=5, regime_gate=False
r-momentum-volume-jp-all-0192
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.37-1.08-0.20+1.40
formation_days=120, holding_days=10, n_stocks=10, cost_bps=10, regime_gate=False
r-momentum-volume-jp-all-0198
cost_bps: 10
n_stocks: 10
regime_gate: false
-0.35-0.76-0.09-1.70
formation_days=120, holding_days=20, n_stocks=10, cost_bps=5, regime_gate=False
r-momentum-volume-jp-all-0212
cost_bps: 5
n_stocks: 10
regime_gate: false
-0.20+0.20-0.45+0.51
formation_days=120, holding_days=60, n_stocks=5, cost_bps=10, regime_gate=False
r-momentum-volume-jp-all-0226
cost_bps: 10
n_stocks: 5
regime_gate: false
-0.38-1.37-0.41+1.11
formation_days=250, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-momentum-volume-jp-all-0240
cost_bps: 5
n_stocks: 5
regime_gate: false
-1.34-3.61-0.60+1.05
formation_days=250, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=True
r-momentum-volume-jp-all-0241
cost_bps: 5
n_stocks: 5
regime_gate: true
-0.72-1.69-0.60+1.05
formation_days=250, holding_days=1, n_stocks=10, cost_bps=10, regime_gate=False
r-momentum-volume-jp-all-0246
cost_bps: 10
n_stocks: 10
regime_gate: false
-1.71-2.97-1.48+0.59
formation_days=250, holding_days=5, n_stocks=5, cost_bps=5, regime_gate=False
r-momentum-volume-jp-all-0256
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.89-2.48+0.16-0.24
formation_days=250, holding_days=5, n_stocks=10, cost_bps=10, regime_gate=False
r-momentum-volume-jp-all-0262
cost_bps: 10
n_stocks: 10
regime_gate: false
-0.96-1.89-0.36-1.24

Target universe

Tokyo Stock Exchange all listed (Prime/Standard/Growth), ~3747 stocks

Related strategies

source: qbuntu-analysis · kabu STATION REST API + J-Quants daily bars
computed asof: 2026-07-30T01:21:19

Related strategies