How to find insider buying with Claude or ChatGPT
Reviewed
What counts
Insider buying is when a company’s officers, directors or owners of more than 10% of its stock buy shares in the open market. They report each trade to the SEC on Form 4, within two business days.
The rule Monk.trade uses: an open-market purchase (transaction code P) of common stock reported on Form 4, outside a prearranged trading plan. A filing counts from the first session after Monk.trade receives it.
Ask it
Using Monk.trade, which stocks had the most insider buying in the last 20 trading days? Count only open-market purchases reported on SEC Form 4, outside trading plans, and show the dollars bought.
Opens with the question filled in; nothing is sent until you press send. Not connected? Help
The query, line by line
Your app writes this MonkQL from the prompt. Each line does one thing.
from stocksScan every active US stock.
include type == "common"Keep common stock; leave out funds and other share types.
where insiders(code = "p", plan = "none", window = 20)Keep stocks with at least one open-market purchase on Form 4, outside a trading plan, in the last 20 sessions.
show insiders(code = "p", plan = "none", window = 20).net as bought, insiders(code = "p", plan = "none", window = 20).count as form_4sShow the dollars bought and how many Form 4s reported them.
sort bought descLargest buying first.
take 5The five largest.
Variations
Officers and directors only
“Using Monk.trade, which stocks had open-market buying by officers or directors in the last 20 trading days?”
from stocks include type == "common" where insiders(code = "p", relation = "officer", plan = "none", window = 20) or insiders(code = "p", relation = "director", plan = "none", window = 20) sort insiders(code = "p", plan = "none", window = 20).net desc
CEO purchases
“Using Monk.trade, which CEOs bought their own company’s stock in the last 20 trading days?”
from stocks where insiders(code = "p", relation = "ceo", window = 20) show insiders(code = "p", relation = "ceo", window = 20).net as bought sort bought desc
Three or more buyers
“Using Monk.trade, where have three or more insiders bought in the last 10 trading days?”
from stocks where last(insiders(code = "p").buyers, 10) >= 3 show sum(insiders(code = "p") ? insiders(code = "p").net : 0, 10) as bought sort bought desc
Example result
Example · run · data to
| Symbol | Bought | Form 4s |
|---|---|---|
| LEN | $379.7M | 3 |
| KOD | $157.0M | 3 |
| SAFX | $142.1M | 1 |
| GPI | $97.8M | 2 |
| GME | $50.7M | 4 |
112 stocks matched; 18 could not be decided from the data available, so the run is marked partial. Lennar’s figure covers 20 sessions, not the 30 on its research page. Run 01a16cba-ce62-7a53-b4e3-08c8d5fb438f
Research on insider buying
- How much has Berkshire Hathaway bought of Lennar?
$586M of open-market purchases in 4 Form 4s, Sep 21 – Oct 5, 2026, at about $80 a share.
Limits
- Form 4s arrive up to two business days after the trade.
- Totals use the prices in each filing, so one large owner can outweigh many small buyers.
- A partial run leaves some stocks undecided; ask again later or narrow the scan.
- Insider buying is a fact about past trades, not a forecast.
Research only. Not investment advice. Read the risk notice
Not connected? Help