qbuntuqbuntu

Skewness Anomaly (JP All Stocks)

slug: skewness-anomaly-jp-all
performance summary
Sharpe (median)
-0.56
Max DD
-28.4%
Win rate
Alpha (ann.)
p-value
0.25
backtest period: 2022-02-012026-02-02
Sharpe across 160 grid runs:median -0.56best 0.24 (not representative)worst -1.74p25–p75 -0.97-0.21

Hypothesis

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

Why it didn't work

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

Facts (5)

Best grid Sharpe ratio is 0.24 (p=0.64).
period 2022-02-01–2026-02-02; cost=5bps
sharpe_ratio0.24
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.46 across 160 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
sharpe_ratio-0.46
Median Sharpe in UP regime is -0.95 across 160 runs.
Regime=UP, N225 SMA20/SMA60 classification.
sharpe_ratio-0.95

Runs (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.69-1.84-0.15-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.41-0.98-0.15-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.95-2.03-0.46-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.69-1.11-0.46-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.63-1.89-0.47+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.24-2.18-0.96-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.26-2.71-0.73-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.20-2.58-0.76-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.90-3.15-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.25-0.29-0.50+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.29-0.36-0.54+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.41-0.68-0.56+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.08-0.96+0.17+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.39-0.09-0.66+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.52+0.14-0.71-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.05-0.55+0.15+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.28-0.50-0.11-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.06+0.02-0.05-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
-0.81-0.97-0.78-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.47+0.22-0.64-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.50-0.10-0.75+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.24+0.41+0.44-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.64-3.24+0.12-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.56-4.38+0.20-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.26-1.10-0.05-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.94-2.40-0.33-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.61-0.83-0.33-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.45-0.30-0.53-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.74-2.15-1.67-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
-1.13-1.97-0.93+0.42

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-08-01T07:31:00

Related strategies