qbuntuqbuntu
rejectedregime_dependent· equity· factor· fundamental· value

Earnings Yield (JP Growth Stocks)

slug: earnings-yield-jp-growth
performance summary
Sharpe (median)
-0.03
Max DD
-8.4%
Win rate
Alpha (ann.)
p-value
0.64
backtest period: 2024-01-042026-06-01
Sharpe across 48 grid runs:median -0.03best 1.37 (not representative)worst -1.25p25–p75 -0.340.19

Hypothesis

The oldest value signal: high earnings yield (E/P) portfolios outperform low ones (Basu 1977). Ranking on trailing E/P from J-Quants statements tests whether plain value pays in this universe after costs.

Why it didn't work

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

Facts (5)

Best grid Sharpe ratio is 1.37 (p=0.051).
period 2024-01-04–2026-06-01; cost=5bps
sharpe_ratio1.37
Median Sharpe across 48 grid runs is -0.03.
Full grid of 48 parameter combinations.
sharpe_ratio-0.03
Median Sharpe in DOWN regime is 2.69 across 48 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
sharpe_ratio2.69
Median Sharpe in FLAT regime is -0.17 across 48 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
sharpe_ratio-0.17
Median Sharpe in UP regime is -0.20 across 48 runs.
Regime=UP, N225 SMA20/SMA60 classification.
sharpe_ratio-0.20

Runs (30)

runparamssharpeUPFLATDOWN
n_stocks=5, cost_bps=5, regime_gate=False, holding_days=1
r-earnings-yield-jp-growth-0000
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.99-1.48-1.28+12.21
n_stocks=5, cost_bps=5, regime_gate=False, holding_days=5
r-earnings-yield-jp-growth-0001
cost_bps: 5
n_stocks: 5
regime_gate: false
+0.23+0.21-0.20+3.36
n_stocks=5, cost_bps=5, regime_gate=False, holding_days=20
r-earnings-yield-jp-growth-0002
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.13+0.68-1.04+2.76
n_stocks=5, cost_bps=5, regime_gate=True, holding_days=1
r-earnings-yield-jp-growth-0003
cost_bps: 5
n_stocks: 5
regime_gate: true
-0.72-0.61-1.28+12.21
n_stocks=5, cost_bps=5, regime_gate=True, holding_days=5
r-earnings-yield-jp-growth-0004
cost_bps: 5
n_stocks: 5
regime_gate: true
+0.14-0.05-0.20+3.36
n_stocks=5, cost_bps=5, regime_gate=True, holding_days=20
r-earnings-yield-jp-growth-0005
cost_bps: 5
n_stocks: 5
regime_gate: true
+0.11+1.31-1.04+2.76
n_stocks=5, cost_bps=10, regime_gate=False, holding_days=1
r-earnings-yield-jp-growth-0006
cost_bps: 10
n_stocks: 5
regime_gate: false
-1.25-1.81-1.50+10.80
n_stocks=5, cost_bps=10, regime_gate=False, holding_days=5
r-earnings-yield-jp-growth-0007
cost_bps: 10
n_stocks: 5
regime_gate: false
+0.04+0.01-0.38+3.11
n_stocks=5, cost_bps=10, regime_gate=False, holding_days=20
r-earnings-yield-jp-growth-0008
cost_bps: 10
n_stocks: 5
regime_gate: false
-0.20+0.62-1.11+2.58
n_stocks=5, cost_bps=10, regime_gate=True, holding_days=1
r-earnings-yield-jp-growth-0009
cost_bps: 10
n_stocks: 5
regime_gate: true
-0.91-0.74-1.50+10.80
n_stocks=5, cost_bps=10, regime_gate=True, holding_days=5
r-earnings-yield-jp-growth-0010
cost_bps: 10
n_stocks: 5
regime_gate: true
-0.02-0.16-0.38+3.11
n_stocks=5, cost_bps=10, regime_gate=True, holding_days=20
r-earnings-yield-jp-growth-0011
cost_bps: 10
n_stocks: 5
regime_gate: true
+0.05+1.27-1.11+2.58
n_stocks=10, cost_bps=5, regime_gate=False, holding_days=1
r-earnings-yield-jp-growth-0012
cost_bps: 5
n_stocks: 10
regime_gate: false
-0.05-1.91+0.08+11.35
n_stocks=10, cost_bps=5, regime_gate=False, holding_days=5
r-earnings-yield-jp-growth-0013
cost_bps: 5
n_stocks: 10
regime_gate: false
-0.43-0.90-0.54+7.25
n_stocks=10, cost_bps=5, regime_gate=False, holding_days=20
r-earnings-yield-jp-growth-0014
cost_bps: 5
n_stocks: 10
regime_gate: false
+0.02+1.14-0.88+1.25
n_stocks=10, cost_bps=5, regime_gate=True, holding_days=1
r-earnings-yield-jp-growth-0015
cost_bps: 5
n_stocks: 10
regime_gate: true
+0.18-0.66+0.08+11.35
n_stocks=10, cost_bps=5, regime_gate=True, holding_days=5
r-earnings-yield-jp-growth-0016
cost_bps: 5
n_stocks: 10
regime_gate: true
-0.14+0.21-0.54+7.25
n_stocks=10, cost_bps=5, regime_gate=True, holding_days=20
r-earnings-yield-jp-growth-0017
cost_bps: 5
n_stocks: 10
regime_gate: true
+0.01+1.41-0.88+1.25
n_stocks=10, cost_bps=10, regime_gate=False, holding_days=1
r-earnings-yield-jp-growth-0018
cost_bps: 10
n_stocks: 10
regime_gate: false
-0.33-2.38-0.15+10.36
n_stocks=10, cost_bps=10, regime_gate=False, holding_days=5
r-earnings-yield-jp-growth-0019
cost_bps: 10
n_stocks: 10
regime_gate: false
-0.57-1.07-0.65+6.66
n_stocks=10, cost_bps=10, regime_gate=False, holding_days=20
r-earnings-yield-jp-growth-0020
cost_bps: 10
n_stocks: 10
regime_gate: false
-0.06+1.06-0.96+1.12
n_stocks=10, cost_bps=10, regime_gate=True, holding_days=1
r-earnings-yield-jp-growth-0021
cost_bps: 10
n_stocks: 10
regime_gate: true
-0.04-0.84-0.15+10.36
n_stocks=10, cost_bps=10, regime_gate=True, holding_days=5
r-earnings-yield-jp-growth-0022
cost_bps: 10
n_stocks: 10
regime_gate: true
-0.26+0.08-0.65+6.66
n_stocks=10, cost_bps=10, regime_gate=True, holding_days=20
r-earnings-yield-jp-growth-0023
cost_bps: 10
n_stocks: 10
regime_gate: true
-0.07+1.36-0.96+1.12
n_stocks=20, cost_bps=5, regime_gate=False, holding_days=1
r-earnings-yield-jp-growth-0024
cost_bps: 5
n_stocks: 20
regime_gate: false
+0.02-1.31+0.31+2.62
n_stocks=20, cost_bps=5, regime_gate=False, holding_days=5
r-earnings-yield-jp-growth-0025
cost_bps: 5
n_stocks: 20
regime_gate: false
-0.36-1.62-0.05+3.35
n_stocks=20, cost_bps=5, regime_gate=False, holding_days=20
r-earnings-yield-jp-growth-0026
cost_bps: 5
n_stocks: 20
regime_gate: false
+0.69+1.70+0.09+1.30
n_stocks=20, cost_bps=5, regime_gate=True, holding_days=1
r-earnings-yield-jp-growth-0027
cost_bps: 5
n_stocks: 20
regime_gate: true
+0.09-0.93+0.31+2.62
n_stocks=50, cost_bps=5, regime_gate=False, holding_days=1
r-earnings-yield-jp-growth-0036
cost_bps: 5
n_stocks: 50
regime_gate: false
-0.54-1.68+0.06+0.02
n_stocks=50, cost_bps=5, regime_gate=False, holding_days=20
r-earnings-yield-jp-growth-0038
cost_bps: 5
n_stocks: 50
regime_gate: false
+1.37+2.61+0.78+1.51

Target universe

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

Related strategies

source: qbuntu-analysis · kabu STATION REST API + J-Quants daily bars
computed asof: 2026-08-03T01:02:47

Related strategies