How to scan opening and premarket gaps with ChatGPT or Claude
Reviewed
Ask it
Using Monk.trade, which stocks gapped up or down 3% or more at today's open?
Opens with the question filled in; nothing is sent until you press send. In ChatGPT, you can also type @ and choose Monk.trade. Not connected? Help
Precise version: the same rule every time
Using Monk.trade, find common stocks priced at $5 or more and averaging at least $20M in daily trading value whose open today was at least 3% above or below yesterday's close. Show yesterday's close, today's open, the last price, the gap and the move from the open.
What you get back
A starting list for research. It does not recommend any trade.
Example · run · data to
| Symbol | Prior close | Open | Last | Gap | From open |
|---|---|---|---|---|---|
| AEHL | $17.44 | $10.50 | $12.67 | -39.8% | +20.7% |
| FROG | $74.62 | $94.59 | $97.85 | +26.8% | +3.4% |
| DKNG | $23.52 | $17.34 | $16.64 | -26.3% | -4.1% |
| LASR | $29.34 | $36.84 | $36.06 | +25.6% | -2.1% |
| OMH | $13.35 | $10.00 | $8.91 | -25.1% | -10.9% |
385 stocks gapped at least 3% at the Nov 6 open; these are the five largest. Last prices were taken late in the morning and kept moving after that. OMH, a small stock that spiked earlier in the week, gave back a quarter of its price at the open.
US stocks, ETFs and futures. The free plan runs 20 queries a day on daily bars; Pro adds intraday.
Then ask
Paste these into the same chat, after the first answer, so your AI knows which results you mean.
Which of these filed an earnings release on Form 8-K?
Any news on these in the past two days?
Chart the top three over the last 60 sessions.
Which of these are still above today's open?
What counts
An opening gap is the jump between one session's close and the next session's open, measured in percent. The move from the open to the close shows whether the gap kept going or faded during the day.
The rule Monk.trade uses: common stocks at $5 or more, averaging at least $20M traded a day over the 20 sessions before today. Today's open must be at least 3% above or below yesterday's close. There is no volume test, because early in the day volume covers only part of a session.
New to these terms?
- Gap
- When a stock opens well above or below the previous day's close, leaving an empty space on the chart.
- Prior close
- The closing price of the session before. The gap is measured from it.
- From open
- How far the price moved between the open and the close. A gap up that closes below its open has faded.
- Vol vs usual
- The day's volume divided by the average of the 20 sessions before. 2.00× means twice the usual number of shares traded.
- Premarket
- Trading before the 9:30 a.m. Eastern open. Fewer shares change hands, so prices can jump more easily.
Variations
Yesterday's gaps on heavy volume
“Using Monk.trade, check the last completed daily session for common stocks averaging at least $20M in daily trading value that opened at least 3% above or below the prior close. Require volume of at least 1.5 times the prior 20-day average. Show the prior close, open, close, opening gap and move from the open.”
MonkQL
from stocks let gap = 100 * (open[1] / close[2] - 1) include type == "common" and sma(close * volume, 20)[2] >= 20000000 where abs(gap) >= 3 and volume[1] >= 1.5 * sma(volume, 20)[2] show close[2] as prior_close, open[1] as day_open, close[1] as day_close, gap, 100 * (close[1] / open[1] - 1) as from_open, volume[1] / sma(volume, 20)[2] as vol_ratio sort abs(gap) desc take 5Upside gaps that closed above the open
“Using Monk.trade, check the last completed daily session for common stocks averaging at least $20M traded a day that opened at least 3% higher and closed at or above the open. Require volume of at least 1.5 times the preceding average.”
MonkQL
from stocks let gap = 100 * (open[1] / close[2] - 1) include type == "common" and sma(close * volume, 20)[2] >= 20000000 where gap >= 3 and close[1] >= open[1] and volume[1] >= 1.5 * sma(volume, 20)[2] show close[2] as prior_close, open[1] as day_open, close[1] as day_close, gap, volume[1] / sma(volume, 20)[2] as vol_ratio sort gap desc take 5Premarket gaps before the bell (Pro)
“Using Monk.trade, scan premarket 5-minute bars for common stocks at least 3% above or below the latest daily close. Require at least $1M in premarket dollar volume.”
MonkQL
from stocks on 5m premarket let gap = 100 * (close / close@daily - 1) include type == "common" where abs(gap) >= 3 and close * volume@session >= 1000000 show close, close@daily as prior_close, gap, close * volume@session as premarket_value sort abs(gap) desc take 5
Check before you act
- Nothing on this page is a signal to buy or sell. Prices can keep moving against you, and you can lose money.
- The gap is set once the market opens at 9:30 ET, but the last price and the move from the open keep changing until the close. To see whether gaps held, ask for yesterday's gaps on the last completed session (the first variation).
- Daily bars adjust for recorded share splits but not for cash dividends. A regular or special dividend can cause a gap down on the day the stock starts trading without it; check filings or news before reading much into it.
- Premarket trading has fewer shares changing hands and wider gaps between buy and sell prices than the regular session. Premarket scans require Monk.trade Pro.
- Check the reason for a gap. Earnings, share offerings, regulatory news and takeover bids can all cause large moves, and a takeover bid can also cap further gains.
The query
The MonkQL your AI writes
from stocksScan active US stocks on regular daily bars.
let gap = 100 * (open / close[1] - 1)Name today's opening gap: today's open against yesterday's close, in percent.
include type == "common" and close[1] >= 5 and sma(close * volume, 20)[1] >= 20000000Keep common stocks that closed at $5 or more yesterday and averaged at least $20M traded a day over the 20 sessions before today.
where abs(gap) >= 3Keep gaps of at least 3% in either direction.
show close[1] as prior_close, open, close as last, gap, 100 * (close / open - 1) as from_openShow yesterday's close, today's open, the latest price, the gap and the move since the open.
sort abs(gap) descLargest gaps first, up or down.
take 5Return up to five stocks.
Ask your AI to show the query it ran. The example came from run 01a1b190-3ecf-7193-b808-aa65290911c1.
Research only. Not investment advice. Read the risk notice