Systematic equity
Crabel's opening range
Opening-range breakout with a trailing stop
What it is
Crabel's opening-range breakout, from a 2026 YouTube video, with the trailing stop that protocol 11's tests added. After a narrow or inside day, it trades the first break of QQQ's opening price plus or minus a stretch before 10:30, with the other band as its stop, trailed 1R behind the best price once the trade is 1R ahead. It decides on QQQ and trades QQQM. A sub-book of the INTRA2 Alpaca paper account that started with $45,000; each trade is recorded in the trade journal, beside the rule's own replay on SIP bars.
The rule
- Before the open: armed only after a session whose range was the narrowest of the last 4 or 7 (an NR4 or NR7), or that sat inside the session before, from QQQ's public daily bars. The stretch is the 10-session mean of the smaller of high − open and open − low.
- Bands: QQQ's first trade from 9:30, plus and minus the stretch.
- Entry: the first band QQQ trades at from 9:30:00 to 10:29:59: long at the upper band, short at the lower; one trade a day. A market order in QQQM, sent on a trade at most 5 seconds old, with up to 3 tries 5 seconds apart, and dropped at 10:30 if not filled.
- Stop: the other band. Once the best price is 1R past the entry, the stop trails 1R behind it and only tightens, moved on finished minutes after the entry minute. The runner watches it on every IEX trade and closes at market.
- Exit: at the stop, or at market at 15:59; an exit is tried again every 10 seconds until the position is flat.
- Size: 1% of the sub-book's value at the start of the day at risk to the initial stop, at most 4 times that value, in whole QQQM shares priced at QQQ's price over the previous close's QQQ-to-QQQM ratio.
- Halt: the sub-book takes no new entries once its total after the commission estimate has fallen 25% from its peak, which is permanent, or, once it has a year of history, while its trailing-year Sharpe is below −0.5.
- Data: IEX's real-time QQQ trades and minute bars on Alpaca's free plan; the research used SIP.
| Name | Value | Unit | Where it lives | Pinned by |
|---|---|---|---|---|
| BOOKS.crabel | INTRA2 | — | syseq/intraday/runner.py:38 | — |
| ALLOC | 45000 | USD, the sub-book's starting cash | syseq/intraday/runner.py:40 | — |
| UNTIL | 60 | minutes from 9:30 | syseq/intraday/crabel.py:18 | — |
| WINDOW_END | 10:30 | ET | syseq/intraday/books.py:213 | — |
| FRESH_S | 5 | seconds | syseq/intraday/books.py:34 | — |
| ENTRY_TRIES | 3 | — | syseq/intraday/books.py:32 | — |
| ENTRY_GAP_S | 5 | seconds | syseq/intraday/books.py:32 | — |
| EXIT_GAP_S | 10 | seconds | syseq/intraday/books.py:33 | — |
| FLATTEN | 15:59 | ET | syseq/intraday/books.py:31 | — |
| HALT_DRAWDOWN | −0.25 | the sub-book's total's fall from its peak | syseq/execution/paper.py:22 | — |
| HALT_SHARPE_12M | −0.5 | trailing-year Sharpe | syseq/execution/paper.py:23 | — |
| OWNER_COMMISSION.trades | 0.007 | USD a share a side | syseq/journal/common.py:13 | tests/test_journal.py:651 |
| OWNER_COMMISSION.book | 0.007 | USD a share a side | syseq/intraday/ledger.py:20 | tests/test_intraday_runner.py:175 |
Its read
Record so far
The book's value — data table
| Session | NAV |
|---|---|
| Sep 30, 2026 | $45,070.31 |
| Oct 1, 2026 | $45,070.31 |
| Oct 2, 2026 | $45,070.31 |
| Oct 5, 2026 | $45,070.31 |
| Oct 6, 2026 | $45,070.31 |
| Oct 7, 2026 | $44,590.76 |
| Oct 8, 2026 | $44,590.76 |
| Oct 9, 2026 | $44,590.76 |
| Oct 12, 2026 | $44,863.25 |
| Oct 13, 2026 | $44,863.25 |
Closed trades — data table
| Closed | Symbol | P&L | Net P&L | Return |
|---|---|---|---|---|
| Sep 30, 2026 | QQQM | +$70.31 | +$64.98 | +0.06% |
| Oct 7, 2026 | QQQM | −$479.55 | −$485.39 | −0.37% |
| Oct 12, 2026 | QQQM | +$272.49 | +$267.37 | +0.24% |
Cost model
Alpaca paper fills as filled, with no commission; Alpaca's SEC and CAT fees, charged by the day, are left out. Commission is estimated at $0.007 a share a side, the rate at the owner's own broker: the net P&L and the book's total are after it. The rule book is the rule's own replay on SIP bars, after the research's own costs: $0.007 a share a side in commission and a cent a share of slippage on every fill.
Trades
3 trades
| Opened | Closed | Account | Symbol | Side | Size | Entry | Exit | P&L | Net P&L | Return | Held | Exit by | Status | Record |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Oct 12, 2026 | Oct 12, 2026 | INTRA2 | QQQM | short | 366 | 307.874508 | 307.13 | +$272.49 | +$267.37 | +0.24% | 384.8 minutes | time | closed | Trade journal (1) |
| Oct 7, 2026 | Oct 7, 2026 | INTRA2 | QQQM | short | 417 | 309.73 | 310.88 | −$479.55 | −$485.39 | −0.37% | 94.4 minutes | stop | closed | Trade journal (1) |
| Sep 30, 2026 | Sep 30, 2026 | INTRA2 | QQQM | long | 381 | 305.345459 | 305.53 | +$70.31 | +$64.98 | +0.06% | 232.9 minutes | stop | closed | Trade journal (1) |
- (1) Record Trade journal
Cost model
Alpaca paper fills, with no commission; Alpaca's SEC and CAT fees, charged by the day, are left out. Commission is estimated at $0.007 a share a side, the rate at the owner's own broker: the net P&L is the P&L less it; the P&L, the return, the P&L in basis points of the book and the R multiple are before it. The rule book's day return is the rule's own replay on SIP bars, after the research's own costs: $0.0035 a share a side in commission for the noise area and $0.007 for the other rules, and a cent a share of slippage on every fill except a resting limit order's and the noise area's exit at the close.
Where the research is
- The day-trading accounts (findings systematic-equity/DESIGN/180)
- How the rule was tested (findings systematic-equity/RESEARCH/270)
- The trade journal (findings systematic-equity/DESIGN/190)