Small-cap stocks on October 22, 2026: gappers, halts and filings
On October 22, 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: STAK at 11:43 a.m. ET
The real Level 2, time and sales and chart from 11:40 a.m. to 11:52 a.m. ET, from the same feed the replay plays. It stops at 11:43 a.m. and asks what you would do, then plays on.
Gainers
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, up 10% or more on the day, relative volume 5× or more, float under 20 million shares.
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 |
|---|---|---|---|---|---|---|---|
| TANH why it ran | $8.81 | $28.25 | $35.89 | $24.97 | 547,261 | 21.1× | 667,624 |
| PFSA why it ran | $0.8492 | $2.53 | $1.20 | $1.01 | 18.61 million | 8.2× | 515,010 |
| STAK why it ran | $1.00 | $1.91 | $1.99 | $1.75 | 36.08 million | 23.1× | 10.01 million |
| XLAB why it ran | $2.72 | $4.89 | $5.06 | $4.80 | 19.37 million | 4.4× | 21.86 million |
| NCPL why it ran | $1.57 | $2.65 | $2.36 | $2.22 | 7.77 million | 1.5× | 6.88 million |
| BKYI why it ran | $2.10 | $3.39 | $3.10 | $2.73 | 12.47 million | 2.2× | 1.99 million |
| SAIQ why it ran | $5.56 | $8.85 | $6.59 | $5.28 | 8.31 million | 2.4× | 3.41 million |
| GIXI why it ran | $4.00 | $6.10 | $5.09 | $3.90 | 3.52 million | 4.5× | 2.38 million |
| DKI why it ran | $2.00 | $2.60 | $2.84 | $2.23 | 597,457 | 3.2× | 33,354 |
| KRRO why it ran | $9.29 | $12.14 | $12.90 | $12.05 | 265,697 | 2.7× | 13.58 million |
| SDEV why it ran | $1.10 | $1.44 | $1.16 | $1.10 | 14.60 million | 0.8× | 29.08 million |
| AARD why it ran | $4.41 | $4.44 | $5.69 | $3.97 | 34,969 | 12.6× | 18.46 million |
| UPC why it ran | $3.98 | $4.75 | $4.42 | $4.38 | 237,339 | 5.7× | 4.02 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 |
|---|---|---|---|---|
| 9:31 a.m. | TANH | 9:47 a.m. | 15 min 27 s | LULD pause (limit up-limit down) |
| 10:14 a.m. | SAIQ | 10:19 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 10:56 a.m. | TANH | 11:01 a.m. | 5 min 1 s | LULD pause (limit up-limit down) |
| 11:01 a.m. | TANH | 11:11 a.m. | 10 min 0 s | LULD pause (limit up-limit down) |
| 11:12 a.m. | TANH | 11:22 a.m. | 10 min 0 s | LULD pause (limit up-limit down) |
| 1:31 p.m. | TANH | 1:41 p.m. | 10 min 0 s | LULD pause (limit up-limit down) |
| 2:33 p.m. | TANH | 2:43 p.m. | 10 min 0 s | LULD pause (limit up-limit down) |
| 3:26 p.m. | TANH | 3:36 p.m. | 10 min 1 s | LULD pause (limit up-limit down) |
| 3:36 p.m. | TANH | 3:41 p.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 3:42 p.m. | TANH | 3:47 p.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 4:01 p.m. | AARD | 4:35 p.m. | 34 min 2 s | News pending |
Every other halt that day: 39
| Halted | Symbol | Resumed | Length | Reason in the feed |
|---|---|---|---|---|
| 4:00 a.m. | DAVI | 11:10 a.m. | 430 min 5 s | Administrative |
| 9:30 a.m. | ZVZZT | 10:15 a.m. | 45 min 0 s | LULD pause (limit up-limit down) |
| 9:31 a.m. | PSOX | 9:36 a.m. | 5 min 1 s | No reason given in the feed |
| 9:31 a.m. | AVTX | 9:36 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 9:32 a.m. | POM | 9:37 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 9:37 a.m. | POM | 9:42 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 9:43 a.m. | POM | 9:53 a.m. | 10 min 0 s | LULD pause (limit up-limit down) |
| 9:53 a.m. | POM | 10:03 a.m. | 10 min 0 s | LULD pause (limit up-limit down) |
| 9:54 a.m. | NANO | 9:59 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 9:58 a.m. | MACI | 10:08 a.m. | 10 min 0 s | LULD pause (limit up-limit down) |
| 10:04 a.m. | POM | 10:14 a.m. | 10 min 0 s | LULD pause (limit up-limit down) |
| 10:14 a.m. | POM | 10:19 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 10:17 a.m. | WSO.B | 10:22 a.m. | 5 min 5 s | LULD pause (limit up-limit down) |
| 10:18 a.m. | MACIU | 10:28 a.m. | 10 min 4 s | LULD pause (limit up-limit down) |
| 10:19 a.m. | POM | 10:24 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 10:21 a.m. | COHC | 10:26 a.m. | 5 min 3 s | No reason given in the feed |
| 10:24 a.m. | OPTU | 10:29 a.m. | 5 min 4 s | LULD pause (limit up-limit down) |
| 10:27 a.m. | TERC | 10:32 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 10:27 a.m. | POM | 10:32 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 10:34 a.m. | POM | 10:39 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 10:40 a.m. | POM | 10:50 a.m. | 10 min 0 s | LULD pause (limit up-limit down) |
| 10:47 a.m. | GEVC | 10:52 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 11:00 a.m. | POM | 11:05 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 11:06 a.m. | POM | 11:16 a.m. | 10 min 0 s | LULD pause (limit up-limit down) |
| 11:18 a.m. | POM | 11:23 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 11:22 a.m. | SFWL | 11:27 a.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 12:08 p.m. | SKYD | 12:13 p.m. | 5 min 15 s | LULD pause (limit up-limit down) |
| 12:34 p.m. | MRNA | 12:39 p.m. | 5 min 0 s | LULD pause (limit up-limit down) |
| 12:59 p.m. | RIBBU | 1:28 p.m. | 29 min 15 s | LULD pause (limit up-limit down) |
| 1:44 p.m. | ZVZZT | 1:49 p.m. | 5 min 3 s | LULD pause (limit up-limit down) |
| 2:04 p.m. | ZVZZT | 2:09 p.m. | 5 min 3 s | LULD pause (limit up-limit down) |
| 2:14 p.m. | BKHAU | 2:24 p.m. | 10 min 2 s | LULD pause (limit up-limit down) |
| 3:11 p.m. | FPS | 3:32 p.m. | 21 min 9 s | News pending |
| 3:11 p.m. | FPSX | 3:42 p.m. | 31 min 9 s | No reason given in the feed |
| 4:00 p.m. | SABSW | did not resume that day | Additional information requested | |
| 7:50 p.m. | PASW | did not resume that day | News pending | |
| 7:50 p.m. | NIVF | did not resume that day | News pending | |
| 7:50 p.m. | HCAI | did not resume that day | News pending | |
| 7:50 p.m. | LU | 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. | EARN | EFFECT |
| 7:10 a.m. | CRML | F-3 |
| 9:00 a.m. | AEHL | 424B5 |
| 12:57 p.m. | CITR | 424B4 |
| 1:11 p.m. | PMI | S-3 |
| 4:31 p.m. | WBX | F-1/A |
| 5:08 p.m. | JAGX | S-3 |
Splits that took effect
| Symbol | Split | Took effect |
|---|---|---|
| AXNX | 1-for-3 reverse split | October 22, 2026 |
| DKI | 1-for-50 reverse split | October 22, 2026 |
Trade this day
Replay October 22, 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.