qbuntuqbuntu
rejectedregime_dependent· equity· drift· fundamental· revision

Forecast Revision (JP All Stocks)

slug: forecast-revision-jp-all

Forecast Revision (JP All Stocks) backtest. Median Sharpe across 48 parameter sets is -0.01. p-value is 0.65. Max DD is -8.7%. Period: 2024-03-01 to 2026-09-01. Best Sharpe +0.41 is not the representative figure.

Verdict: rejected. The median reaches neither promising (Sharpe > 0.5 and p-value < 0.05) nor marginal (Sharpe > 0.05 and best p-value < 0.10). Results split across up, flat, and down markets, so the median is not stable.

Performance summary

Sharpe (median)
-0.01
Max DD
-8.7%
Win rate
—
Alpha (ann.)
—
p-value
0.65
backtest period: 2024-03-01 → 2026-09-01
Sharpe across 48 grid runs:median -0.01best 0.41 (not representative)worst -1.82p25–p75 -0.36–0.26

Hypothesis

Japanese companies publish their own full-year guidance; upward revisions are informative and historically under-reacted to. Ranking on the latest guidance revision tests for a post-revision drift analogous to PEAD.

Why it didn't work

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

Facts (5)

Best grid Sharpe ratio is 0.41 (p=0.52).
period 2024-03-01–2026-09-01; cost=5bps
sharpe_ratio0.41
Median Sharpe across 48 grid runs is -0.01.
Full grid of 48 parameter combinations.
sharpe_ratio-0.01
Median Sharpe in DOWN regime is -1.81 across 48 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
sharpe_ratio-1.81
Median Sharpe in FLAT regime is -0.43 across 48 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
sharpe_ratio-0.43
Median Sharpe in UP regime is 0.84 across 48 runs.
Regime=UP, N225 SMA20/SMA60 classification.
sharpe_ratio0.84

Runs (30)

runparamssharpeUPFLATDOWN
n_stocks=5, cost_bps=5, regime_gate=False, holding_days=1
r-forecast-revision-jp-all-0000
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.20+0.10-0.16-0.76
n_stocks=5, cost_bps=5, regime_gate=False, holding_days=5
r-forecast-revision-jp-all-0001
cost_bps: 5
n_stocks: 5
regime_gate: false
+0.30+2.24-0.60-1.88
n_stocks=5, cost_bps=5, regime_gate=False, holding_days=20
r-forecast-revision-jp-all-0002
cost_bps: 5
n_stocks: 5
regime_gate: false
+0.41+1.23-0.11+0.56
n_stocks=5, cost_bps=5, regime_gate=True, holding_days=1
r-forecast-revision-jp-all-0003
cost_bps: 5
n_stocks: 5
regime_gate: true
+0.14+1.24-0.16-0.76
n_stocks=5, cost_bps=5, regime_gate=True, holding_days=5
r-forecast-revision-jp-all-0004
cost_bps: 5
n_stocks: 5
regime_gate: true
+0.38+3.41-0.60-1.88
n_stocks=5, cost_bps=5, regime_gate=True, holding_days=20
r-forecast-revision-jp-all-0005
cost_bps: 5
n_stocks: 5
regime_gate: true
+0.33+1.25-0.11+0.56
n_stocks=5, cost_bps=10, regime_gate=False, holding_days=1
r-forecast-revision-jp-all-0006
cost_bps: 10
n_stocks: 5
regime_gate: false
-0.36-0.03-0.42-0.85
n_stocks=5, cost_bps=10, regime_gate=False, holding_days=5
r-forecast-revision-jp-all-0007
cost_bps: 10
n_stocks: 5
regime_gate: false
+0.22+2.16-0.68-1.98
n_stocks=5, cost_bps=10, regime_gate=False, holding_days=20
r-forecast-revision-jp-all-0008
cost_bps: 10
n_stocks: 5
regime_gate: false
+0.38+1.20-0.14+0.49
n_stocks=5, cost_bps=10, regime_gate=True, holding_days=1
r-forecast-revision-jp-all-0009
cost_bps: 10
n_stocks: 5
regime_gate: true
0.00+1.15-0.42-0.85
n_stocks=5, cost_bps=10, regime_gate=True, holding_days=5
r-forecast-revision-jp-all-0010
cost_bps: 10
n_stocks: 5
regime_gate: true
+0.31+3.35-0.68-1.98
n_stocks=5, cost_bps=10, regime_gate=True, holding_days=20
r-forecast-revision-jp-all-0011
cost_bps: 10
n_stocks: 5
regime_gate: true
+0.30+1.22-0.14+0.49
n_stocks=10, cost_bps=5, regime_gate=False, holding_days=1
r-forecast-revision-jp-all-0012
cost_bps: 5
n_stocks: 10
regime_gate: false
-0.20+0.44-0.48-1.62
n_stocks=10, cost_bps=5, regime_gate=False, holding_days=5
r-forecast-revision-jp-all-0013
cost_bps: 5
n_stocks: 10
regime_gate: false
-0.02+1.25-0.21-3.60
n_stocks=10, cost_bps=5, regime_gate=False, holding_days=20
r-forecast-revision-jp-all-0014
cost_bps: 5
n_stocks: 10
regime_gate: false
+0.09+0.95-0.11-1.10
n_stocks=10, cost_bps=5, regime_gate=True, holding_days=1
r-forecast-revision-jp-all-0015
cost_bps: 5
n_stocks: 10
regime_gate: true
-0.16+0.52-0.48-1.62
n_stocks=10, cost_bps=5, regime_gate=True, holding_days=5
r-forecast-revision-jp-all-0016
cost_bps: 5
n_stocks: 10
regime_gate: true
+0.39+2.35-0.21-3.60
n_stocks=10, cost_bps=5, regime_gate=True, holding_days=20
r-forecast-revision-jp-all-0017
cost_bps: 5
n_stocks: 10
regime_gate: true
-0.11+0.57-0.11-1.10
n_stocks=10, cost_bps=10, regime_gate=False, holding_days=1
r-forecast-revision-jp-all-0018
cost_bps: 10
n_stocks: 10
regime_gate: false
-0.46+0.26-0.93-1.88
n_stocks=10, cost_bps=10, regime_gate=False, holding_days=5
r-forecast-revision-jp-all-0019
cost_bps: 10
n_stocks: 10
regime_gate: false
-0.19+1.11-0.44-3.84
n_stocks=10, cost_bps=10, regime_gate=False, holding_days=20
r-forecast-revision-jp-all-0020
cost_bps: 10
n_stocks: 10
regime_gate: false
+0.03+0.90-0.16-1.15
n_stocks=10, cost_bps=10, regime_gate=True, holding_days=1
r-forecast-revision-jp-all-0021
cost_bps: 10
n_stocks: 10
regime_gate: true
-0.38+0.43-0.93-1.88
n_stocks=10, cost_bps=10, regime_gate=True, holding_days=5
r-forecast-revision-jp-all-0022
cost_bps: 10
n_stocks: 10
regime_gate: true
+0.25+2.28-0.44-3.84
n_stocks=10, cost_bps=10, regime_gate=True, holding_days=20
r-forecast-revision-jp-all-0023
cost_bps: 10
n_stocks: 10
regime_gate: true
-0.16+0.53-0.16-1.15
n_stocks=20, cost_bps=5, regime_gate=False, holding_days=1
r-forecast-revision-jp-all-0024
cost_bps: 5
n_stocks: 20
regime_gate: false
-0.36+0.22-0.62-2.78
n_stocks=20, cost_bps=5, regime_gate=False, holding_days=5
r-forecast-revision-jp-all-0025
cost_bps: 5
n_stocks: 20
regime_gate: false
-0.13+0.94-1.08-2.65
n_stocks=20, cost_bps=5, regime_gate=False, holding_days=20
r-forecast-revision-jp-all-0026
cost_bps: 5
n_stocks: 20
regime_gate: false
+0.37+1.39-0.13-0.64
n_stocks=20, cost_bps=5, regime_gate=True, holding_days=1
r-forecast-revision-jp-all-0027
cost_bps: 5
n_stocks: 20
regime_gate: true
-0.25+0.35-0.62-2.78
n_stocks=50, cost_bps=5, regime_gate=False, holding_days=1
r-forecast-revision-jp-all-0036
cost_bps: 5
n_stocks: 50
regime_gate: false
-1.22-2.11+0.37-3.21
n_stocks=50, cost_bps=10, regime_gate=False, holding_days=1
r-forecast-revision-jp-all-0042
cost_bps: 10
n_stocks: 50
regime_gate: false
-1.82-2.62-0.43-3.88

Target universe

Tokyo Stock Exchange all listed (Prime/Standard/Growth), ~3747 stocks; 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-09-26T06:04:27

Related strategies