Small-cap stocks on October 23, 2026: gappers, halts and filings
On October 23, 2026, these are the small-cap stocks that moved, read from the same data the replay plays: the pre-market gappers, the day's gainers, intraday runners, losers and fades, the after-hours movers, every halt, and the offerings and splits filed or in effect. A day's high runs from 4 a.m., pre-market included, to the 4 p.m. close.
Pre-market gappers
Fewer than three small caps met the rule at 9:30 a.m. ET, so there is no list.
The small-cap rule: price from 2 to 20 dollars, gapped up 10% or more before the open, relative volume 5× or more, float under 20 million shares.
Play the moment: AIOK at 10:26 a.m. ET
The real Level 2, time and sales and chart from 10:23 a.m. to 10:35 a.m. ET, from the same feed the replay plays. It stops at 10:26 a.m. and asks what you would do, then plays on.
Gainers
The small caps up the most from the previous close at 4:00 p.m. ET, the close.
The small-cap rule: price from 2 to 20 dollars, up 10% or more on the day, relative volume 5× or more, float under 20 million shares.
| Symbol | Change at 4 p.m. | Close, 4 p.m. | Previous close | Volume, 4 a.m. to 4 p.m. | Relative volume by 8 p.m. | Float |
|---|---|---|---|---|---|---|
| AIOK why it ran | +184.0% | $12.07 | $4.25 | 17.95 million | 1030.6× | 1.11 million |
| CLRO why it ran | +67.7% | $3.22 | $1.92 | 9.19 million | 16.0× | 1.03 million |
| BOLT why it ran | +53.2% | $6.25 | $4.08 | 5.73 million | n/m | 1.26 million |
Intraday runners
The small caps whose high from 4:00 a.m. to 8:00 p.m. ET, pre-market and after hours included, was the furthest above the previous close, wherever they finished: a stock that spiked before the bell, during the day or after the close and gave it back is here.
The small-cap rule: the high priced from 2 to 20 dollars, a high 10% or more above the previous close, held by at least 3 one-minute bars that closed at or above that level on 100 shares or more, relative volume 5× or more, float under 20 million shares.
Or in play: up 30% or more at any moment on $3 million or more really traded, whatever its price, relative volume or float, its high at $1 or more.
| Symbol | Previous close | High, 4 a.m. to 4 p.m. | After-hours high, 4 p.m. to 8 p.m. | Close, 4 p.m. | Volume, 4 a.m. to 4 p.m. | Relative volume by 8 p.m. | Float |
|---|---|---|---|---|---|---|---|
| AIOK why it ran | $4.25 | $15.59 | $12.82 | $12.07 | 17.95 million | 1030.6× | 1.11 million |
| MACI why it ran | $11.10 | $11.37 | $30.00 | $11.00 | 1,674 | n/m | 19.92 million |
| CLRO why it ran | $1.92 | $4.68 | $4.81 | $3.22 | 9.19 million | 16.0× | 1.03 million |
| LABT why it ran | $0.4895 | $1.13 | $0.35 | $0.31 | 19.63 million | 19.2× | 1.65 million |
| YMAT why it ran | $1.92 | $3.80 | $2.51 | $2.02 | 16.41 million | 3.2× | 2.70 million |
| BOLT why it ran | $4.08 | $7.75 | $6.86 | $6.25 | 5.73 million | n/m | 1.26 million |
| SPRC why it ran | $1.20 | $1.42 | $1.96 | $1.08 | 107,011 | 4.3× | 555,738 |
| FGL why it ran | $2.87 | $4.27 | $1.86 | $1.80 | 4.84 million | 128.4× | not available |
| RENT why it ran | $2.37 | $2.38 | $3.47 | $2.31 | 42,872 | 45.5× | 5.00 million |
| AIXI why it ran | $2.48 | $3.60 | $3.07 | $2.94 | 9.16 million | 1.1× | 549,579 |
| BKYI why it ran | $2.74 | $3.91 | $3.44 | $3.40 | 10.12 million | 1.6× | 1.99 million |
| CLIK why it ran | $1.29 | $1.83 | $0.9163 | $0.887 | 7.09 million | 77.7× | 2.93 million |
| AARD why it ran | $3.95 | $5.41 | $1.56 | $1.46 | 6.52 million | 59.4× | 18.46 million |
| SAIQ why it ran | $5.28 | $7.05 | $6.35 | $6.07 | 2.82 million | 0.7× | 3.41 million |
Losers
Fewer than three small caps met the rule at 4:00 p.m. ET, so there is no list.
The small-cap rule: price from 2 to 20 dollars, down 10% or more on the day, relative volume 5× or more, float under 20 million shares.
Fades
Fewer than three small caps met the rule at 4:00 p.m. ET, so there is no list.
The small-cap rule: price from 2 to 20 dollars, gapped up 10% or more and closed 10% or more below the open, relative volume 5× or more, float under 20 million shares.
After hours
Fewer than three small caps met the rule at 8:00 p.m. ET, so there is no list.
The small-cap rule: price from 2 to 20 dollars, moved 10% or more after the close, relative volume 5× or more, float under 20 million shares.
Why they ran
The stocks we wrote up for this day, each with its gap, float, halts, the news before the move and a chart.
Halts
Every trading halt in the exchange's feed that day, in New York time: the small caps in the lists above first, then every other stock. See LULD halts.
| Halted | Symbol | Resumed | Length | Reason in the feed |
|---|---|---|---|---|
| 8:40 a.m. | BOLT | 9:55 a.m. | 75 min 1 s | News pending |
| 9:16 a.m. | AIOK | 9:55 a.m. | 38 min 17 s | News pending |
| 9:39 a.m. | AARD | 9:44 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 9:45 a.m. | AARD | 9:50 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 9:47 a.m. | CLRO | 10:02 a.m. | 14 min 52 s | LULD pause (limit up-limit down) |
| 9:49 a.m. | FGL | 9:59 a.m. | 10 min 0 s | LULD pause (limit up-limit down) |
| 9:51 a.m. | AARD | 9:56 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 9:57 a.m. | BOLT | 10:02 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 9:59 a.m. | AIOK | 10:04 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 9:59 a.m. | FGL | 10:04 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 10:03 a.m. | CLRO | 10:13 a.m. | 10 min 1 s | LULD pause (limit up-limit down) |
| 10:19 a.m. | CLRO | 10:29 a.m. | 10 min 0 s | LULD pause (limit up-limit down) |
| 10:30 a.m. | AIOK | 10:35 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 10:36 a.m. | AIOK | 10:41 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 10:42 a.m. | AIOK | 10:47 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 10:48 a.m. | AIOK | 10:53 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 11:05 a.m. | AIOK | 11:15 a.m. | 10 min 0 s | LULD pause (limit up-limit down) |
| 11:20 a.m. | AIOK | 11:25 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 11:31 a.m. | AIOK | 11:41 a.m. | 10 min 1 s | LULD pause (limit up-limit down) |
| 11:49 a.m. | AIOK | 11:59 a.m. | 10 min 0 s | LULD pause (limit up-limit down) |
| 12:01 p.m. | AIOK | 12:06 p.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 12:07 p.m. | AIOK | 12:12 p.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 12:12 p.m. | AIOK | 12:17 p.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 12:18 p.m. | AIOK | 12:23 p.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 12:36 p.m. | AIOK | 12:41 p.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 12:45 p.m. | AIOK | 12:50 p.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 3:30 p.m. | AIOK | 3:40 p.m. | 10 min 0 s | LULD pause (limit up-limit down) |
| 3:41 p.m. | AIOK | 3:46 p.m. | 5 min 0 s | LULD pause (limit up-limit down) |
Every other halt that day: 70
| Halted | Symbol | Resumed | Length | Reason in the feed |
|---|---|---|---|---|
| 4:00 a.m. | APXC | 10:20 a.m. | 380 min 4 s | Administrative |
| 4:00 a.m. | LU | 9:30 a.m. | 330 min 7 s | No reason given in the feed |
| 4:00 a.m. | LYCA | 11:54 a.m. | 474 min 50 s | Administrative |
| 4:00 a.m. | OVQ | 9:30 a.m. | 330 min 30 s | Administrative |
| 4:00 a.m. | QQDH | 9:53 a.m. | 353 min 37 s | Administrative |
| 6:00 a.m. | PAXGR | 9:35 a.m. | 215 min 27 s | Administrative |
| 8:12 a.m. | CATX | 11:05 a.m. | 173 min 0 s | No reason given in the feed |
| 8:42 a.m. | ACA | did not resume that day | No reason given in the feed | |
| 9:26 a.m. | ELME | did not resume that day | Regulatory | |
| 9:31 a.m. | PASW | 9:36 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 9:40 a.m. | PASW | 9:45 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 9:52 a.m. | RPGL | 9:57 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 10:00 a.m. | RPGL | 10:05 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 10:06 a.m. | RPGL | 10:11 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 10:15 a.m. | ZVZZT | 10:20 a.m. | 5 min 3 s | LULD pause (limit up-limit down) |
| 10:20 a.m. | APXC | 10:30 a.m. | 10 min 1 s | LULD pause (limit up-limit down) |
| 10:30 a.m. | APXC | 10:40 a.m. | 10 min 0 s | LULD pause (limit up-limit down) |
| 10:37 a.m. | LUD | 10:42 a.m. | 5 min 0 s | No reason given in the feed |
| 10:52 a.m. | MF | 11:07 a.m. | 15 min 0 s | LULD pause (limit up-limit down) |
| 11:03 a.m. | GLU-A | 11:44 a.m. | 41 min 44 s | No reason given in the feed |
| 11:03 a.m. | APXC | 11:08 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 11:13 a.m. | MF | 11:18 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 11:19 a.m. | APXC | 11:24 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 11:26 a.m. | FVNNU | 11:31 a.m. | 5 min 1 s | LULD pause (limit up-limit down) |
| 11:36 a.m. | APXC | 11:41 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 11:51 a.m. | ZVZZT | 11:56 a.m. | 5 min 2 s | LULD pause (limit up-limit down) |
| 11:56 a.m. | ZVZZT | 12:01 p.m. | 5 min 3 s | LULD pause (limit up-limit down) |
| 12:01 p.m. | ZVZZT | 12:06 p.m. | 5 min 3 s | LULD pause (limit up-limit down) |
| 12:06 p.m. | ZVZZT | 12:11 p.m. | 5 min 3 s | LULD pause (limit up-limit down) |
| 12:12 p.m. | MF | 12:17 p.m. | 5 min 3 s | LULD pause (limit up-limit down) |
| 12:14 p.m. | ZVZZT | 12:19 p.m. | 5 min 3 s | LULD pause (limit up-limit down) |
| 12:19 p.m. | ZVZZT | 12:24 p.m. | 5 min 3 s | LULD pause (limit up-limit down) |
| 12:22 p.m. | AHT-F | 12:27 p.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 12:24 p.m. | ZVZZT | 12:29 p.m. | 5 min 3 s | LULD pause (limit up-limit down) |
| 12:25 p.m. | MF | 12:30 p.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 12:30 p.m. | ZVZZT | 12:35 p.m. | 5 min 3 s | LULD pause (limit up-limit down) |
| 12:35 p.m. | ZVZZT | 12:40 p.m. | 5 min 3 s | LULD pause (limit up-limit down) |
| 12:40 p.m. | ZVZZT | 12:45 p.m. | 5 min 3 s | LULD pause (limit up-limit down) |
| 12:45 p.m. | ZVZZT | 12:50 p.m. | 5 min 3 s | LULD pause (limit up-limit down) |
| 12:51 p.m. | ZVZZT | 12:56 p.m. | 5 min 3 s | LULD pause (limit up-limit down) |
| 12:54 p.m. | ROMA | 1:04 p.m. | 10 min 2 s | LULD pause (limit up-limit down) |
| 12:56 p.m. | ZVZZT | 1:01 p.m. | 5 min 3 s | LULD pause (limit up-limit down) |
| 1:01 p.m. | ZVZZT | 1:06 p.m. | 5 min 3 s | LULD pause (limit up-limit down) |
| 1:06 p.m. | ZVZZT | 1:11 p.m. | 5 min 3 s | LULD pause (limit up-limit down) |
| 1:12 p.m. | ZVZZT | 1:17 p.m. | 5 min 3 s | LULD pause (limit up-limit down) |
| 1:17 p.m. | ZVZZT | 1:22 p.m. | 5 min 3 s | LULD pause (limit up-limit down) |
| 1:22 p.m. | ZVZZT | 1:27 p.m. | 5 min 3 s | LULD pause (limit up-limit down) |
| 1:27 p.m. | ZVZZT | 1:32 p.m. | 5 min 3 s | LULD pause (limit up-limit down) |
| 1:33 p.m. | ZVZZT | 1:38 p.m. | 5 min 2 s | LULD pause (limit up-limit down) |
| 1:40 p.m. | BRAI | 1:45 p.m. | 5 min 3 s | LULD pause (limit up-limit down) |
| 1:45 p.m. | ZVZZT | 1:50 p.m. | 5 min 2 s | LULD pause (limit up-limit down) |
| 1:51 p.m. | ZVZZT | 1:56 p.m. | 5 min 3 s | LULD pause (limit up-limit down) |
| 3:17 p.m. | PASW | 3:27 p.m. | 10 min 1 s | LULD pause (limit up-limit down) |
| 3:29 p.m. | PASW | 3:34 p.m. | 5 min 3 s | LULD pause (limit up-limit down) |
| 3:42 p.m. | RFAI | 3:47 p.m. | 5 min 1 s | LULD pause (limit up-limit down) |
| 3:44 p.m. | ITOC | 3:49 p.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 3:59 p.m. | PASW | 4:00 p.m. | 0 min 31 s | LULD pause (limit up-limit down) |
| 7:50 p.m. | GCTK | did not resume that day | News pending | |
| 7:50 p.m. | LHSW | did not resume that day | News pending | |
| 7:50 p.m. | IPW | did not resume that day | News pending | |
| 7:50 p.m. | HCTI | did not resume that day | News pending | |
| 7:50 p.m. | HKPD | did not resume that day | News pending | |
| 7:50 p.m. | SBFM | did not resume that day | News pending | |
| 7:50 p.m. | COCH | did not resume that day | News pending | |
| 7:50 p.m. | PPCB | did not resume that day | News pending | |
| 7:50 p.m. | BDRX | did not resume that day | News pending | |
| 7:50 p.m. | SXTC | did not resume that day | News pending | |
| 7:50 p.m. | TWG | did not resume that day | News pending | |
| 7:50 p.m. | NATH | did not resume that day | Additional information requested | |
| 7:51 p.m. | CHOW | did not resume that day | No reason given in the feed |
Offerings filed
Offering filings with the SEC that day, from EDGAR, in New York time: the small caps in the lists above first, then the others. See offerings.
| Filed | Symbol | Form |
|---|---|---|
| 12:15 a.m. | EZET | EFFECT |
| 12:15 a.m. | DFNS | EFFECT |
| 12:15 a.m. | DFNS | EFFECT |
| 12:15 a.m. | TMCR | EFFECT |
| 12:15 a.m. | TMCR | EFFECT |
| 6:30 a.m. | JKS | 424B3 |
| 8:20 a.m. | BOF | 424B5 |
| 10:05 a.m. | MSGY | F-3 |
| 11:43 a.m. | WORX | S-3/A |
| 11:51 a.m. | DFNS | 424B3 |
| 11:53 a.m. | DFNS | 424B3 |
| 4:05 p.m. | TMCR | 424B3 |
| 4:10 p.m. | TMCR | 424B3 |
| 4:19 p.m. | PINE | 424B5 |
| 4:20 p.m. | XRPN | 424B3 |
| 4:21 p.m. | PINE | 424B5 |
| 4:32 p.m. | XRPN | S-1 |
| 4:53 p.m. | BTLN | S-3 |
| 5:00 p.m. | PASW | F-3 |
| 5:00 p.m. | MCFT | 424B3 |
| 5:01 p.m. | TAOX | S-3/A |
Splits that took effect
| Symbol | Split | Took effect |
|---|---|---|
| LU | 1-for-10 reverse split | October 23, 2026 |
Trade this day
Replay October 23, 2026 in Hindsight Markets: the real tape, the order book and the halts for every stock, on a clock you control, and see where your orders would have filled.