How to track 13D and 13G stakes with Claude or ChatGPT
Reviewed
What counts
Schedule 13D and 13G report holdings above 5% of a company’s share class. A 13D describes an active holder who may seek influence; a 13G generally describes a passive holder or an institution eligible for the shorter form.
The rule Monk.trade uses: an original Schedule 13D received in the last 20 sessions, with the holder and reported percentage. An amendment updates an earlier report.
Ask it
Using Monk.trade, find new Schedule 13D filings in the last 20 trading sessions. Show the holder and percentage owned, largest first.
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 active US stocks.
where filings(form = "13d", kind = "original", window = 20)Keep original Schedule 13D reports from the last 20 sessions.
show filings(form = "13d", kind = "original", window = 20).holder as holder, filings(form = "13d", kind = "original", window = 20).stake as stake_pctShow the holder and percentage from the newest matching report for each company.
sort stake_pct descPut the largest reported holding first.
take 5Show five companies.
Variations
Stakes that grew
“Using Monk.trade, find Schedule 13D amendments with an increased holding in the last 20 sessions. Show the holder, percentage owned and increase in percentage points.”
from stocks where filings(form = "13d", kind = "amendment", change = "added", window = 20) show filings(form = "13d", kind = "amendment", change = "added", window = 20).holder as holder, filings(form = "13d", kind = "amendment", change = "added", window = 20).stake as stake_pct, filings(form = "13d", kind = "amendment", change = "added", window = 20).stake_change as stake_change sort stake_change desc take 5New passive stakes (13G)
“Using Monk.trade, find original Schedule 13G reports in the last 20 sessions. Show the holder and percentage owned.”
from stocks where filings(form = "13g", kind = "original", window = 20) show filings(form = "13g", kind = "original", window = 20).holder as holder, filings(form = "13g", kind = "original", window = 20).stake as stake_pct sort stake_pct desc take 5
Example result
Example · run · data to
32 stocks matched; 45 could not be decided, so the run is partial. These are the first five, ordered by the percentage in each company’s newest matching report. Run 01a17f13-4ee8-7e71-9a35-7074009b47ba
Limits
- The window counts when a report becomes available to the daily scan, not when shares were bought.
- One row shows the newest matching holder for a company; other holders may have filed too.
- Reported percentages can change with the share count, without a purchase or sale.
- Missing reports leave some companies undecided; read the linked filing for the holder’s stated plans.
Research only. Not investment advice. Read the risk notice
Not connected? Help