qbuntuqbuntu

Mean Reversion (JP All Stocks)

slug: mean-reversion-jp-all
performance summary
Sharpe (median)
-0.36
Max DD
-22.3%
Win rate
Alpha (ann.)
p-value
0.43
backtest period: 2022-02-012026-02-02
Sharpe across 512 grid runs:median -0.36best 0.67 (not representative)worst -1.54p25–p75 -0.62-0.12

Hypothesis

Stocks deviating from fair value revert to the mean. Testing 4 mean-reversion indicators on the full Japanese stock universe.

Why it didn't work

Across 512 grid combinations, median Sharpe=-0.36, best=0.67. Primary failure mode: no_edge.

Facts (7)

Average monthly return correlation with other strategies in DOWN regime: 0.19
Pairwise Pearson correlation of monthly returns across 42 strategies, filtered to DOWN regime months (N=3, N225 < SMA20 < SMA60)
correlation0.19
Average monthly return correlation with other strategies (full period): 0.04
Pairwise Pearson correlation of monthly returns across 42 strategies, full backtest period
correlation0.04
Best grid Sharpe ratio is 0.67 (p=0.18).
period 2022-02-01–2026-02-02; cost=5bps
sharpe_ratio0.67
Median Sharpe across 512 grid runs is -0.36.
Full grid of 512 parameter combinations.
sharpe_ratio-0.36
Median Sharpe in DOWN regime is -1.27 across 512 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
sharpe_ratio-1.27
Median Sharpe in FLAT regime is -0.31 across 512 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
sharpe_ratio-0.31
Median Sharpe in UP regime is -0.59 across 512 runs.
Regime=UP, N225 SMA20/SMA60 classification.
sharpe_ratio-0.59

Runs (30)

runparamssharpeUPFLATDOWN
indicator=zscore, lookback=10, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-mean-reversion-jp-all-0000
cost_bps: 5
lookback: 10
n_stocks: 5
-0.78-0.72-0.75-1.52
indicator=zscore, lookback=10, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=True
r-mean-reversion-jp-all-0001
cost_bps: 5
lookback: 10
n_stocks: 5
-0.78-0.69-0.75-1.52
indicator=zscore, lookback=10, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=False
r-mean-reversion-jp-all-0002
cost_bps: 10
lookback: 10
n_stocks: 5
-1.03-0.91-1.02-1.86
indicator=zscore, lookback=10, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=True
r-mean-reversion-jp-all-0003
cost_bps: 10
lookback: 10
n_stocks: 5
-1.04-0.88-1.02-1.86
indicator=zscore, lookback=10, holding_days=1, n_stocks=10, cost_bps=5, regime_gate=False
r-mean-reversion-jp-all-0004
cost_bps: 5
lookback: 10
n_stocks: 10
-0.88-1.54-0.56-2.35
indicator=zscore, lookback=10, holding_days=20, n_stocks=5, cost_bps=5, regime_gate=False
r-mean-reversion-jp-all-0048
cost_bps: 5
lookback: 10
n_stocks: 5
+0.14-0.18+0.24+0.22
indicator=zscore, lookback=10, holding_days=20, n_stocks=10, cost_bps=5, regime_gate=False
r-mean-reversion-jp-all-0052
cost_bps: 5
lookback: 10
n_stocks: 10
-0.21-1.34+0.25-1.04
indicator=zscore, lookback=20, holding_days=10, n_stocks=5, cost_bps=10, regime_gate=True
r-mean-reversion-jp-all-0099
cost_bps: 10
lookback: 20
n_stocks: 5
-0.78-1.66-0.59-1.67
indicator=zscore, lookback=40, holding_days=5, n_stocks=5, cost_bps=10, regime_gate=False
r-mean-reversion-jp-all-0146
cost_bps: 10
lookback: 40
n_stocks: 5
+0.10-0.57+0.42-0.76
indicator=zscore, lookback=60, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-mean-reversion-jp-all-0192
cost_bps: 5
lookback: 60
n_stocks: 5
-0.18-0.49-0.25+1.29
indicator=zscore, lookback=60, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=False
r-mean-reversion-jp-all-0194
cost_bps: 10
lookback: 60
n_stocks: 5
-0.40-0.83-0.45+1.07
indicator=zscore, lookback=60, holding_days=20, n_stocks=5, cost_bps=5, regime_gate=True
r-mean-reversion-jp-all-0241
cost_bps: 5
lookback: 60
n_stocks: 5
+0.50-0.34+0.87-3.22
indicator=rsi, lookback=10, holding_days=10, n_stocks=5, cost_bps=5, regime_gate=False
r-mean-reversion-jp-all-0288
cost_bps: 5
lookback: 10
n_stocks: 5
-0.30-1.11-0.14-0.94
indicator=rsi, lookback=20, holding_days=1, n_stocks=10, cost_bps=10, regime_gate=True
r-mean-reversion-jp-all-0327
cost_bps: 10
lookback: 20
n_stocks: 10
-0.82-0.55-0.90-0.37
indicator=rsi, lookback=20, holding_days=20, n_stocks=10, cost_bps=10, regime_gate=False
r-mean-reversion-jp-all-0374
cost_bps: 10
lookback: 20
n_stocks: 10
-0.55-3.00+0.12-0.22
indicator=rsi, lookback=40, holding_days=10, n_stocks=10, cost_bps=5, regime_gate=True
r-mean-reversion-jp-all-0421
cost_bps: 5
lookback: 40
n_stocks: 10
-0.07+0.34-0.10-0.76
indicator=rsi, lookback=60, holding_days=5, n_stocks=10, cost_bps=5, regime_gate=False
r-mean-reversion-jp-all-0468
cost_bps: 5
lookback: 60
n_stocks: 10
-0.28+0.41-0.58+0.57
indicator=bollinger_pct, lookback=10, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-mean-reversion-jp-all-0512
cost_bps: 5
lookback: 10
n_stocks: 5
-0.78-0.72-0.75-1.52
indicator=bollinger_pct, lookback=10, holding_days=1, n_stocks=10, cost_bps=5, regime_gate=False
r-mean-reversion-jp-all-0516
cost_bps: 5
lookback: 10
n_stocks: 10
-0.88-1.54-0.56-2.35
indicator=bollinger_pct, lookback=10, holding_days=20, n_stocks=5, cost_bps=10, regime_gate=True
r-mean-reversion-jp-all-0563
cost_bps: 10
lookback: 10
n_stocks: 5
+0.17+0.23+0.15+0.17
indicator=bollinger_pct, lookback=20, holding_days=10, n_stocks=5, cost_bps=10, regime_gate=False
r-mean-reversion-jp-all-0610
cost_bps: 10
lookback: 20
n_stocks: 5
-0.78-1.41-0.59-1.67
indicator=bollinger_pct, lookback=40, holding_days=5, n_stocks=5, cost_bps=5, regime_gate=True
r-mean-reversion-jp-all-0657
cost_bps: 5
lookback: 40
n_stocks: 5
+0.25-0.85+0.57-0.67
indicator=bollinger_pct, lookback=60, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-mean-reversion-jp-all-0704
cost_bps: 5
lookback: 60
n_stocks: 5
-0.18-0.49-0.25+1.29
indicator=bollinger_pct, lookback=60, holding_days=10, n_stocks=10, cost_bps=10, regime_gate=True
r-mean-reversion-jp-all-0743
cost_bps: 10
lookback: 60
n_stocks: 10
-0.40-0.23-0.31-1.53
indicator=mrs, lookback=10, holding_days=1, n_stocks=10, cost_bps=10, regime_gate=False
r-mean-reversion-jp-all-0774
cost_bps: 10
lookback: 10
n_stocks: 10
-1.54-1.78-1.66+0.92
indicator=mrs, lookback=10, holding_days=5, n_stocks=10, cost_bps=10, regime_gate=True
r-mean-reversion-jp-all-0791
cost_bps: 10
lookback: 10
n_stocks: 10
-0.15+1.12-0.77+1.31
indicator=mrs, lookback=20, holding_days=1, n_stocks=10, cost_bps=10, regime_gate=False
r-mean-reversion-jp-all-0838
cost_bps: 10
lookback: 20
n_stocks: 10
-1.44-1.49-1.33-2.38
indicator=mrs, lookback=20, holding_days=20, n_stocks=10, cost_bps=5, regime_gate=True
r-mean-reversion-jp-all-0885
cost_bps: 5
lookback: 20
n_stocks: 10
-0.18+0.31-0.12-7.27
indicator=mrs, lookback=40, holding_days=5, n_stocks=10, cost_bps=5, regime_gate=True
r-mean-reversion-jp-all-0917
cost_bps: 5
lookback: 40
n_stocks: 10
+0.67+1.93+0.54-11.55
indicator=mrs, lookback=40, holding_days=10, n_stocks=10, cost_bps=5, regime_gate=True
r-mean-reversion-jp-all-0933
cost_bps: 5
lookback: 40
n_stocks: 10
+0.54+1.66+0.62-5.37

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-27T03:37:08

Related strategies