
I built a close-based momentum/quality strategy with next-open execution: backtest + paper trading results
Hey everyone,
I’ve been building and testing a systematic equity trading strategy for the last few weeks/months, and I wanted to share the current state of the project.
The idea is simple at a high level:
The strategy ranks a stock universe after the market close using a proprietary quality/momentum score. It then creates a plan for the next session and executes that plan at/near the next market open. I built it this way to avoid reacting to intraday noise and to keep the execution logic closer to what can actually be tested.
The system is not just a backtest script anymore. It is connected to an Alpaca paper account and runs as an operational bot. It sends Telegram updates for open positions, planned buys/sells, stop exits, cooldowns, daily status, and a visual journal/infographic so I can monitor what it is doing without digging through raw logs.
High-level rules:
- close-based signal generation
- next-open execution
- fractional position sizing
- managed position cap
- stop/cooldown risk layer
- daily Telegram reporting
- no discretionary intraday panic decisions
Backtest summary:
The research backtest used IEX data, 7.5 bps slippage, post-sell confirmed cash, a buying-power buffer, and a warmup period.
Main research period:
2022-01-03 to 2026-06-18
Result:
+557.79% total return
52.68% CAGR
18.21% max drawdown
1,226 trades
~9.5 average managed positions
Period breakdown:
2022 bear market: -13.74%
2023 recovery: +87.68%
2024 bull market: +122.98%
2025 choppy market: +14.86%
2026 YTD to June 18: +58.76%
Forward paper test:
2026-06-10 to 2026-07-03
Paper account:
$10,000.00 -> $10,362.78
+$362.78 / +3.63%
This is still early, and the forward sample is obviously small. I’m treating the paper result as a live operational test, not proof that the strategy works long term.
A few transparency notes:
- This is paper trading, not live capital yet.
- I am not sharing the exact score formula or thresholds publicly.
- The current production version has evolved after the backtest, including a broader stock universe, better reporting, scale-up/replacement logic, and cleaner execution checks.
- Some early paper logs had test/duplicate rows that need to be filtered from analysis.
- The system is still under active development.
One recent change: I expanded the stock universe because the system has a 12-position cap, and the previous universe occasionally did not provide enough high-quality candidates to fully utilize the allocation target. The goal was not to force more trades, but to give the model a wider pool while keeping the same risk controls.
I’m mainly looking for feedback on:
- backtest design
- operational risk
- paper-vs-live assumptions
- avoiding overfitting
- whether this reporting style is useful
- what additional validation you would want before considering live deployment