qbuntuqbuntu

歪度アノマリー(東証全銘柄)のバックテスト

Skewness Anomaly (JP All Stocks)

slug: skewness-anomaly-jp-all

東証全銘柄(約3,747銘柄)で歪度アノマリーをバックテストした。160通りの中央値 Sharpe は -0.56。p-value は 0.22。Max DD は -32.5%。期間は 2022-02-01〜2026-09-01。最良 Sharpe +0.27 は代表値ではない。

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

成績の中央値

Sharpe(中央値)
-0.56
Max DD
-32.5%
勝率
—
Alpha(年率)
—
p-value
0.22
期間: 2022-02-01 → 2026-09-01
160通りの Sharpe:中央値 -0.56最良 0.27 (代表値ではない)最悪 -1.50p25–p75 -0.96–-0.17

仮説

原文は英語。

Boyer, Mitton, Vorkink (2010): stocks with high expected skewness earn lower returns. Testing on the full Japanese stock universe.

採用しなかった理由

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

検証ファクト (5)

Best grid Sharpe ratio is 0.27 (p=0.56).
period 2022-02-01–2026-09-01; cost=5bps
sharpe_ratio0.27
Median Sharpe across 160 grid runs is -0.56.
Full grid of 160 parameter combinations.
sharpe_ratio-0.56
Median Sharpe in DOWN regime is -0.44 across 160 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
sharpe_ratio-0.44
Median Sharpe in FLAT regime is -0.47 across 160 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
sharpe_ratio-0.47
Median Sharpe in UP regime is -0.94 across 160 runs.
Regime=UP, N225 SMA20/SMA60 classification.
sharpe_ratio-0.94

検証ラン (30)

runparamssharpeUPFLATDOWN
formation_days=20, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-skewness-anomaly-jp-all-0000
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.49-1.46+0.03-1.24
formation_days=20, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=True
r-skewness-anomaly-jp-all-0001
cost_bps: 5
n_stocks: 5
regime_gate: true
-0.36-1.19+0.03-1.24
formation_days=20, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=False
r-skewness-anomaly-jp-all-0002
cost_bps: 10
n_stocks: 5
regime_gate: false
-0.75-1.65-0.27-1.54
formation_days=20, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=True
r-skewness-anomaly-jp-all-0003
cost_bps: 10
n_stocks: 5
regime_gate: true
-0.61-1.31-0.27-1.54
formation_days=20, holding_days=1, n_stocks=10, cost_bps=5, regime_gate=False
r-skewness-anomaly-jp-all-0004
cost_bps: 5
n_stocks: 10
regime_gate: false
-0.31-0.90-0.25+2.33
formation_days=20, holding_days=5, n_stocks=5, cost_bps=10, regime_gate=False
r-skewness-anomaly-jp-all-0018
cost_bps: 10
n_stocks: 5
regime_gate: false
-1.17-1.97-0.86-0.42
formation_days=20, holding_days=10, n_stocks=5, cost_bps=5, regime_gate=False
r-skewness-anomaly-jp-all-0032
cost_bps: 5
n_stocks: 5
regime_gate: false
-1.24-2.42-0.72-2.51
formation_days=20, holding_days=10, n_stocks=10, cost_bps=10, regime_gate=False
r-skewness-anomaly-jp-all-0038
cost_bps: 10
n_stocks: 10
regime_gate: false
-1.08-2.35-0.61-1.26
formation_days=20, holding_days=20, n_stocks=10, cost_bps=5, regime_gate=False
r-skewness-anomaly-jp-all-0052
cost_bps: 5
n_stocks: 10
regime_gate: false
-0.86-2.54-0.43-0.45
formation_days=20, holding_days=60, n_stocks=5, cost_bps=5, regime_gate=False
r-skewness-anomaly-jp-all-0064
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.13+0.10-0.47+1.17
formation_days=20, holding_days=60, n_stocks=5, cost_bps=10, regime_gate=True
r-skewness-anomaly-jp-all-0067
cost_bps: 10
n_stocks: 5
regime_gate: true
-0.20-0.06-0.51+1.15
formation_days=40, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=True
r-skewness-anomaly-jp-all-0081
cost_bps: 5
n_stocks: 5
regime_gate: true
-0.68-1.25-0.71+8.92
formation_days=40, holding_days=1, n_stocks=10, cost_bps=10, regime_gate=True
r-skewness-anomaly-jp-all-0087
cost_bps: 10
n_stocks: 10
regime_gate: true
-0.22-0.95+0.04+0.91
formation_days=40, holding_days=5, n_stocks=10, cost_bps=5, regime_gate=True
r-skewness-anomaly-jp-all-0101
cost_bps: 5
n_stocks: 10
regime_gate: true
-0.43-0.55-0.56+1.34
formation_days=40, holding_days=10, n_stocks=5, cost_bps=10, regime_gate=True
r-skewness-anomaly-jp-all-0115
cost_bps: 10
n_stocks: 5
regime_gate: true
-0.56-0.82-0.46-0.42
formation_days=40, holding_days=20, n_stocks=5, cost_bps=5, regime_gate=True
r-skewness-anomaly-jp-all-0129
cost_bps: 5
n_stocks: 5
regime_gate: true
-0.04-0.95+0.17+1.17
formation_days=40, holding_days=20, n_stocks=10, cost_bps=10, regime_gate=True
r-skewness-anomaly-jp-all-0135
cost_bps: 10
n_stocks: 10
regime_gate: true
-0.46-0.36-0.42-1.82
formation_days=40, holding_days=60, n_stocks=10, cost_bps=5, regime_gate=True
r-skewness-anomaly-jp-all-0149
cost_bps: 5
n_stocks: 10
regime_gate: true
-0.02+0.31-0.17-0.46
formation_days=60, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=True
r-skewness-anomaly-jp-all-0163
cost_bps: 10
n_stocks: 5
regime_gate: true
-1.08-1.47-0.98-0.14
formation_days=60, holding_days=5, n_stocks=5, cost_bps=5, regime_gate=True
r-skewness-anomaly-jp-all-0177
cost_bps: 5
n_stocks: 5
regime_gate: true
-0.49-0.38-0.49-0.70
formation_days=60, holding_days=5, n_stocks=10, cost_bps=10, regime_gate=True
r-skewness-anomaly-jp-all-0183
cost_bps: 10
n_stocks: 10
regime_gate: true
-0.54-0.54-0.67+1.08
formation_days=60, holding_days=10, n_stocks=5, cost_bps=5, regime_gate=True
r-skewness-anomaly-jp-all-0193
cost_bps: 5
n_stocks: 5
regime_gate: true
+0.27+0.15+0.56-2.28
formation_days=60, holding_days=10, n_stocks=10, cost_bps=10, regime_gate=False
r-skewness-anomaly-jp-all-0198
cost_bps: 10
n_stocks: 10
regime_gate: false
-0.39-1.30+0.08-1.42
formation_days=60, holding_days=20, n_stocks=10, cost_bps=5, regime_gate=False
r-skewness-anomaly-jp-all-0212
cost_bps: 5
n_stocks: 10
regime_gate: false
-0.32-1.24+0.10-0.74
formation_days=60, holding_days=60, n_stocks=5, cost_bps=10, regime_gate=False
r-skewness-anomaly-jp-all-0226
cost_bps: 10
n_stocks: 5
regime_gate: false
-0.17-0.30-0.12-0.14
formation_days=120, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-skewness-anomaly-jp-all-0240
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.98-1.40-0.63-9.91
formation_days=120, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=True
r-skewness-anomaly-jp-all-0241
cost_bps: 5
n_stocks: 5
regime_gate: true
-0.81-0.72-0.63-9.91
formation_days=120, holding_days=1, n_stocks=10, cost_bps=10, regime_gate=True
r-skewness-anomaly-jp-all-0247
cost_bps: 10
n_stocks: 10
regime_gate: true
-0.76-0.63-0.88-0.10
formation_days=120, holding_days=5, n_stocks=5, cost_bps=10, regime_gate=False
r-skewness-anomaly-jp-all-0258
cost_bps: 10
n_stocks: 5
regime_gate: false
-1.50-1.48-1.65-2.93
formation_days=120, holding_days=5, n_stocks=10, cost_bps=10, regime_gate=False
r-skewness-anomaly-jp-all-0262
cost_bps: 10
n_stocks: 10
regime_gate: false
-0.99-1.40-0.94+0.42

対象ユニバース

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

関連する戦略

source: qbuntu-analysis · kabu STATION REST API + J-Quants daily bars
computed asof: 2026-09-24T02:22:21

関連する戦略