Ewan Li

v2b's pullback in leading industries

RSI(2) pullback in leading industries

paperaccountDAILYbooko11startedOct 7, 2026

What it is

v2b's pullback, entered only in stocks whose sector or industry group is among the strongest, in a sub-book of the DAILY Alpaca paper account. Its $100,000 was set aside in the account from the start, and it joined flat for the session of 2026-10-07, once its code had reproduced every trade of the research rule from 2001 to 2026. It trades on its own positions and value. Its trades come from the account's trade journal.

The rule

  • Universe: S&P 500 members closing at $5 or more, with a 63-session median dollar volume of at least $10M and 252 sessions of history, as for v2b.
  • Groups: 29 ETFs, 11 for sectors and 18 for industries. At each month's last close, each stock is assigned the one whose daily returns, with the market's part taken out of both, have correlated most with its own over the past 252 sessions. A stock with less than about 400 sessions of history has no group, so it is never entered.
  • Leading groups: at each week's last close, the 6 with the highest relative strength, the average of their 21-, 63- and 126-session total returns less SPY's, among those closing above their 50-session average, or all of those when fewer than 6 are. They stand until the next week's last close.
  • Entries: buy a stock in a leading group whose RSI(2) is below 10 while its close is above its 200-session average, and only while SPY closes above its own 200-session average; lowest RSI(2) first when more trigger than there are free slots; up to 20 slots of 5% of the sub-book. The rest is cash: there is no SPY core.
  • Exits: sell at a close above the 5-session average, after 10 sessions, or when the stock leaves the universe. Neither the groups nor SPY's trend holds an exit back.
  • No entries, exits as usual: while SPY is at or below its 200-session average, under the halt, or when the groups cannot be read, as when an ETF's close is missing where they are computed.
  • Halt: no new entries once the sub-book's total with dividends and interest 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.
  • Orders: decided at about 15:40 ET on that day's 5-minute snapshot, only between 15:25 and 15:50 and never on a session that closes early, then netted per symbol with the other sub-books' orders and worked into the close: from 15:55 each rests as a limit order at the midpoint of IEX's quote, and from 15:59 what is left goes at market; nothing is sent after 15:59:45. When its fetch or its decision fails, it decides nothing that session, though an exit carried from an earlier close still goes, and the other sub-books trade as usual.
  • Fills: shares one sub-book buys and another sells at the same close meet inside the account at the official close; every leg on the larger side then gets one average of that price and Alpaca's fill. An entry left unfilled, or the unfilled part of one, is dropped and the sub-book holds less; an exit left unfilled goes again at the next close.
NameValueUnitWhere it livesPinned by
universe.min_price5USD, as-traded closesyseq/strategy/config.py:13tests/test_frozen_params.py:15
universe.min_adv10000000USD a day, 63-session mediansyseq/strategy/config.py:14tests/test_frozen_params.py:15
universe.adv_window63sessionssyseq/strategy/config.py:15tests/test_frozen_params.py:15
universe.min_history252sessionssyseq/strategy/config.py:16tests/test_frozen_params.py:15
SECTOR_ETFSXLB, XLE, XLF, XLI, XLK, XLP, XLU, XLV, XLY, IYR, IYZ—syseq/strategy/leading.py:37tests/test_leading.py:49
INDUSTRY_ETFSIGV, SMH, IBB, IHI, XPH, IHF, KRE, IAI, KIE, XOP, OIH, XME, GDX, ITA, IYT, XRT, ITB, FDN—syseq/strategy/leading.py:38tests/test_leading.py:49
MAP_WINDOW252sessions of returns a stock's group is matched onsyseq/strategy/leading.py:44tests/test_leading.py:49
LEADERS6leading groupssyseq/strategy/leading.py:41tests/test_leading.py:49
RS_SPANS21, 63, 126sessions of total return, averagedsyseq/strategy/leading.py:42tests/test_leading.py:49
GROUP_TREND50sessions in a group ETF's averagesyseq/strategy/leading.py:43tests/test_leading.py:49
pullback.trend_sma200sessionssyseq/strategy/config.py:21tests/test_frozen_params.py:15
pullback.rsi_period2sessionssyseq/strategy/config.py:22tests/test_frozen_params.py:15
pullback.rsi_entry_below10—syseq/strategy/config.py:23tests/test_frozen_params.py:15
pullback.exit_sma5sessionssyseq/strategy/config.py:24tests/test_frozen_params.py:15
pullback.max_hold_sessions10sessionssyseq/strategy/config.py:25tests/test_frozen_params.py:15
pullback.slots20—syseq/strategy/config.py:26tests/test_frozen_params.py:15
pullback.slot_weight0.05of the pullback sleeve, here the whole sub-booksyseq/strategy/config.py:27tests/test_frozen_params.py:15
pullback_capital1of the sub-booksyseq/strategy/leading.py:51tests/test_leading.py:49
core_capital0of the sub-booksyseq/strategy/leading.py:51tests/test_leading.py:49
core.symbolSPY—syseq/strategy/config.py:32tests/test_frozen_params.py:15
core.trend_sma200sessions in SPY's average, the gate on entriessyseq/strategy/config.py:33tests/test_frozen_params.py:15
HALT_DRAWDOWN−0.25the sub-book's fall from its peaksyseq/execution/paper.py:22—
HALT_SHARPE_12M−0.5trailing-year Sharpesyseq/execution/paper.py:23—
WORK_FROM15:55ETsyseq/execution/close_worker.py:36tests/test_close_worker.py:210
LAST_ATTEMPT15:59ETsyseq/execution/close_worker.py:37—
LAST_SEND15:59:45ETsyseq/execution/close_worker.py:38—
OWNER_COMMISSION0.007USD a share a side, an estimatesyseq/journal/common.py:13tests/test_journal.py:651

Its read

What is read
the sub-book: its return, Sharpe, drawdown and trades against its backtest's one-year range; and its fills against the official close, with partial fills, rejections and unfilled exits. It has no local twin, and it cannot promote the strategy.
Read on
Sep 30, 2027
Trades needed
—
Trades logged
—
Hard stop
—
Shipped on
—
Deployed commit
c7b1582

Record so far

Closed trades
4
Won
3 of 4
P&L
+$413.78
Net P&L
+$412.39
Closed without a P&L
—
Closed without a net P&L
—
Open
20
Its NAV at each session's close as its ledger keeps it, before the interest and dividends the ledger credits it; the line is the $100,000 it was given.
$92,000$94,000$96,000$98,000$100,000$102,000Oct 7Oct 15Oct 7, 2026: $99,999.31Oct 8, 2026: $99,954.47Oct 9, 2026: $100,035.69Oct 12, 2026: $98,332.59Oct 13, 2026: $97,669.40Oct 14, 2026: $94,548.49Oct 15, 2026: $92,625.28
The book's value — data table
v2b's pullback in leading industries: its book's NAV at each session's close
SessionNAV
Oct 7, 2026$99,999.31
Oct 8, 2026$99,954.47
Oct 9, 2026$100,035.69
Oct 12, 2026$98,332.59
Oct 13, 2026$97,669.40
Oct 14, 2026$94,548.49
Oct 15, 2026$92,625.28
Each closed trade's net P&L as the record keeps it, by the day it closed.
−$100$0+$100+$200+$300QCOM, closed Oct 13, 2026: −$7.33 netTXN, closed Oct 13, 2026: +$101.99 netINCY, closed Oct 15, 2026: +$74.27 netVRTX, closed Oct 15, 2026: +$243.46 netOct 13Oct 15
Closed trades — data table
v2b's pullback in leading industries: each closed trade's P&L and net P&L as the record keeps them
ClosedSymbolP&LNet P&LReturn
Oct 13, 2026QCOM−$6.94−$7.33−0.14%
Oct 13, 2026TXN+$102.23+$101.99+2.14%
Oct 15, 2026INCY+$74.89+$74.27+1.53%
Oct 15, 2026VRTX+$243.60+$243.46+5.02%
Record Trade journal
Cost model

Alpaca paper fills, with no commission. In the DAILY account, shares one sub-book buys and another sells at the same close meet inside the account at the official close, and every leg on the larger side gets one average of that price and Alpaca's fill. 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, without dividends; the P&L, the total with dividends, the return and the P&L in basis points of the sub-book are before it. An open trade is marked at the latest official close, before commission, with the dividends paid so far beside it.

Trades

24 trades

OpenedClosedAccountSymbolSideSizeEntryExitP&LNet P&LReturnUnrealizedHeldExit byStatusRecord
Oct 15, 2026—DAILYKEYSlong13341.57————+$6.63——openTrade journal (1)
Oct 15, 2026—DAILYSNPSlong10468.77————−$6.60——openTrade journal (1)
Oct 14, 2026—DAILYANETlong25195.01————−$235.75——openTrade journal (1)
Oct 14, 2026—DAILYAPHlong5982.596272————−$65.27——openTrade journal (1)
Oct 14, 2026—DAILYDELLlong9505.536667————−$289.32——openTrade journal (1)
Oct 13, 2026—DAILYCDNSlong14334.30————−$138.88——openTrade journal (1)
Oct 13, 2026—DAILYFIXlong31,627.97————−$440.10——openTrade journal (1)
Oct 13, 2026—DAILYSTXlong6748.29————−$344.88——openTrade journal (1)
Oct 13, 2026Oct 15, 2026DAILYVRTXlong10485.18509.54+$243.60+$243.46+5.02%—2 sessionsclose>sma_exitclosedTrade journal (1)
Oct 12, 2026Oct 15, 2026DAILYINCYlong44111.54113.242+$74.89+$74.27+1.53%—3 sessionsclose>sma_exitclosedTrade journal (1)
Oct 12, 2026—DAILYKLAClong26190.293333————−$411.67——openTrade journal (1)
Oct 12, 2026—DAILYMUlong5991.152————−$299.56——openTrade journal (1)
Oct 12, 2026—DAILYSMCIlong12439.95758————−$603.58——openTrade journal (1)
Oct 12, 2026Oct 13, 2026DAILYTXNlong17281.5565287.57+$102.23+$101.99+2.14%—1 sessionclose>sma_exitclosedTrade journal (1)
Oct 9, 2026—DAILYAMDlong8608.1875————−$367.66——openTrade journal (1)
Oct 9, 2026—DAILYNVDAlong21229.657692————−$260.98——openTrade journal (1)
Oct 9, 2026—DAILYSNDKlong31,581.35————−$559.56——openTrade journal (1)
Oct 8, 2026—DAILYAMATlong9509.077647————−$711.61——openTrade journal (1)
Oct 8, 2026—DAILYCOHRlong16302.75————−$834.40——openTrade journal (1)
Oct 8, 2026—DAILYINTClong46106.81————−$526.24——openTrade journal (1)
Oct 8, 2026—DAILYLRCXlong15321.14————−$655.20——openTrade journal (1)
Oct 8, 2026—DAILYMPWRlong31,372.14————−$368.82——openTrade journal (1)
Oct 8, 2026—DAILYTERlong12399.464545————−$675.05——openTrade journal (1)
Oct 7, 2026Oct 13, 2026DAILYQCOMlong28177.1448176.8969−$6.94−$7.33−0.14%—4 sessionsclose>sma_exitclosedTrade journal (1)
  1. (1)
    Record Trade journal
    Cost model

    Alpaca paper fills, with no commission. In the DAILY account, shares one sub-book buys and another sells at the same close meet inside the account at the official close, and every leg on the larger side gets one average of that price and Alpaca's fill. 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, without dividends; the P&L, the total with dividends, the return and the P&L in basis points of the sub-book are before it. An open trade is marked at the latest official close, before commission, with the dividends paid so far beside it.

Where the research is

  • The daily account, and o11's joining (findings systematic-equity/DESIGN/170)
  • The trade journal (findings systematic-equity/DESIGN/190)
  • How o11 was found (findings systematic-equity/RESEARCH/240)