Guide / Ownership Intelligence
Ownership Intelligence
Insider transactions (Form 4) and institutional holdings (13F) as conviction signals
Ownership intelligence combines two independent data streams — SEC Form 4 insider filings and WhaleWisdom 13F institutional holdings — into signals that feed the Catalyst dimension of conviction scoring. Both signals use relative scoring (% of holdings, not raw dollar amounts) to normalize across market caps.
Insider Activity (SEC Form 4)
Parses SEC EDGAR Form 4 XML filings to track open-market purchases and sales by corporate insiders (officers and directors). Backfills 3 years of history per ticker for baseline comparison.
Data Pipeline
| Step | Source | Output |
| CIK Resolution |
SEC company_tickers.json → FMP /profile → CIK_OVERRIDES |
10-digit CIK for EDGAR lookup |
| Filing Discovery |
SEC EDGAR full-text search (owner/issuer filings) |
Form 4 XML URLs |
| XML Parsing |
Form 4 XML — nonDerivativeTransaction elements |
Transaction rows: insider name, title, date, shares, price, code (P/S/A/D/M) |
| Filtering |
Raw transactions |
Open-market only (code P or S, not option exercises/gifts/awards) |
| Signal Computation |
Filtered transactions + 3yr history |
insider_activity signal (0–100) in ticker_signals |
Signal Components
| Metric | What It Measures |
| buys_officer_30d | C-suite open-market purchases in last 30 days |
| buys_director_30d | Director open-market purchases in last 30 days |
| max_buy_pct_holdings | Largest single purchase as % of buyer's current holdings |
| sells_30d | Total open-market sales in last 30 days |
| max_sell_pct_holdings | Largest single sale as % of seller's prior quarter position |
| pct_of_float_30d | Total 30d sales volume as % of shares float |
| baseline | "elevated" (>2x historical), "moderately_elevated" (>1.5x), or "normal" |
Scoring Algorithm
Base: 50 (neutral)
Buy signals (additive):
C-suite buy ≥10% holdings: +20 pts
C-suite buy 3–10%: +12 pts
C-suite buy <3%: +5 pts
Director buy ≥10%: +12 pts
Director buy 3–10%: +8 pts
Director buy <3%: +3 pts
Sell signals (subtractive):
Elevated sales (>2x baseline): -15 pts
Moderately elevated (1.5–2x baseline): -8 pts
Clamped to [15, 90]
Signal Labels
| Label | Condition |
| Cluster Buy | 2+ insiders buying, max_buy_pct ≥ 3% |
| Conviction Buy | 1+ insider buying, max_buy_pct ≥ 3% |
| Insider Buying | Any C-suite/director purchase |
| Elevated Selling | >2x historical baseline |
| Significant Selling | 1+ sale, max_sell_pct ≥ 10% |
| Routine Selling | Normal baseline activity |
| No Activity | Neither buying nor selling |
Why Relative Scoring?
A CEO buying $50K of a $200B company is noise. A CEO buying $50K that represents 15% of their existing position is a real signal. All insider metrics are expressed as % of the insider's own holdings, not raw dollars. The 3-year historical baseline further contextualizes whether current activity is unusual for that company's insider pattern.
Institutional Holdings (13F)
Fetches quarterly 13F filing data from WhaleWisdom API to track institutional holder positions, compute accumulation/distribution trends, and measure ownership concentration.
Data Pipeline
| Step | Source | Output |
| Ticker Resolution |
WhaleWisdom stock_lookup command |
stock_id for WhaleWisdom queries |
| Holder Fetch |
WhaleWisdom API (top 50 holders per ticker per quarter) |
institutional_holders rows: holder name, shares, market value, % of portfolio, quarter |
| Trend Computation |
4-quarter holder history |
Per-holder trajectory: shares_change, pct_change, new/exit/increased/decreased |
| Signal Computation |
Aggregated trends |
institutional_momentum signal (0–100) in ticker_signals |
Authentication
WhaleWisdom uses HMAC-SHA1 signed requests:
message = command + timestamp
signature = HMAC-SHA1(secret_key, message)
Headers: X-Public-Key, X-Timestamp, X-Signature
Scoring Algorithm
Base: 50 (neutral)
Net new positions (new − exits):
>50: +15 pts | 20–50: +10 pts | 1–20: +5 pts
-20 to 0: -5 pts | <-20: -10 pts
Increased/decreased ratio:
>70%: +10 pts | 55–70%: +5 pts
30–45%: -5 pts | <30%: -10 pts
Net share change:
Positive: +5 pts | Negative: -5 pts
Clamped to [15, 90]
Signal Labels
| Label | Score Range |
| Accumulating | ≥65 |
| Neutral | 35–64 |
| Distributing | ≤34 |
Concentration Metrics
| Metric | Formula | Interpretation |
| Accumulation Ratio (All) |
increased / (increased + decreased) across all holders |
Broad institutional sentiment |
| Accumulation Ratio (Top 50%) |
Same ratio, but only among top 50% holders by AUM |
Smart money sentiment (large funds have more resources) |
| HHI Concentration |
Σ(holder_share_pct2) for all holders |
<0.15 = diversified, 0.15–0.25 = moderate, >0.25 = concentrated |
Dashboard Presentation
Ownership data surfaces in three places:
| Location | Content |
| Company → Summary tab |
Ownership summary card: insider signal badge + institutional accumulation ratio + top holder |
| Company → Ownership tab |
Full institutional table (sortable, with holder detail popups), insider transaction table grouped by person/quarter, whale moves panel with sparklines |
| Buy Radar → Discoveries |
Insider cluster buy and conviction buy signals surface as discovery triggers |
Impact on Conviction
Both signals feed directly into the Catalyst dimension as scored components (0–100). They are averaged alongside rating momentum, estimate momentum, guidance trajectory, thesis conviction, thesis consistency, and contrarian signal. Missing signals are excluded and remaining weights renormalized.
Refresh Schedule
| Data | Cadence | Time (ET) |
| Insider transactions (Form 4) | Daily (Mon–Fri) | 6:15 AM |
| Institutional holdings (13F) | Quarterly (manual backfill) | On demand |