Form 4 Transaction Codes Explained: The Complete Reference Guide

Every transaction on SEC Form 4 is tagged with a single-letter code that tells you exactly what type of activity occurred. Understanding these codes is the difference between spotting a genuine insider conviction buy and misinterpreting a routine tax withholding as a bearish signal.

The Complete Transaction Code Table

The SEC defines transaction codes in two categories: General Transaction Codes (used in Table I for non-derivative securities) and Derivative Transaction Codes (used in Table II). Here is the comprehensive reference:

General Transaction Codes (Table I)

Code Description Signal Value Direction
P Open market or private purchase ⭐⭐⭐⭐⭐ Highest Bullish
S Open market or private sale ⭐⭐⭐ Moderate (context-dependent) Bearish (if discretionary)
A Grant, award, or other acquisition from the company ⭐ Minimal Neutral
D Disposition (sale) to the company ⭐ Minimal Neutral
F Payment of exercise price or tax liability (withholding) None — noise Neutral
I Discretionary transaction pursuant to Rule 16b-3(f) ⭐ Minimal Varies
M Exercise or conversion of derivative security ⭐⭐ Low–Moderate (depends on follow-up) Varies
C Conversion of derivative security ⭐ Minimal Neutral
E Expiration of short derivative position None Neutral
G Bona fide gift None — noise Neutral
H Expiration (or cancellation) of long derivative position None Neutral
J Other acquisition or disposition (describe in footnotes) ⭐ Minimal (check footnotes) Varies
K Transaction in equity swap or similar instrument ⭐⭐ Low Varies
L Small acquisition under Rule 16a-6 ⭐ Minimal Neutral
U Disposition pursuant to a tender of shares in a change of control ⭐ Minimal Neutral
W Acquisition or disposition by will or succession None — noise Neutral
X Exercise of in-the-money or at-the-money derivative ⭐⭐ Low–Moderate Varies
Z Deposit into or withdrawal from voting trust None Neutral

The Codes That Matter Most

Code P — Open Market Purchase Highest Signal

This is the gold standard of insider trading signals. When you see code P, it means the insider went to their brokerage account and voluntarily spent their own money to buy shares on the open market — just like any other investor.

Why it's so powerful: Unlike grants (A), exercises (M), or conversions (C), a code P transaction represents a pure investment decision. The insider had no obligation to buy. They chose to, which means they believe the stock is undervalued.

Key metrics to evaluate code P transactions:

  • Dollar value: Purchases over $100K are significant; over $500K are very significant
  • Insider role: CEO/CFO purchases carry more weight than director purchases
  • Frequency: First purchase in 2+ years is more meaningful than regular quarterly buying
  • Price context: Buying after a decline is stronger than buying during an uptrend

On WhaleSentiment, you can filter for code P transactions on the insider buying page.

Code S — Open Market Sale Context-Dependent

Code S indicates the insider sold shares on the open market. However, interpreting sales is far more nuanced than interpreting purchases:

  • Check the 10b5-1 flag first. If the sale is part of a pre-scheduled plan, it carries minimal informational value.
  • Look at the footnotes. "For diversification purposes" or "to fund personal obligations" are common and benign.
  • Consider the context. A sale at all-time highs after a 200% run is different from a sale during a downtrend.
  • Check for clustering. Multiple insiders selling discretionally in the same period is a stronger warning signal.

Research by Jeng, Metrick & Zeckhauser (2003) shows that insider sales, on average, have weak predictive power for future stock declines — precisely because insiders sell for so many non-informational reasons. The exception: cluster sells outside 10b5-1 plans.

Explore recent insider sales on the insider selling page.

Code F — Tax Withholding Noise

Code F is the single biggest source of confusion for casual insider trading observers. When restricted stock vests or options are exercised, the insider owes income tax on the value. The company automatically withholds (sells) the minimum number of shares needed to cover the tax bill.

The insider has zero control over this transaction. It's not a sell decision — it's a payroll deduction in share form. Always filter out code F when analyzing insider sentiment.

📋 Example: Misreading Code F

Headlines: "CEO Sells $3 Million in Company Stock!"

Reality: 50,000 RSUs vested. Company withheld 20,000 shares ($3M) to cover the ~40% income tax. The CEO kept the other 30,000 shares. This is actually a modestly bullish signal — they could have sold more, but chose to hold.

Code M — Option Exercise Depends on Follow-Up

Code M appears when an insider exercises stock options or converts derivative securities. By itself, it's ambiguous. The signal depends entirely on what happens next:

Pattern Signal Interpretation
M + no sale 🟢 Moderately Bullish Insider exercised and held — they believe the stock will continue rising
M + S same day ⚪ Neutral / Noise Exercise-and-sell — routine compensation realization, no directional view
M + F (sell-to-cover) ⚪ Neutral Exercised, paid taxes, kept remaining shares — slightly bullish but routine
M near expiration ⚪ Noise Options were about to expire — forced action, not a conviction play

Codes to Always Filter Out

When analyzing insider trading data for investment signals, these codes should be automatically excluded from your analysis:

How to Use Transaction Codes in Practice

📋 A Day of Filings: Separating Signal from Noise

Imagine scanning today's Form 4 filings and seeing these five transactions:

1. CEO buys 15,000 shares at $32 — Code P — Value: $480,000 → ✅ STRONG SIGNAL: Voluntary open-market purchase by top executive 2. VP exercises 50,000 options — Code M — then sells 50,000 — Code S (same day) → ❌ NOISE: Exercise-and-sell, routine compensation 3. Director receives 5,000 share grant — Code A → ❌ NOISE: Company-issued compensation, not a purchase decision 4. CFO sells 8,000 shares — Code S — 10b5-1: Yes → ❌ LOW VALUE: Pre-scheduled sale, minimal informational content 5. COO buys 5,000 shares at $31.50 — Code P — Value: $157,500 → ✅ SIGNAL: Second C-level purchase = emerging cluster buy pattern!

Takeaway: Out of 5 transactions, only #1 and #5 are meaningful. Together they form a cluster buy — two C-level officers buying within the same period at similar prices. This is a strong bullish signal.

The Acquired/Disposed (A/D) Column

Every transaction row on Form 4 includes a column indicating whether securities were Acquired (A) or Disposed (D). This column works in conjunction with the transaction code:

Code + A/D Meaning Signal
P + A Purchased shares (acquired) 🟢 Bullish
S + D Sold shares (disposed) 🔴 Potentially bearish
M + A Exercised options and acquired shares ⚪ Neutral (check for follow-up sale)
A + A Received grant (acquired) ⚪ Noise
F + D Tax withholding (disposed) ⚪ Noise
G + D Gifted shares (disposed) ⚪ Noise

Key Takeaways

Transaction Codes Already Decoded for You

WhaleSentiment classifies every Form 4 transaction by code, filters out noise, and highlights the meaningful open-market purchases and sales.

→ View Insider Transactions by Code

Disclaimer: This guide is provided for educational and informational purposes only. It does not constitute financial advice, investment recommendation, or solicitation to buy or sell financial instruments. Past performance is not indicative of future results. Consult a qualified financial advisor before making investment decisions.