Market-data lake

lake.political_trades dataset schema

Column types and research semantics for NexusTrade’s lake.political_trades dataset. Read the supported schema before submitting a bounded SQL query.

Query name
lake.political_trades
Grain
year
Columns
36

Columns and types

These columns come from the same versioned logical catalog used by the query validator and engine. They describe the fields you can query. Some historical rows have missing values; fields absent from older shards can return typed NULL.

chamberVARCHAR
docIdVARCHAR
rowIndexINTEGER
sourceTransactionIdVARCHAR
filerFirstVARCHAR
filerLastVARCHAR
ownerVARCHAR
ownerCodeRawVARCHAR
actionVARCHAR
partialSaleBOOLEAN
actionCodeRawVARCHAR
transactionDateDATE
notificationDateDATE
filingDateDATE
availableAtTIMESTAMP
availabilitySourceVARCHAR
assetDescriptionVARCHAR
printedTickerVARCHAR
resolvedTickerVARCHAR
resolutionStatusVARCHAR
resolutionReasonVARCHAR
assetTypeCodeVARCHAR
assetTypeLabelVARCHAR
amountBracketVARCHAR
amountLowDOUBLE
amountHighDOUBLE
capGainsOver200BOOLEAN
commentVARCHAR
filingStatusVARCHAR
sourceUrlVARCHAR
rawArchiveKeyVARCHAR
rawSha256VARCHAR
filerKeyVARCHAR
memberIdVARCHAR
displayNameVARCHAR
identitySourceVARCHAR

Current logical schema for lake.political_trades

Coverage and timing

Raw filed transaction rows; reports and amendments can repeat a trade. Prefer political_trade_events for counts, signals, rankings, or performance.

`availableAt` is the point-in-time column: filter `availableAt <= as_of`. `transactionDate` is when the trade happened, often weeks before it was disclosed; it is never availability. One row per transaction printed on a filing whose extraction succeeded. A member can report the same trade again or amend it, so one trade can appear in several rows. Count or sum trades in `political_trade_events`. `action` is `purchase`, `sale`, `exchange` or `unmarked` (the form marked no type), and `partialSale` is true only on a partial sale. `owner` is `self`, `spouse`, `joint`, `dependent_child` or `not_indicated`. Each row carries its filing's identity (`memberId`, `displayName`, `identitySource`), described under `political_filings`. Group politicians by `memberId`, never by `filerFirst`/`filerLast`. Rows with `identitySource` `non_member` are filed by staff or candidates and have no events. `amountLow` and `amountHigh` bound the reported amount range and are NULL where the form gives no bound; `amountBracket` is the range as reported. `sourceUrl` is the original government page or PDF of the filing the row was printed on (House Clerk PDF or Senate eFD report); `rawArchiveKey` and `rawSha256` name the exact archived copy that was read. `printedTicker` is the ticker as printed on the form, kept as printed. A row that printed none is resolved by name: `resolutionStatus` is `resolved` with `resolvedTicker` when two reads named the ticker and it was confirmed against price data and the registered issuer, `not_public_equity` for bonds, mutual funds, government debt and private holdings, and `unresolved` with a `resolutionReason` otherwise. Rows with a printed ticker have `resolutionStatus` `printed`.

Run a limited query

Use a registered API key with lake scope. Select needed columns, bind user-supplied values and restrict dates when the table has a time dimension. Query results are durable parts with a schema and manifest rather than an unbounded in-memory array.

This reference documents the schema and its meaning. Run queries in your signed-in workspace; this page does not execute SQL or show private results and datasets.

sql
SELECT "chamber", "docId", "rowIndex"
FROM lake.political_trades
LIMIT 20;