How to read an SEC Form 4 filing
·10 min read
Key takeaways
- The deadline is two business days, quoted from General Instruction 1(a): the form "must be filed before the end of the second business day following the day on which a transaction resulting in a change in beneficial ownership has been executed" (SEC Form 4, edition SEC 1474 (03-26), read 14 August 2026).
- The one-letter transaction code in Table I column 3 is what the filing means. P is an open market purchase, S an open market sale, A a grant or award from the company, F shares withheld to pay tax on vesting, and M an option exercise.
- Most headlines about insider buying are describing code A or code M, not code P. Only P is the insider spending their own money at a market price.
- Table I covers ordinary shares; Table II covers derivatives — the form's own examples are "puts, calls, warrants, options, convertible securities" — and adds conversion price, exercise date and expiry columns.
- Since reports filed on or after 1 April 2023, a checkbox states whether a transaction was made under a Rule 10b5-1(c) plan, and General Instruction 10 requires the plan's adoption date in the Explanation of Responses (SEC fact sheet, Release 33-11138).
- Prices are reported per share and exclude commissions (Instruction 5), so any aggregate dollar figure you read about a filing is someone's multiplication rather than a field on the form.
- StockPlus (our app) carries an insider feed free on both plans, but it does not display the transaction code, does not carry the 10b5-1 checkbox, and shows the transaction date rather than the filing date. For the code-level read, use EDGAR.
A Form 4 is one page of boxes, and almost all of its meaning sits in a single letter. Get that letter wrong and a routine tax withholding reads as an executive dumping stock, or a compensation grant reads as a vote of confidence. This is what each field on the form actually says, quoted from the form itself rather than from somebody’s summary of it.
What a Form 4 is
Form 4 is the “Statement of Changes in Beneficial Ownership”, filed under Section 16(a) of the Securities Exchange Act of 1934. Three kinds of people file it: directors, officers, and holders of more than ten percent of a class of the company’s registered equity. The form asks the filer to check which of those they are, and offers a fourth option — “Other” — which General Instruction 1(d) reserves for anyone reporting for a reason that does not fit the first three.
It is filed electronically through EDGAR, and it is public the moment it lands. There is no subscription and no request process. General Instruction 2(a) requires electronic filing except for filers who have obtained a hardship exception, which is why a paper Form 4 is now close to a curiosity.
The deadline, exactly as written
General Instruction 1(a) is one sentence and worth quoting in full, because paraphrases lose the part that matters:
“This Form must be filed before the end of the second business day following the day on which a transaction resulting in a change in beneficial ownership has been executed.”
Two business days, counted from execution, not from when anyone got around to noticing. That is the single most important structural fact about insider data: it is genuinely close to current. A Form 4 filed on a Wednesday describes something that happened on Monday.
The contrast worth holding in your head is congressional disclosure. Under the STOCK Act, a member of Congress reports within 30 days of being notified of a trade and in no case later than 45 days after it. Same idea, same kind of public filing, an order of magnitude apart in freshness. If you follow both, you are reading two feeds on completely different clocks.
The two checkboxes at the top
Above the name field sit two checkboxes, and they are easy to scroll past.
- “Check this box if no longer subject to Section 16.” The exit box. The person has left the role that made them a reporting insider. Instruction 1(b) is explicit that checking it does not end the obligation — “Form 4 and 5 obligations may continue to be applicable” — because trades made shortly after someone stops being an insider can still be reportable.
- The Rule 10b5-1(c) box. Checked when the transaction was made under “a contract, instruction or written plan that is intended to satisfy the affirmative defense conditions of Rule 10b5-1(c)”. In plain terms: this sale was scheduled in advance by a plan, not decided this week. General Instruction 10 also requires the filer to give the plan’s date of adoption in the “Explanation of Responses” section at the bottom of the form.
That second box is new enough that a lot of older commentary predates it. The SEC’s own fact sheet for the 2022 rulemaking states that “Section 16 reporting persons will be required to comply with the amendments to Forms 4 and 5 for beneficial ownership reports filed on or after April 1, 2023”. Before that date, whether a sale came from a pre-scheduled plan was usually only discoverable from a footnote, if the filer chose to add one. Now it is a field, and an unchecked box on a large sale is a different fact from a checked one.
Table I and Table II
The body of the form is two tables, and the split is between real shares and claims on shares.
- Table I — Non-Derivative Securities Acquired, Disposed of, or Beneficially Owned. Ordinary stock. Its columns run: title of security, transaction date, deemed execution date, transaction code, amount acquired (A) or disposed of (D), price, amount beneficially owned following the reported transactions, ownership form — direct (D) or indirect (I) — and the nature of any indirect ownership.
- Table II — Derivative Securities Acquired, Disposed of, or Beneficially Owned. The form gives its own examples: “puts, calls, warrants, options, convertible securities”. It carries everything Table I does plus a conversion or exercise price, a date exercisable, an expiration date, and the title and amount of the underlying security.
Two columns in Table I decide how much a headline number is worth. The first is Price: General Instruction 5 requires prices “in U.S. dollars on a per share basis, not an aggregate basis”, so the dollar figure you see quoted anywhere is somebody’s multiplication, not a field on the form. The second is Ownership Form: Direct (D) or Indirect (I). An indirect holding means the shares sit in a trust, a partnership, a spouse’s name or a similar arrangement, and Instruction 4(b)(iii) requires the filer to state the nature of it as specifically as possible — “By Self as Trustee for X,” “By Spouse,” “By X Trust”.
The transaction code is the filing
Column 3 of Table I and column 4 of Table II hold a one-letter transaction code, and it is the field that determines what the filing means. General Instruction 8 lists every valid code in five named groups. The groups are not decoration: they tell you whether the insider acted in the market or whether the company acted on the insider.
| Code | What the SEC says it means |
|---|---|
| General Transaction CodesA decision the insider made in the market with their own money. This is the group people mean when they say insider buying. | |
| P | Open market or private purchase of non-derivative or derivative security |
| S | Open market or private sale of non-derivative or derivative security |
| V | Transaction voluntarily reported earlier than required |
| Rule 16b-3 Transaction CodesTransactions between the insider and the company. Compensation, vesting, tax withholding — mostly the payroll of being an executive rather than a view on the stock. | |
| A | Grant, award or other acquisition pursuant to Rule 16b-3(d) |
| D | Disposition to the issuer of issuer equity securities pursuant to Rule 16b-3(e) |
| F | Payment of exercise price or tax liability by delivering or withholding securities incident to the receipt, exercise or vesting of a security issued in accordance with Rule 16b-3 |
| I | Discretionary transaction in accordance with Rule 16b-3(f) resulting in acquisition or disposition of issuer securities |
| M | Exercise or conversion of derivative security exempted pursuant to Rule 16b-3 |
| Derivative Securities Codes (Except for transactions exempted pursuant to Rule 16b-3)What happened to an option, warrant or convertible — exercised, expired, converted. | |
| C | Conversion of derivative security |
| E | Expiration of short derivative position |
| H | Expiration (or cancellation) of long derivative position with value received |
| O | Exercise of out-of-the-money derivative security |
| X | Exercise of in-the-money or at-the-money derivative security |
| Other Section 16(b) Exempt Transaction and Small Acquisition Codes (except for Rule 16b-3 codes above)Shares moved, but nobody bought or sold anything at a price. Gifts and inheritances live here. | |
| G | Bona fide gift |
| L | Small acquisition under Rule 16a-6 |
| W | Acquisition or disposition by will or the laws of descent and distribution |
| Z | Deposit into or withdrawal from voting trust |
| Other Transaction CodesThe catch-all. Code J means the filer had to write a footnote to explain what happened, which makes J filings worth actually reading. | |
| J | Other acquisition or disposition (describe transaction) |
| K | Transaction in equity swap or instrument with similar characteristics |
| U | Disposition pursuant to a tender of shares in a change of control transaction |
Two of these behave as modifiers rather than events. Instruction 8 says that when a transaction is voluntarily reported earlier than required, the filer places V in a separate column beside the code, and that a transaction involving an equity swap uses Kin addition to whatever else describes it — the instruction’s own examples are S/K and P/K. So a code cell containing a slash is normal, not a data error.
The five codes that carry most of the meaning
- P — open market purchase. The insider bought shares with their own money at a market price. This is the code that gives “insider buying” whatever meaning the phrase has, and it is much rarer than the volume of insider-buying headlines implies.
- S — open market sale. A real sale, but a weak signal on its own. Check the 10b5-1 box before reading anything into it: a sale scheduled months earlier by a plan and a sale decided on Tuesday look identical in the share count.
- A — grant or award. Shares the company gave the insider as compensation. It increases their holding without them having decided anything, and it is the most commonly misread code on the form, because a naive feed shows it as an acquisition.
- F — shares withheld for tax. When an award vests, a slice is withheld to pay the resulting tax bill. It is a disposition, it is often large, and it is close to uninformative. An F appearing a day or two after an A or M is the ordinary rhythm of executive compensation, not a change of view.
- M — option exercise. The insider converted options into shares. Frequently followed immediately by an S on the same or next filing, which together are one transaction — exercise and sell — rather than a purchase and a sale.
The practical consequence: an alert saying “an officer acquired 400,000 shares” is not a claim about anything until you know whether the code was P or A. Most of the time it is A.
What a Form 4 does not tell you
- Why.There is no field for motive, and no requirement to add one. The only free text is the footnotes and the “Explanation of Responses” box.
- Whether it was a good idea. Insiders are as capable as anyone of being wrong about their own company. Filing a purchase is not a forecast.
- The full picture of what they own elsewhere. A Form 4 reports beneficial ownership of the issuer’s securities. It says nothing about the rest of their portfolio, so a sale that looks enormous against their position may be small against their net worth, and vice versa.
- A deal price.Prices are per share and exclude “brokerage commissions and other costs of execution”, per Instruction 5. Where a transaction happened across a range, filers typically report a weighted average and explain the range in a footnote.
Where to read Form 4s for free
EDGAR, the SEC’s own system, at sec.gov/edgar/search. Filter by form type 4 and either a company or a person, and you get the filings themselves — no account, no fee, no intermediary. Each filing renders as a readable document and is also available as XML, which is what every insider-tracking product in existence is parsing.
The reason products exist on top of a free public database is volume, not access. Thousands of Form 4s are filed in a busy week, most of them code A and code F noise, and reading them by hand means opening one document at a time with no way to sort by anything you care about.
Where StockPlus fits, and where it does not
StockPlus is our app, so treat this section as the disclosure it is. Its insider feed is free on both plans with no ticker limit, and shows each filing as the insider’s name, whether it was a buy or a sale, the dollar value — or the share count where the filing carries no price — and how long ago the transaction happened.
Now the part this article makes it impossible to skip. Written out plainly, as of August 14, 2026:
- The transaction code is not shown. Only code P counts as a buy and only code S as a sale. Every other code — A, F, M, G and the rest — is bucketed as “other” and left out of the buy and sell totals. That is a defensible default, and it is not the same as showing you the letter.
- The 10b5-1 checkbox is not carried at all. There is no way to tell a scheduled plan sale from a discretionary one inside the app. For that you need the filing.
- The date shown is the transaction date, not the filing date. Both exist in the data; only the transaction date is displayed, so the feed shows no disclosure lag.
- The feed is not a sweep of every Form 4 filed. It is built from a data provider rather than read from EDGAR directly, and it covers the tickers StockPlus syncs — a seed set plus every ticker any user has on a watchlist — over a rolling recent window.
So: good for noticing that someone bought, not built for the forensic read. If the distinction between P and A is what you are there for — and after reading this you should probably want it — open the filing on EDGAR, or use a tool built specifically around Section 16 data. We would rather say that than let a summary imply it carries information it does not.
Where to read next
- Insider trading tracker — what the feed shows, what it costs, and what it leaves out.
- The STOCK Act’s 45-day rule — the congressional equivalent of this deadline, and why it is so much slower.
- When companies report earnings — the other filing calendar the market runs on, with the deadlines quoted the same way.
Frequently asked questions
What do the transaction codes on an SEC Form 4 mean?
The code is a single letter in Table I column 3 (or Table II column 4) that states what kind of transaction occurred. The most common are P, an open market or private purchase; S, an open market or private sale; A, a grant, award or other acquisition from the company; F, payment of an exercise price or tax liability by delivering or withholding shares; and M, the exercise or conversion of a derivative security. General Instruction 8 of the form lists all of them in five groups, and the group matters: General Transaction Codes are decisions the insider made in the market, while Rule 16b-3 codes are transactions between the insider and the company.
How long does an insider have to file a Form 4?
Two business days. General Instruction 1(a) states that the form "must be filed before the end of the second business day following the day on which a transaction resulting in a change in beneficial ownership has been executed". That makes Section 16 insider data far fresher than congressional trade disclosure, where the STOCK Act allows 30 days from notification and up to 45 days from the transaction.
What is the difference between Form 4 code P and code A?
Code P is an open market or private purchase — the insider bought shares with their own money at a market price. Code A is a grant, award or other acquisition under Rule 16b-3(d), meaning the company gave the insider shares as compensation. Both increase the insider's holding, so a feed that only reports share counts shows them the same way, but only P reflects a decision to buy. Most of the time, a large reported acquisition is A.
What does code F mean on a Form 4?
Code F is the "payment of exercise price or tax liability by delivering or withholding securities incident to the receipt, exercise or vesting of a security issued in accordance with Rule 16b-3". In practice: an award vested, and a slice of the shares was withheld to cover the tax bill. It is recorded as a disposition, it is often large, and it carries almost no information about what the insider thinks. An F landing a day or two after an A or an M is the ordinary rhythm of executive pay.
Does a Form 4 show whether a sale was part of a 10b5-1 plan?
Yes, since reports filed on or after 1 April 2023. The form carries a checkbox indicating that a transaction was made pursuant to a contract, instruction or written plan intended to satisfy the affirmative defense conditions of Rule 10b5-1(c), and General Instruction 10 requires the filer to give the plan's date of adoption in the Explanation of Responses. Before that date, a pre-scheduled sale was usually only identifiable from a voluntary footnote.
Where can I read Form 4 filings for free?
On EDGAR, the SEC's own filing system, at sec.gov/edgar/search. Filter by form type 4 and by a company or a person. There is no account, no fee, and each filing is available both as a readable document and as XML. Tools that track insider trades exist because of volume rather than access: thousands of Form 4s are filed in a busy week, most of them routine grants and tax withholdings.
Keep reading
- Why stock price alerts fail when your app is closed
The alert was set correctly and the notification still never came. The reason is structural, and it comes down to one question: which computer was supposed to check the price?
- When companies report earnings, and why the calendar looks the way it does
Why does nobody report a fourth quarter? Why do after-the-bell releases start at 4:05pm rather than 4:00? Both answers are in the rulebooks, and neither is a market convention.
- Shipping OneSignal push in a Kotlin Multiplatform app
The SDK calls are two lines. The two lines were never the work — here is what was, including a FIREBASE_FCM_INIT_ERROR that kept the build green and killed push on every Android device.
- The best congress stock trackers in 2026
Every list ranking for this term puts its own product first without saying so, and prints prices with no date. Nine trackers, a stated methodology, and four prices we could not verify — said out loud.
- The STOCK Act's 45-day rule, and how late congress actually files
Everyone quotes the rule as '45 days'. The statute sets a two-part test, and the difference decides whether a given filing was late at all.
- How to track congress stock trades (2026)
The filings are free and public, and almost nobody reads them — because the portals are miserable. Here is what is in a disclosure, what is missing, and the three ways to follow them.
- How to set stock price alerts that you will actually act on
Most alerts fail for one reason: they fire on noise. Here is how to pick the trigger type, the threshold, and the number of alerts you can actually live with.
- The best stock alert apps in 2026
Nearly every finance app claims alerts. The real differences are trigger types, free-tier limits, and whether alerts fire when the app is closed. Six apps, compared honestly.
Try it before you decide.
Free to start, no card required. One AI briefing each morning, a live watchlist, and alerts that actually matter.