AQAI QuantAI research lab for systematic strategies

Case study · Backtest

Hybrid Overnight Momentum with Intraday Extension Fade

HYBRID_OVERNIGHT_INTRADAY
overnight-momentumintraday-mean-reversionhybrid-alphaclose-to-closedailyliquid-us-stocks

🗓 Backtest period: 2018-01-01..2023-01-01

Jan 2018Total 46.1%Dec 2022
Max DD -10.4%

Backtest metrics

Sharpe
1.04
Total Return
46.1%
Max Drawdown
-10.4%
CAGR
7.9%
Volatility
8.8%
Beta vs SPY
0.17
Trades
28,253

Strategy Card

Hybrid Overnight Momentum with Intraday Extension Fade — strategy card

Spec ID: spec-hybrid-overnight-intraday-us-stocks-1782341488 · Generated: 2026-09-25 00:10 UTC

Cluster: Hybrid Momentum · Sub Cluster: Overnight Momentum With Intraday Extension Fade

One-line description

Daily close-to-close long–short strategy that favors stocks with persistent overnight gains and limited intraday extension, while shorting weak overnight names with strong intraday extension.

Why this trade exists

Persistent overnight returns may reflect information incorporated across trading sessions, while unusually strong intraday moves may be prone to reversal. The strategy combines these effects cross-sectionally: it rewards overnight persistence, penalizes positive intraday extension in its score, and uses separate eligibility rules for long and short candidates. Neither effect is guaranteed to persist after trading costs or across market regimes.

Algorithm

[code omitted from public view]

Parameters

Param Value Notes
Universe 100 US stocks Specified symbols; selected by one-year dollar volume.
Backtest window / bars 2018-01-01..2023-01-01 / daily Daily close-to-close holdings; daily MOC rebalance.
Price data / returns daily_prices; open, close, prior close Overnight = open/prior close − 1; intraday = close/open − 1.
Feature windows Overnight returns: 5d and 20d; hit rate: 20d; intraday z-score: 20d; realized volatility: 20d Cross-sectional composite-score ranking.
Composite score 0.35*z(overnight_5d) + 0.45*z(overnight_20d) + 0.20*z(hit_rate_20d) - 0.50*max(intraday_z_20d, 0) Positive intraday extension is penalized.
Long entry Hit rate ≥0.55; overnight return 20d ≥0; intraday z-score ≤1.25; top 20 Apply eligibility before selection.
Short entry Hit rate ≤0.45; overnight return 20d ≤0; intraday z-score ≥1.50; bottom 20 Shorts enabled.
Exit rules Long: rank <40, intraday z-score ≥2.0, or overnight return 20d ≤0. Short: rank >60, intraday z-score ≤0.25, or overnight return 20d ≥0 Daily close rebalance.
Sizing / exposure Equal-weight with volatility adjustment; maximum 10% per position; target 50% long and 50% short gross Maximum leverage 4.0.
Liquidity / risk 20-day average dollar volume ≥$10,000,000; maximum 20-day realized volatility 0.6 Skip failed liquidity checks or missing open, close, or prior close.
Commissions $0.0040 per share, minimum $1.00 per order, capped at 1.00% of trade value Charged per fill by the results module; all metrics are net of them
Slippage 0 bps — not applied Not an omission — MOC (market-on-close) fills at the auction print the backtest uses
Costs not modelled short borrow fees / rebate, margin financing on leverage, market impact, exchange/regulatory/clearing pass-through fees, taxes Excluded deliberately, not unknown

Look-ahead audit

# Concern Status
1 Close-derived signals versus execution ✓ Rebalances at the same day's close via MOC, not at that day's open; verify implementation retains this convention.
2 Rolling features and data completeness Check that windows use only observations available through the rebalance close and that missing-price exclusions are enforced.
3 Universe construction Check whether the fixed symbol list and one-year volume ranking were available historically; otherwise survivorship or selection bias may remain.
4 Corporate actions and price continuity Check adjustment and symbol-history handling for overnight and close-to-close returns.
5 Trading costs ✓ commissions $0.0040/share (min $1.00/order); slippage 0 bps — not applied

Caveats / known limitations

Results

From 2018-01-01 to 2023-01-01, the backtest returned 46.11% with a 1.04 Sharpe ratio and a −10.44% maximum drawdown. Beta versus SPY was 0.17. These metrics are net of the commissions charged on fills, but the modest 1.18 profit factor and substantial trade count warrant caution about robustness.

Run diagnostics

Recomputed here from the run's stored daily returns, because every annualized figure in the table above is derived from the LENGTH of that array (years = n / 252). Only total return and max drawdown do not depend on the row count, so when the recomputed and stored values differ by a common factor, those two are the numbers to trust.

Check From the run's own returns Note
Daily-return rows 1,259 1.00x the 1,260 trading days in 2018-01-01..2023-01-01
Distinct dates 1,259 one row per date
Date span 2018-01-02 .. 2022-12-30
Sum of daily returns 46.11% matches the reported total return
Sharpe from these rows 1.04 stored 1.04
Volatility from these rows 8.85% stored 8.85%
Max drawdown from these rows -10.44% stored -10.44%
Lowest the book stood -1.59% low-water mark, in units of starting capital
CAGR from these rows 7.89% stored 7.89%

Backtest metrics snapshot

Metric Value
Total Return 46.11%
Sharpe 1.04
Sortino 1.44
Calmar 0.75
Max Drawdown -10.44%
Volatility 8.85%
Beta vs SPY 0.17
Win Rate 53.77%
Profit Factor 1.18
Total Trades 28253
Symbols 100 (AAPL, ABBV, ABT, ACN, ADBE, ADI, AMAT, AMD, AMGN, AMZN, +90 more)