qbuntuqbuntu
rejectedregime_dependent· equity· factor· fundamental· growth

売上成長率ランキング(東証グロース)のバックテスト

Sales Growth Rank (JP Growth Stocks)

slug: sales-growth-rank-jp-growth

東証グロース(約495銘柄)で売上成長率ランキングをバックテストした。48通りの中央値 Sharpe は -0.17。p-value は 0.41。Max DD は -8.9%。期間は 2025-01-06〜2026-09-01。最良 Sharpe +1.06 は代表値ではない。

判定は rejected。中央値は promising(Sharpe > 0.5 かつ p-value < 0.05)にも marginal(Sharpe > 0.05 かつ最良 p-value < 0.10)にも届いていない。上昇・横ばい・下落で結果が割れ、中央値としては安定しない。

成績の中央値

Sharpe(中央値)
-0.17
Max DD
-8.9%
勝率
—
Alpha(年率)
—
p-value
0.41
期間: 2025-01-06 → 2026-09-01
48通りの Sharpe:中央値 -0.17最良 1.06 (代表値ではない)最悪 -1.36p25–p75 -0.58–0.67

仮説

原文は英語。

Top-line growth is the simplest growth signal retail screens sort on; ranking on year-over-year sales growth tests whether revenue growth alone predicts returns, or is already priced in (the classic growth-factor disappointment).

採用しなかった理由

Across 48 grid combinations, median Sharpe=-0.17, best=1.06. Primary failure mode: regime_dependent.

検証ファクト (5)

Best grid Sharpe ratio is 1.06 (p=0.19).
period 2025-01-06–2026-09-01; cost=5bps
sharpe_ratio1.06
Median Sharpe across 48 grid runs is -0.17.
Full grid of 48 parameter combinations.
sharpe_ratio-0.17
Median Sharpe in DOWN regime is 7.47 across 48 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
sharpe_ratio7.47
Median Sharpe in FLAT regime is -0.53 across 48 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
sharpe_ratio-0.53
Median Sharpe in UP regime is -0.59 across 48 runs.
Regime=UP, N225 SMA20/SMA60 classification.
sharpe_ratio-0.59

検証ラン (30)

runparamssharpeUPFLATDOWN
n_stocks=5, cost_bps=5, regime_gate=False, holding_days=1
r-sales-growth-rank-jp-growth-0000
cost_bps: 5
n_stocks: 5
regime_gate: false
+0.89+2.11+0.40+3.47
n_stocks=5, cost_bps=5, regime_gate=False, holding_days=5
r-sales-growth-rank-jp-growth-0001
cost_bps: 5
n_stocks: 5
regime_gate: false
+0.30+0.52-0.24+3.08
n_stocks=5, cost_bps=5, regime_gate=False, holding_days=20
r-sales-growth-rank-jp-growth-0002
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.73-0.97-1.18+21.12
n_stocks=5, cost_bps=5, regime_gate=True, holding_days=1
r-sales-growth-rank-jp-growth-0003
cost_bps: 5
n_stocks: 5
regime_gate: true
+0.17-0.36+0.40+3.47
n_stocks=5, cost_bps=5, regime_gate=True, holding_days=5
r-sales-growth-rank-jp-growth-0004
cost_bps: 5
n_stocks: 5
regime_gate: true
+0.75+2.63-0.24+3.08
n_stocks=5, cost_bps=5, regime_gate=True, holding_days=20
r-sales-growth-rank-jp-growth-0005
cost_bps: 5
n_stocks: 5
regime_gate: true
-0.76-0.99-1.18+21.12
n_stocks=5, cost_bps=10, regime_gate=False, holding_days=1
r-sales-growth-rank-jp-growth-0006
cost_bps: 10
n_stocks: 5
regime_gate: false
+0.65+1.67+0.21+3.04
n_stocks=5, cost_bps=10, regime_gate=False, holding_days=5
r-sales-growth-rank-jp-growth-0007
cost_bps: 10
n_stocks: 5
regime_gate: false
+0.20+0.40-0.33+2.99
n_stocks=5, cost_bps=10, regime_gate=False, holding_days=20
r-sales-growth-rank-jp-growth-0008
cost_bps: 10
n_stocks: 5
regime_gate: false
-0.78-1.04-1.22+20.68
n_stocks=5, cost_bps=10, regime_gate=True, holding_days=1
r-sales-growth-rank-jp-growth-0009
cost_bps: 10
n_stocks: 5
regime_gate: true
+0.03-0.44+0.21+3.04
n_stocks=5, cost_bps=10, regime_gate=True, holding_days=5
r-sales-growth-rank-jp-growth-0010
cost_bps: 10
n_stocks: 5
regime_gate: true
+0.67+2.55-0.33+2.99
n_stocks=5, cost_bps=10, regime_gate=True, holding_days=20
r-sales-growth-rank-jp-growth-0011
cost_bps: 10
n_stocks: 5
regime_gate: true
-0.80-1.01-1.22+20.68
n_stocks=10, cost_bps=5, regime_gate=False, holding_days=1
r-sales-growth-rank-jp-growth-0012
cost_bps: 5
n_stocks: 10
regime_gate: false
0.00+0.33-0.60+6.36
n_stocks=10, cost_bps=5, regime_gate=False, holding_days=5
r-sales-growth-rank-jp-growth-0013
cost_bps: 5
n_stocks: 10
regime_gate: false
+0.81+1.60-0.13+18.61
n_stocks=10, cost_bps=5, regime_gate=False, holding_days=20
r-sales-growth-rank-jp-growth-0014
cost_bps: 5
n_stocks: 10
regime_gate: false
+0.07+0.39-0.53+44.40
n_stocks=10, cost_bps=5, regime_gate=True, holding_days=1
r-sales-growth-rank-jp-growth-0015
cost_bps: 5
n_stocks: 10
regime_gate: true
-0.44-0.85-0.60+6.36
n_stocks=10, cost_bps=5, regime_gate=True, holding_days=5
r-sales-growth-rank-jp-growth-0016
cost_bps: 5
n_stocks: 10
regime_gate: true
+0.95+1.86-0.13+18.61
n_stocks=10, cost_bps=5, regime_gate=True, holding_days=20
r-sales-growth-rank-jp-growth-0017
cost_bps: 5
n_stocks: 10
regime_gate: true
-0.42-1.08-0.53+44.40
n_stocks=10, cost_bps=10, regime_gate=False, holding_days=1
r-sales-growth-rank-jp-growth-0018
cost_bps: 10
n_stocks: 10
regime_gate: false
-0.29-0.22-0.84+5.81
n_stocks=10, cost_bps=10, regime_gate=False, holding_days=5
r-sales-growth-rank-jp-growth-0019
cost_bps: 10
n_stocks: 10
regime_gate: false
+0.67+1.41-0.25+18.05
n_stocks=10, cost_bps=10, regime_gate=False, holding_days=20
r-sales-growth-rank-jp-growth-0020
cost_bps: 10
n_stocks: 10
regime_gate: false
-0.01+0.25-0.60+43.32
n_stocks=10, cost_bps=10, regime_gate=True, holding_days=1
r-sales-growth-rank-jp-growth-0021
cost_bps: 10
n_stocks: 10
regime_gate: true
-0.61-0.93-0.84+5.81
n_stocks=10, cost_bps=10, regime_gate=True, holding_days=5
r-sales-growth-rank-jp-growth-0022
cost_bps: 10
n_stocks: 10
regime_gate: true
+0.84+1.79-0.25+18.05
n_stocks=10, cost_bps=10, regime_gate=True, holding_days=20
r-sales-growth-rank-jp-growth-0023
cost_bps: 10
n_stocks: 10
regime_gate: true
-0.47-1.11-0.60+43.32
n_stocks=20, cost_bps=5, regime_gate=False, holding_days=1
r-sales-growth-rank-jp-growth-0024
cost_bps: 5
n_stocks: 20
regime_gate: false
-0.12-0.75-0.53+8.43
n_stocks=20, cost_bps=5, regime_gate=False, holding_days=5
r-sales-growth-rank-jp-growth-0025
cost_bps: 5
n_stocks: 20
regime_gate: false
+0.79+3.12-0.11+7.15
n_stocks=20, cost_bps=5, regime_gate=False, holding_days=20
r-sales-growth-rank-jp-growth-0026
cost_bps: 5
n_stocks: 20
regime_gate: false
-0.21-1.22-0.53+7.27
n_stocks=50, cost_bps=5, regime_gate=False, holding_days=1
r-sales-growth-rank-jp-growth-0036
cost_bps: 5
n_stocks: 50
regime_gate: false
-0.78-1.42-1.68+13.63
n_stocks=50, cost_bps=5, regime_gate=True, holding_days=5
r-sales-growth-rank-jp-growth-0040
cost_bps: 5
n_stocks: 50
regime_gate: true
+1.06+1.44+0.04+4.46
n_stocks=50, cost_bps=10, regime_gate=False, holding_days=1
r-sales-growth-rank-jp-growth-0042
cost_bps: 10
n_stocks: 50
regime_gate: false
-1.36-2.13-2.27+11.92

対象ユニバース

Tokyo Stock Exchange Growth Market, ~495 stocks, tv >= 30M JPY; fundamentals from J-Quants financial statements (coverage from 2023-12)

関連する戦略

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

関連する戦略