Backtested research example
🗓 Backtest period: 2018-01-01..2023-01-01
Spec ID: spec-hybrid-overnight-intraday-us-stocks-1782341488 · Generated: 2026-06-24 23:37 UTC
Cluster: Momentum · Sub Cluster: Overnight Momentum Intraday Fade
Daily long-short strategy on liquid U.S. stocks that buys names with persistent positive overnight behavior and shorts names with weak overnight behavior plus stretched intraday moves. Positions are rebalanced at the close and held close-to-close with volatility-adjusted equal weighting.
Overnight returns may contain slow-moving information diffusion, retail/institutional order imbalance, and risk premia associated with bearing gap risk outside regular trading hours. Securities with repeated positive overnight returns and high overnight hit rates may continue to attract demand into the next session.
The intraday extension penalty/fade attempts to avoid buying names whose same-day regular-hours move is already statistically stretched, and to identify short candidates where positive intraday extension is not confirmed by overnight strength. Structurally, this combines an overnight continuation effect with a short-horizon intraday mean-reversion filter.
[code omitted from public view]
| Param | Value | Notes |
|---|---|---|
| Universe | Top 100 liquid U.S. stocks | Sorted by 1-year dollar volume; stock-only universe. |
| Backtest window | 2018-01-01 to 2023-01-01 | Daily bars. |
| Rebalance | Daily at close | Holding period is close-to-close. |
| Long book | 50% gross target | Top 20 eligible names by composite score. |
| Short book | 50% gross target | Bottom 20 eligible names; shorts enabled. |
| Max leverage | 4.0x | Gross leverage limit from rule parameters. |
| Max position size | 10% | Per-symbol cap before/after volatility adjustment as implemented. |
| Liquidity filter | 20d ADV >= $10mm | Uses volume_in_dollars; skip if filter fails. |
| Overnight windows | 5d and 20d | Used in composite score; 20d also used for long/short filters. |
| Overnight hit-rate window | 20d | Long threshold >= 0.55; short threshold <= 0.45. |
| Intraday z-score window | 20d | Penalizes positive intraday extension; long max 1.25, short min 1.5. |
| Risk filter | 20d realized vol <= 60% | Positions volatility-adjusted using 20d window. |
| Long exits | Rank < 40; intraday z >= 2.0; 20d overnight return <= 0 | Exit rules from spec. |
| Short exits | Rank > 60; intraday z <= 0.25; overnight return >= 0 | Spec mixes 20d/5d rolling overnight references; implementation should be verified. |
| Costs | Not specified | Treat reported results as pre-cost unless a platform default was applied. |
| # | Concern | Status |
|---|---|---|
| 1 | Same-day close used for features and close rebalance | Needs confirmation that signals computed at close are executable only after the close or with realistic closing auction assumptions. |
| 2 | Overnight/intraday decomposition | Formulas use open, close, and prior close; no future bars are required if day-t close is known before trading decision. |
| 3 | Rolling feature windows | Should be lagged consistently when generating orders; verify no inclusion of post-trade returns in the signal. |
| 4 | Universe selection | Top 100 by 1-year dollar volume may introduce survivorship or future-liquidity bias unless point-in-time membership is used. |
| 5 | Corporate actions and delistings | Requires split/dividend-adjusted OHLC and delisting handling to avoid overstated returns. |
| 6 | Transaction costs and borrow | No explicit costs supplied; short borrow fees, bid-ask spread, and close auction slippage remain unaudited. |
The backtest produced a 38.07% total return with Sharpe 0.86, Sortino 1.18, and max drawdown of -11.35% over the 2018-2023 window. The profile is moderate rather than exceptional: win rate is 55.88% and profit factor is 1.15, suggesting a small edge applied frequently. Given the high trade count and missing explicit cost assumptions, post-cost robustness is the key unresolved question.
| Metric | Value |
|---|---|
| Total Return | 38.07% |
| Sharpe | 0.86 |
| Sortino | 1.18 |
| Calmar | 0.59 |
| Max Drawdown | -11.35% |
| Volatility | 8.83% |
| Win Rate | 55.88% |
| Profit Factor | 1.15 |
| Total Trades | 28181 |
| Symbols | 100 (AAPL, ABBV, ABT, ACN, ADBE, ADI, AMAT, AMD, AMGN, AMZN, +90 more) |
Backtests are historical simulations for research purposes only. They are not investment advice and do not guarantee future performance.