Insiders as a seventh factor in a multi-factor model
The canonical factors of an equity quant fund, value, momentum, quality, low-vol, size, profitability, are tired. They still work, but their signal-to-noise ratio decays each year. Adding a correctly constructed insider factor can contribute a decorrelated selection signal. Sigma monitors 43 filing sources and ranks eligible purchases within each market. No market currently meets the historical allocation criteria, so signals remain watch-only. No net-of-costs alpha or expected return is claimed.
Data schema: what the API returns
Each available Sigma filing uses one schema: id, market, transaction and publication dates, ticker, ISIN, CIK when available, insider name, harmonised role, transaction nature, volume, unit price and normalised amounts when source fields permit. Eligible purchases expose a market-local 100-point composite score. Filings from 43 monitored sources are served at `/api/v1/declarations` with filters `market`, `score_gte`, `pubDate_gte`.
Factor construction
Per ticker, aggregate net buys over the last 60 days, weighted by Sigma score. Normalise by market cap. Z-score cross-sectionally by market and sector (so that a single market or sector doesn't dominate). You get an InsiderZ factor per ticker, updated daily, comparable to your model's other z-scores. Combine linearly (or via a meta-learner) with value, momentum and quality. The filtered Sigma subset (signalScore ≥ 40, cluster, mid-cap, executive role, n=3864) shows a T+90 win rate of 51.5% and a mean return of +2.6% per trade (T+90, not annualized) over 2022-2025; read as upper bound (Bailey-Lopez de Prado deflated Sharpe is negative, see /methodologie#disclosure).
Sizing and turnover
Insider buys are rare, and market-local samples can remain small. Use the published evidence label to assess maturity, not to infer an expected return. Test your own exit and sizing rules before using capital.
Pitfalls to avoid
Three classic biases. (1) Look-ahead: use `pubDate` (the public date), not `transactionDate` (the market didn't know yet). Sigma exposes both. (2) Survivorship: delisted companies must remain in the backtest at their last known price. Sigma keeps the historical filings of delisted entities, but their price history is no longer available after delisting, so they drop out of the published performance aggregates: control this bias with your own pricing reference data. (3) Cluster trades: one insider splitting a buy across three days isn't three signals. Use the `insiderId` field to deduplicate.
Concrete integration
On the Quant tier (€129/mo), a daily 17:00 UTC cron pulls available filings from the 43 configured markets, writes them to your data lake, and feeds your morning pipeline. Unlimited webhooks, bulk CSV/Parquet exports, 5 user seats, portfolio attribution. For structured funds, a custom Enterprise tier exposes a historical Parquet dump on S3, refreshed daily.
Getting started
Create a Free account to browse the site (50 profiles/day, read-only). To reproduce our backtests and measure the InsiderZ factor's correlation with your model, API access starts on Pro (€39/mo, 10k req/mo, MCP, 5-year history). Quant (€129/mo) adds bulk Parquet exports and portfolio attribution. Full methodology (formula, bounds, documented biases) on /methodologie. Any question: sales@insiders-trades-sigma.app.