qbuntuqbuntu

Overnight vs Intraday Return (JP Growth Stocks)

slug: overnight-intraday-jp-growth
performance summary
Sharpe (median)
-0.35
Max DD
-22.7%
Win rate
Alpha (ann.)
p-value
0.33
backtest period: 2022-02-012026-06-01
Sharpe across 768 grid runs:median -0.35best 0.90 (not representative)worst -1.95p25–p75 -0.840.08

Hypothesis

Lou, Polk, Skouras (2019): decompose returns into overnight (Close→Open) and intraday (Open→Close) components. Tests whether one component has more predictive power for future cross-sectional returns.

Why it didn't work

Across 768 grid combinations, median Sharpe=-0.35, best=0.90. Primary failure mode: no_edge.

Facts (7)

Average monthly return correlation with other strategies in DOWN regime: 0.17
Pairwise Pearson correlation of monthly returns across 42 strategies, filtered to DOWN regime months (N=3, N225 < SMA20 < SMA60)
correlation0.17
Average monthly return correlation with other strategies (full period): 0.09
Pairwise Pearson correlation of monthly returns across 42 strategies, full backtest period
correlation0.09
Best grid Sharpe ratio is 0.90 (p=0.062).
period 2022-02-01–2026-06-01; cost=5bps
sharpe_ratio0.90
Median Sharpe across 768 grid runs is -0.35.
Full grid of 768 parameter combinations.
sharpe_ratio-0.35
Median Sharpe in DOWN regime is -1.71 across 768 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
sharpe_ratio-1.71
Median Sharpe in FLAT regime is -0.37 across 768 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
sharpe_ratio-0.37
Median Sharpe in UP regime is -0.30 across 768 runs.
Regime=UP, N225 SMA20/SMA60 classification.
sharpe_ratio-0.30

Runs (30)

runparamssharpeUPFLATDOWN
signal_type=overnight, formation_days=5, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-overnight-intraday-jp-growth-0000
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.14-1.48+0.62-5.63
signal_type=overnight, formation_days=5, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=True
r-overnight-intraday-jp-growth-0001
cost_bps: 5
n_stocks: 5
regime_gate: true
-0.31-1.74+0.62-5.63
signal_type=overnight, formation_days=5, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=False
r-overnight-intraday-jp-growth-0002
cost_bps: 10
n_stocks: 5
regime_gate: false
-0.28-1.66+0.48-5.79
signal_type=overnight, formation_days=5, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=True
r-overnight-intraday-jp-growth-0003
cost_bps: 10
n_stocks: 5
regime_gate: true
-0.42-1.80+0.48-5.79
signal_type=overnight, formation_days=5, holding_days=1, n_stocks=50, cost_bps=5, regime_gate=False
r-overnight-intraday-jp-growth-0012
cost_bps: 5
n_stocks: 50
regime_gate: false
-1.39-0.62-1.50-12.21
signal_type=overnight, formation_days=5, holding_days=1, n_stocks=50, cost_bps=10, regime_gate=False
r-overnight-intraday-jp-growth-0014
cost_bps: 10
n_stocks: 50
regime_gate: false
-1.95-1.22-2.04-15.12
signal_type=overnight, formation_days=5, holding_days=10, n_stocks=20, cost_bps=10, regime_gate=False
r-overnight-intraday-jp-growth-0042
cost_bps: 10
n_stocks: 20
regime_gate: false
-0.16+0.67-0.24-3.91
signal_type=overnight, formation_days=5, holding_days=20, n_stocks=5, cost_bps=5, regime_gate=False
r-overnight-intraday-jp-growth-0048
cost_bps: 5
n_stocks: 5
regime_gate: false
+0.04+0.36-0.02-0.43
signal_type=overnight, formation_days=10, holding_days=5, n_stocks=5, cost_bps=5, regime_gate=False
r-overnight-intraday-jp-growth-0080
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.36-1.36-0.06+0.02
signal_type=overnight, formation_days=10, holding_days=20, n_stocks=10, cost_bps=5, regime_gate=True
r-overnight-intraday-jp-growth-0117
cost_bps: 5
n_stocks: 10
regime_gate: true
-0.27-0.96-0.08-0.05
signal_type=overnight, formation_days=20, holding_days=5, n_stocks=20, cost_bps=10, regime_gate=False
r-overnight-intraday-jp-growth-0154
cost_bps: 10
n_stocks: 20
regime_gate: false
-0.24-1.32+0.60-3.69
signal_type=overnight, formation_days=20, holding_days=20, n_stocks=50, cost_bps=10, regime_gate=True
r-overnight-intraday-jp-growth-0191
cost_bps: 10
n_stocks: 50
regime_gate: true
-0.39+0.20-0.76-2.39
signal_type=overnight, formation_days=60, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-overnight-intraday-jp-growth-0192
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.81-0.19-1.00-2.00
signal_type=overnight, formation_days=60, holding_days=10, n_stocks=10, cost_bps=5, regime_gate=True
r-overnight-intraday-jp-growth-0229
cost_bps: 5
n_stocks: 10
regime_gate: true
+0.37+0.91+0.24-1.60
signal_type=intraday, formation_days=5, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-overnight-intraday-jp-growth-0256
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.78+0.28-1.14-0.81
signal_type=intraday, formation_days=5, holding_days=1, n_stocks=20, cost_bps=10, regime_gate=True
r-overnight-intraday-jp-growth-0267
cost_bps: 10
n_stocks: 20
regime_gate: true
-1.08-0.78-1.37+2.40
signal_type=intraday, formation_days=5, holding_days=20, n_stocks=5, cost_bps=5, regime_gate=False
r-overnight-intraday-jp-growth-0304
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.55+0.94-0.64-3.82
signal_type=intraday, formation_days=10, holding_days=5, n_stocks=10, cost_bps=5, regime_gate=True
r-overnight-intraday-jp-growth-0341
cost_bps: 5
n_stocks: 10
regime_gate: true
-0.95-0.02-1.36+1.27
signal_type=intraday, formation_days=10, holding_days=20, n_stocks=20, cost_bps=10, regime_gate=False
r-overnight-intraday-jp-growth-0378
cost_bps: 10
n_stocks: 20
regime_gate: false
-1.44-0.29-1.81-0.72
signal_type=intraday, formation_days=20, holding_days=5, n_stocks=50, cost_bps=10, regime_gate=True
r-overnight-intraday-jp-growth-0415
cost_bps: 10
n_stocks: 50
regime_gate: true
-0.69-0.59-0.71-0.96
signal_type=intraday, formation_days=60, holding_days=1, n_stocks=10, cost_bps=5, regime_gate=False
r-overnight-intraday-jp-growth-0452
cost_bps: 5
n_stocks: 10
regime_gate: false
-0.90-0.61-1.16+0.79
signal_type=intraday, formation_days=60, holding_days=10, n_stocks=20, cost_bps=5, regime_gate=True
r-overnight-intraday-jp-growth-0489
cost_bps: 5
n_stocks: 20
regime_gate: true
-0.37+0.56-0.75-1.10
signal_type=overnight_minus_intraday, formation_days=5, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-overnight-intraday-jp-growth-0512
cost_bps: 5
n_stocks: 5
regime_gate: false
+0.75-0.86+1.35-0.52
signal_type=overnight_minus_intraday, formation_days=5, holding_days=1, n_stocks=50, cost_bps=10, regime_gate=True
r-overnight-intraday-jp-growth-0527
cost_bps: 10
n_stocks: 50
regime_gate: true
-1.09-0.69-1.58-5.64
signal_type=overnight_minus_intraday, formation_days=5, holding_days=20, n_stocks=10, cost_bps=5, regime_gate=False
r-overnight-intraday-jp-growth-0564
cost_bps: 5
n_stocks: 10
regime_gate: false
+0.50-0.15+0.52+2.00
signal_type=overnight_minus_intraday, formation_days=10, holding_days=5, n_stocks=20, cost_bps=5, regime_gate=True
r-overnight-intraday-jp-growth-0601
cost_bps: 5
n_stocks: 20
regime_gate: true
+0.54-0.32+1.26-3.83
signal_type=overnight_minus_intraday, formation_days=10, holding_days=20, n_stocks=10, cost_bps=5, regime_gate=False
r-overnight-intraday-jp-growth-0628
cost_bps: 5
n_stocks: 10
regime_gate: false
+0.90-0.27+1.40+0.41
signal_type=overnight_minus_intraday, formation_days=10, holding_days=20, n_stocks=50, cost_bps=10, regime_gate=True
r-overnight-intraday-jp-growth-0639
cost_bps: 10
n_stocks: 50
regime_gate: true
+0.03-0.42+0.34-0.21
signal_type=overnight_minus_intraday, formation_days=20, holding_days=10, n_stocks=10, cost_bps=5, regime_gate=False
r-overnight-intraday-jp-growth-0676
cost_bps: 5
n_stocks: 10
regime_gate: false
-0.08+0.39+0.06-4.74
signal_type=overnight_minus_intraday, formation_days=60, holding_days=1, n_stocks=20, cost_bps=5, regime_gate=True
r-overnight-intraday-jp-growth-0713
cost_bps: 5
n_stocks: 20
regime_gate: true
-0.44-0.48-0.44-0.17

Target universe

Tokyo Stock Exchange Growth Market, ~495 stocks, tv >= 30M JPY
source: qbuntu-analysis · kabu STATION REST API + J-Quants daily bars
computed asof: 2026-07-29T01:09:08

Related strategies