qbuntuqbuntu
rejectedno_edge· equity· factor· reversal· skewness

歪度リバーサル(東証グロース)のバックテスト

Skewness Reversal (JP Growth Stocks)

slug: skewness-reversal-jp-growth

東証グロース(約495銘柄)で歪度リバーサルをバックテストした。144通りの中央値 Sharpe は -0.33。p-value は 0.42。Max DD は -13.5%。期間は 2022-02-01〜2026-09-01。最良 Sharpe +0.61 は代表値ではない。

判定は rejected。中央値は promising(Sharpe > 0.5 かつ p-value < 0.05)にも marginal(Sharpe > 0.05 かつ最良 p-value < 0.10)にも届いていない。主因は no_edge。レジーム・取引回数・コストには分類されず、中央値が採用ラインに届いていない。

成績の中央値

Sharpe(中央値)
-0.33
Max DD
-13.5%
勝率
—
Alpha(年率)
—
p-value
0.42
期間: 2022-02-01 → 2026-09-01
144通りの Sharpe:中央値 -0.33最良 0.61 (代表値ではない)最悪 -1.43p25–p75 -0.68–0.00

仮説

原文は英語。

Investors overpay for lottery-like positive skewness and shun negative skewness (Harvey & Siddique 2000 line): stocks with extreme recent return skewness should subsequently revert. Ranking on realized skewness tests the effect long/short.

採用しなかった理由

Across 144 grid combinations, median Sharpe=-0.33, best=0.61. Primary failure mode: no_edge.

検証ファクト (5)

Best grid Sharpe ratio is 0.61 (p=0.19).
period 2022-02-01–2026-09-01; cost=5bps
sharpe_ratio0.61
Median Sharpe across 144 grid runs is -0.33.
Full grid of 144 parameter combinations.
sharpe_ratio-0.33
Median Sharpe in DOWN regime is 1.10 across 144 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
sharpe_ratio1.10
Median Sharpe in FLAT regime is -0.43 across 144 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
sharpe_ratio-0.43
Median Sharpe in UP regime is -0.26 across 144 runs.
Regime=UP, N225 SMA20/SMA60 classification.
sharpe_ratio-0.26

検証ラン (30)

runparamssharpeUPFLATDOWN
lookback_days=20, n_stocks=5, cost_bps=5, regime_gate=False, holding_days=1
r-skewness-reversal-jp-growth-0000
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.25+0.79-0.64+3.48
lookback_days=20, n_stocks=5, cost_bps=5, regime_gate=False, holding_days=5
r-skewness-reversal-jp-growth-0001
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.13+1.34-0.75+1.22
lookback_days=20, n_stocks=5, cost_bps=5, regime_gate=False, holding_days=20
r-skewness-reversal-jp-growth-0002
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.73+1.37-1.24-5.89
lookback_days=20, n_stocks=5, cost_bps=5, regime_gate=True, holding_days=1
r-skewness-reversal-jp-growth-0003
cost_bps: 5
n_stocks: 5
regime_gate: true
-0.43-0.10-0.64+3.48
lookback_days=20, n_stocks=5, cost_bps=10, regime_gate=False, holding_days=1
r-skewness-reversal-jp-growth-0006
cost_bps: 10
n_stocks: 5
regime_gate: false
-0.44+0.55-0.83+3.09
lookback_days=20, n_stocks=5, cost_bps=10, regime_gate=True, holding_days=1
r-skewness-reversal-jp-growth-0009
cost_bps: 10
n_stocks: 5
regime_gate: true
-0.61-0.25-0.83+3.09
lookback_days=20, n_stocks=10, cost_bps=5, regime_gate=False, holding_days=20
r-skewness-reversal-jp-growth-0014
cost_bps: 5
n_stocks: 10
regime_gate: false
-0.61+0.01-0.80-2.42
lookback_days=20, n_stocks=10, cost_bps=10, regime_gate=False, holding_days=5
r-skewness-reversal-jp-growth-0019
cost_bps: 10
n_stocks: 10
regime_gate: false
-0.02-0.01-0.09+1.76
lookback_days=20, n_stocks=20, cost_bps=5, regime_gate=False, holding_days=1
r-skewness-reversal-jp-growth-0024
cost_bps: 5
n_stocks: 20
regime_gate: false
-0.32-0.26-0.37+0.33
lookback_days=20, n_stocks=20, cost_bps=5, regime_gate=True, holding_days=20
r-skewness-reversal-jp-growth-0029
cost_bps: 5
n_stocks: 20
regime_gate: true
-0.39-0.27-0.23-3.75
lookback_days=20, n_stocks=20, cost_bps=10, regime_gate=True, holding_days=5
r-skewness-reversal-jp-growth-0034
cost_bps: 10
n_stocks: 20
regime_gate: true
-0.08+0.62-0.12-0.96
lookback_days=20, n_stocks=50, cost_bps=5, regime_gate=False, holding_days=1
r-skewness-reversal-jp-growth-0036
cost_bps: 5
n_stocks: 50
regime_gate: false
-0.44-1.13-0.13-1.03
lookback_days=20, n_stocks=50, cost_bps=5, regime_gate=True, holding_days=5
r-skewness-reversal-jp-growth-0040
cost_bps: 5
n_stocks: 50
regime_gate: true
-0.10-0.39+0.09-1.17
lookback_days=20, n_stocks=50, cost_bps=10, regime_gate=True, holding_days=1
r-skewness-reversal-jp-growth-0045
cost_bps: 10
n_stocks: 50
regime_gate: true
-0.72-0.68-0.74-1.74
lookback_days=40, n_stocks=5, cost_bps=5, regime_gate=False, holding_days=20
r-skewness-reversal-jp-growth-0050
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.87+0.82-1.26-2.13
lookback_days=40, n_stocks=5, cost_bps=10, regime_gate=False, holding_days=5
r-skewness-reversal-jp-growth-0055
cost_bps: 10
n_stocks: 5
regime_gate: false
+0.12+1.01-0.21+1.10
lookback_days=40, n_stocks=10, cost_bps=5, regime_gate=False, holding_days=1
r-skewness-reversal-jp-growth-0060
cost_bps: 5
n_stocks: 10
regime_gate: false
+0.19-1.83+0.36+2.84
lookback_days=40, n_stocks=10, cost_bps=5, regime_gate=True, holding_days=20
r-skewness-reversal-jp-growth-0065
cost_bps: 5
n_stocks: 10
regime_gate: true
-1.36-2.05-1.33-2.57
lookback_days=40, n_stocks=10, cost_bps=10, regime_gate=True, holding_days=5
r-skewness-reversal-jp-growth-0070
cost_bps: 10
n_stocks: 10
regime_gate: true
-0.08-0.84-0.06+3.92
lookback_days=40, n_stocks=10, cost_bps=10, regime_gate=True, holding_days=20
r-skewness-reversal-jp-growth-0071
cost_bps: 10
n_stocks: 10
regime_gate: true
-1.43-2.17-1.40-2.71
lookback_days=40, n_stocks=20, cost_bps=5, regime_gate=True, holding_days=5
r-skewness-reversal-jp-growth-0076
cost_bps: 5
n_stocks: 20
regime_gate: true
-0.39-0.58-0.45+1.36
lookback_days=40, n_stocks=20, cost_bps=10, regime_gate=True, holding_days=1
r-skewness-reversal-jp-growth-0081
cost_bps: 10
n_stocks: 20
regime_gate: true
-0.34-1.28-0.20+1.58
lookback_days=40, n_stocks=50, cost_bps=5, regime_gate=False, holding_days=20
r-skewness-reversal-jp-growth-0086
cost_bps: 5
n_stocks: 50
regime_gate: false
-0.14+1.40-0.67+6.10
lookback_days=40, n_stocks=50, cost_bps=10, regime_gate=False, holding_days=5
r-skewness-reversal-jp-growth-0091
cost_bps: 10
n_stocks: 50
regime_gate: false
-0.17+0.19-0.47+7.95
lookback_days=60, n_stocks=5, cost_bps=5, regime_gate=False, holding_days=1
r-skewness-reversal-jp-growth-0096
cost_bps: 5
n_stocks: 5
regime_gate: false
+0.61+0.98+0.49+1.20
lookback_days=60, n_stocks=5, cost_bps=5, regime_gate=False, holding_days=5
r-skewness-reversal-jp-growth-0097
cost_bps: 5
n_stocks: 5
regime_gate: false
+0.34+1.32+0.03+0.43
lookback_days=60, n_stocks=5, cost_bps=10, regime_gate=False, holding_days=1
r-skewness-reversal-jp-growth-0102
cost_bps: 10
n_stocks: 5
regime_gate: false
+0.42+0.74+0.32+0.95
lookback_days=60, n_stocks=5, cost_bps=10, regime_gate=True, holding_days=20
r-skewness-reversal-jp-growth-0107
cost_bps: 10
n_stocks: 5
regime_gate: true
-0.80-0.33-0.92-0.86
lookback_days=60, n_stocks=10, cost_bps=5, regime_gate=True, holding_days=5
r-skewness-reversal-jp-growth-0112
cost_bps: 5
n_stocks: 10
regime_gate: true
+0.16-0.54+0.21+5.00
lookback_days=60, n_stocks=10, cost_bps=10, regime_gate=True, holding_days=1
r-skewness-reversal-jp-growth-0117
cost_bps: 10
n_stocks: 10
regime_gate: true
+0.18-0.20+0.13+2.14

対象ユニバース

Tokyo Stock Exchange Growth Market, ~495 stocks, tv >= 30M JPY

関連する戦略

source: qbuntu-analysis · kabu STATION REST API + J-Quants daily bars
computed asof: 2026-09-24T21:54:30

関連する戦略