Field Reference
Complete field reference for Radar data.
Event Fields
Core Fields
| Field | Type | Nullable | Description |
|---|---|---|---|
id | string | No | Unique event identifier |
event_type | string | No | Always "FORM_4" for insider trades |
issuer | string | No | Company name |
cik | string | No | SEC Central Index Key (10 digits) |
filed_at | timestamp | No | When the Form 4 was filed |
captured_at | timestamp | No | When Matchstick captured the event |
confidence | float | No | Data quality score (0.0-1.0) |
Form 4 Fields
| Field | Type | Nullable | Description |
|---|---|---|---|
reporting_owner | string | Yes | Name of the insider |
relationship | string | Yes | Insider's relationship to company |
transaction_date | date | Yes | When the trade occurred |
transaction_code | string | Yes | Transaction type code |
shares | integer | Yes | Number of shares |
price_per_share | decimal | Yes | Price per share |
total_value | decimal | Yes | shares × price |
direct_ownership | boolean | Yes | Direct (true) or indirect (false) |
sec_url | string | Yes | Link to SEC filing |
Field Details
id
Format: {source}:{type}:{accession_number}
Example: sec:form4:0001045810-25-000123
cik
SEC Central Index Key. Always 10 digits, zero-padded.
| CIK | Company |
|---|---|
0000320193 | Apple Inc. |
0001045810 | NVIDIA Corporation |
0001318605 | Tesla, Inc. |
0001652044 | Alphabet Inc. |
0000789019 | Microsoft Corporation |
relationship
Insider's relationship to the issuing company:
| Value | Meaning |
|---|---|
CEO | Chief Executive Officer |
CFO | Chief Financial Officer |
COO | Chief Operating Officer |
Director | Board member |
10% Owner | Beneficial owner of 10%+ |
Officer | Other officer |
Other | Other relationship |
transaction_code
SEC transaction type codes:
| Code | Name | Description |
|---|---|---|
P | Purchase | Open market or private purchase |
S | Sale | Open market or private sale |
A | Award | Grant, award, or other acquisition |
M | Exercise | Exercise or conversion of derivative |
G | Gift | Bona fide gift |
D | Disposition | Disposition to the issuer |
F | Payment | Payment of exercise price or tax liability |
I | Discretionary | Discretionary transaction |
C | Conversion | Conversion of derivative security |
E | Expiration | Expiration of short derivative position |
H | Early Termination | Early termination due to merger |
J | Other | Other acquisition or disposition |
K | Equity Swap | Transaction in equity swap |
L | Small Acquisition | Small acquisition under Rule 16a-6 |
U | Tender Offer | Tender of shares |
W | Acquisition | Acquisition by will or laws of descent |
X | Exercise | Exercise of in-the-money derivative |
Z | Deposit | Deposit into or withdrawal from voting trust |
direct_ownership
true: Direct ownership (shares owned by the insider directly)false: Indirect ownership (shares owned through a trust, family member, etc.)
confidence
Data quality confidence score:
| Range | Interpretation |
|---|---|
| 1.0 | Verified from authoritative source |
| 0.9-0.99 | High confidence, automated parsing |
| 0.7-0.89 | Medium confidence, some fields inferred |
| < 0.7 | Low confidence, manual review recommended |
Factors affecting confidence:
- Source document quality
- Parsing ambiguity
- Field validation against known data
Null Values
Some fields may be null when:
- The Form 4 didn't include the information
- The value couldn't be parsed reliably
- The transaction type doesn't have that field (e.g., gifts may have no price)
Always handle nulls in your queries:
sql
SELECT *
FROM events
WHERE total_value IS NOT NULL
AND total_value > 1000000;Data Types
Timestamps
All timestamps are in UTC, ISO 8601 format:
2025-01-15T14:30:00ZIn parquet files, stored as TIMESTAMP(MICROS, true) (microsecond precision, UTC).
Dates
Dates are in YYYY-MM-DD format:
2025-01-15In parquet files, stored as DATE (32-bit days since epoch).
Decimals
Monetary values (price, total_value) are stored as 64-bit floats. For precise calculations, round to 2 decimal places:
python
import decimal
total = decimal.Decimal(str(row['total_value'])).quantize(decimal.Decimal('0.01'))