qbuntuqbuntu
rejectedno_edge· equity· factor· momentum· time-series

Time-Series Momentum (JP All Stocks)

slug: ts-momentum-jp-all
performance summary
Sharpe (median)
-0.19
Max DD
-25.3%
Win rate
Alpha (ann.)
p-value
0.51
backtest period: 2022-03-012026-02-02
Sharpe across 120 grid runs:median -0.19best 1.09 (not representative)worst -1.45p25–p75 -0.500.13

Hypothesis

Moskowitz, Ooi, Pedersen (2012): each stock's own past return predicts its future return. Testing time-series momentum on the full Japanese stock universe.

Why it didn't work

Across 120 grid combinations, median Sharpe=-0.19, best=1.09. Primary failure mode: no_edge.

Facts (5)

Best grid Sharpe ratio is 1.09 (p=0.032).
period 2022-03-01–2026-02-02; cost=5bps
sharpe_ratio1.09
Median Sharpe across 120 grid runs is -0.19.
Full grid of 120 parameter combinations.
sharpe_ratio-0.19
Median Sharpe in DOWN regime is 0.18 across 120 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
sharpe_ratio0.18
Median Sharpe in FLAT regime is -0.28 across 120 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
sharpe_ratio-0.28
Median Sharpe in UP regime is 0.16 across 120 runs.
Regime=UP, N225 SMA20/SMA60 classification.
sharpe_ratio0.16

Runs (30)

runparamssharpeUPFLATDOWN
formation_days=20, holding_days=1, threshold_pct=0, cost_bps=5
r-ts-momentum-jp-all-0000
cost_bps: 5
holding_days: 1
threshold_pct: 0
+0.57+1.74+0.21+0.41
formation_days=20, holding_days=1, threshold_pct=0, cost_bps=10
r-ts-momentum-jp-all-0001
cost_bps: 10
holding_days: 1
threshold_pct: 0
+0.25+1.44-0.11+0.12
formation_days=20, holding_days=1, threshold_pct=0.05, cost_bps=5
r-ts-momentum-jp-all-0002
cost_bps: 5
holding_days: 1
threshold_pct: 0.05
+0.49+1.10+0.36-0.01
formation_days=20, holding_days=1, threshold_pct=0.1, cost_bps=5
r-ts-momentum-jp-all-0004
cost_bps: 5
holding_days: 1
threshold_pct: 0.1
+0.04+0.71-0.01-1.35
formation_days=20, holding_days=5, threshold_pct=0, cost_bps=5
r-ts-momentum-jp-all-0006
cost_bps: 5
holding_days: 5
threshold_pct: 0
+1.09+2.39+0.61+1.18
formation_days=20, holding_days=5, threshold_pct=0.05, cost_bps=5
r-ts-momentum-jp-all-0008
cost_bps: 5
holding_days: 5
threshold_pct: 0.05
+0.66+1.96+0.22-0.01
formation_days=20, holding_days=10, threshold_pct=0, cost_bps=5
r-ts-momentum-jp-all-0012
cost_bps: 5
holding_days: 10
threshold_pct: 0
+0.44+2.73-0.10+0.35
formation_days=20, holding_days=10, threshold_pct=0.1, cost_bps=5
r-ts-momentum-jp-all-0016
cost_bps: 5
holding_days: 10
threshold_pct: 0.1
+0.32+2.17-0.23+0.75
formation_days=20, holding_days=20, threshold_pct=0.05, cost_bps=5
r-ts-momentum-jp-all-0020
cost_bps: 5
holding_days: 20
threshold_pct: 0.05
+0.23+2.38-0.72+0.04
formation_days=20, holding_days=60, threshold_pct=0, cost_bps=5
r-ts-momentum-jp-all-0024
cost_bps: 5
holding_days: 60
threshold_pct: 0
-0.03+2.13-0.43+0.22
formation_days=20, holding_days=60, threshold_pct=0, cost_bps=10
r-ts-momentum-jp-all-0025
cost_bps: 10
holding_days: 60
threshold_pct: 0
-0.06+2.08-0.46+0.20
formation_days=20, holding_days=60, threshold_pct=0.1, cost_bps=10
r-ts-momentum-jp-all-0029
cost_bps: 10
holding_days: 60
threshold_pct: 0.1
+0.06+1.80-0.28+1.06
formation_days=60, holding_days=1, threshold_pct=0.05, cost_bps=10
r-ts-momentum-jp-all-0033
cost_bps: 10
holding_days: 1
threshold_pct: 0.05
-0.64+2.12-1.21-1.33
formation_days=60, holding_days=5, threshold_pct=0, cost_bps=10
r-ts-momentum-jp-all-0037
cost_bps: 10
holding_days: 5
threshold_pct: 0
+0.14+0.34+0.05+0.68
formation_days=60, holding_days=5, threshold_pct=0.1, cost_bps=10
r-ts-momentum-jp-all-0041
cost_bps: 10
holding_days: 5
threshold_pct: 0.1
+0.31+0.43+0.35-1.47
formation_days=60, holding_days=10, threshold_pct=0.05, cost_bps=10
r-ts-momentum-jp-all-0045
cost_bps: 10
holding_days: 10
threshold_pct: 0.05
+0.02+0.67-0.26+2.46
formation_days=60, holding_days=20, threshold_pct=0, cost_bps=10
r-ts-momentum-jp-all-0049
cost_bps: 10
holding_days: 20
threshold_pct: 0
0.00+0.89-0.43+6.57
formation_days=60, holding_days=20, threshold_pct=0.1, cost_bps=10
r-ts-momentum-jp-all-0053
cost_bps: 10
holding_days: 20
threshold_pct: 0.1
+0.17+1.44-0.27+9.08
formation_days=60, holding_days=60, threshold_pct=0.05, cost_bps=10
r-ts-momentum-jp-all-0057
cost_bps: 10
holding_days: 60
threshold_pct: 0.05
-0.49+0.31-0.79+0.33
formation_days=120, holding_days=1, threshold_pct=0, cost_bps=10
r-ts-momentum-jp-all-0061
cost_bps: 10
holding_days: 1
threshold_pct: 0
-1.45-2.04-1.39-0.66
formation_days=120, holding_days=1, threshold_pct=0.05, cost_bps=5
r-ts-momentum-jp-all-0062
cost_bps: 5
holding_days: 1
threshold_pct: 0.05
-1.01-1.39-1.00-0.47
formation_days=120, holding_days=5, threshold_pct=0, cost_bps=5
r-ts-momentum-jp-all-0066
cost_bps: 5
holding_days: 5
threshold_pct: 0
-0.56-1.02-0.28-1.77
formation_days=120, holding_days=5, threshold_pct=0.1, cost_bps=5
r-ts-momentum-jp-all-0070
cost_bps: 5
holding_days: 5
threshold_pct: 0.1
-0.24-0.65+0.04-1.21
formation_days=120, holding_days=10, threshold_pct=0.05, cost_bps=5
r-ts-momentum-jp-all-0074
cost_bps: 5
holding_days: 10
threshold_pct: 0.05
-0.16-0.30-0.30+2.47
formation_days=120, holding_days=20, threshold_pct=0, cost_bps=5
r-ts-momentum-jp-all-0078
cost_bps: 5
holding_days: 20
threshold_pct: 0
-0.75+0.02-1.38+6.76
formation_days=120, holding_days=20, threshold_pct=0.1, cost_bps=5
r-ts-momentum-jp-all-0082
cost_bps: 5
holding_days: 20
threshold_pct: 0.1
-0.51-0.31-1.10+5.17
formation_days=120, holding_days=60, threshold_pct=0.05, cost_bps=5
r-ts-momentum-jp-all-0086
cost_bps: 5
holding_days: 60
threshold_pct: 0.05
-0.79-0.70-1.10+0.41
formation_days=250, holding_days=1, threshold_pct=0, cost_bps=5
r-ts-momentum-jp-all-0090
cost_bps: 5
holding_days: 1
threshold_pct: 0
-0.64-0.73-0.70+0.20
formation_days=250, holding_days=1, threshold_pct=0, cost_bps=10
r-ts-momentum-jp-all-0091
cost_bps: 10
holding_days: 1
threshold_pct: 0
-0.98-1.15-1.01-0.11
formation_days=250, holding_days=1, threshold_pct=0.1, cost_bps=10
r-ts-momentum-jp-all-0095
cost_bps: 10
holding_days: 1
threshold_pct: 0.1
-1.19-2.21-0.92-0.06

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-28T01:10:24

Related strategies