Valuein
Schema

Parquet Schema Reference

27 ZSTD-compressed Parquet tables — the core dataset (fundamentals, ratios, factor scores, earnings signals, prices, restatement events) plus, on Institutional, the smart-money dataset and the Form ADV adviser dataset. 120.5M+ facts, 109M+ smart-money rows, 28,000+ entities, 1993–present. All tables use consistent join keys — cik for companies, accession_id for filings.

27
Tables
120.5M+
Facts
109M+
Smart-Money Rows
ZSTD
Compression

Entity-Relationship Diagram

All tables link via two universal keys: cik (company) and accession_id (filing). The references table is a derived flat join — use it as your query starting point to avoid manual joins.

The fact lineage spine — every fact ties to an entity and the SEC filing it came from. Hover a table to trace its relationships.
Core financialsReferenceDerived
Financials core schema. 9 tables, 9 foreign-key relationships. Full text below the diagram.∞1∞1∞1∞1∞1∞1∞1∞1∞1entity● cik name sector statussecurity● id◇ entity_id symbol valid_from/tofiling● accession_id◇ entity_id form_type accepted_atfact● fact_id◇ entity_id◇ accession_id◇ standard_conceptstandard_concept● standard_concept statement_type leveltaxonomy_guide● standard_concept human_name unit_typeratio◇ entity_id ratio_name value accepted_atreferences◇ cik symbol sector is_activeindex_membership◇ cik index_name effective_date removal_date
Relationships (text)
  • security references entity via entity_id → cik (many → 1)
  • filing references entity via entity_id → cik (many → 1)
  • fact references entity via entity_id → cik (many → 1)
  • fact references filing via accession_id (many → 1)
  • fact references standard_concept via standard_concept (many → 1)
  • standard_concept references taxonomy_guide via standard_concept (many → 1)
  • ratio references entity via entity_id → cik (many → 1)
  • references references entity via cik (many → 1)
  • index_membership references references via cik = cik (many → 1)

Smart-money cluster

Additional tables — insider Forms 3/4/5/144 and 13F/13D/13G holdings — are available on the Institutional tier only. They sit beside the financials core and link back to the subject company by cik.

Insider Forms 3/4/5/144 and 13F holdings — available on the Institutional tier.
Smart money
Smart-money schema (Institutional tier). 6 tables, 5 foreign-key relationships. Full text below the diagram.∞1∞1∞1∞1∞1insider_party● id cik party_typeinsider_filing● id accession_id◇ filer_party_id subject_cikinstitutional_filing● id accession_id◇ filer_party_id period_endinsider_transaction● id◇ accession_id transaction_code sharesinsider_ownership● id◇ accession_id schedule_type percent_ownedinstitutional_holding● id◇ accession_id share_class_figi market_value_usd
Relationships (text)
  • insider_filing references insider_party via filer_party_id → id (many → 1)
  • institutional_filing references insider_party via filer_party_id → id (many → 1)
  • insider_transaction references insider_filing via accession_id (many → 1)
  • insider_ownership references insider_filing via accession_id (many → 1)
  • institutional_holding references institutional_filing via accession_id (many → 1)

Form ADV adviser dataset

Two further tables on the Institutional tier cover registered investment advisers and the private funds they advise, from SEC Form ADV.

investment_adviser

PK: crd_number

Form ADV Part 1A — registered investment advisers and Exempt Reporting Advisers. Firm profile, employee counts, client types, compensation model, and regulatory assets under management.

investment_adviser_private_fund

PK: crd_number + fund_id

Form ADV Schedule D §7.B(1) — private funds advised by a registered adviser. Fund type, gross asset value, 3(c)(1)/3(c)(7) exclusion, auditor and PCAOB registration.

Read these three before you query

  • Keyed on CRD, not CIK. Advisers file into IARD, not EDGAR, so these tables do not join to the financials core on cik. A nullable cik column is present as a soft link on a minority of firms.
  • Exempt Reporting Advisers file less. Items 5.A–5.F are absent for ERAs because they are not required to report them — a gap in the obligation, not in our ingestion.
  • Never sum raum_total across firms. Sub-advisory relationships mean the same assets are reported by more than one adviser, so the column is structurally double-counted. It is meaningful per firm and misleading in aggregate.

Tables

entity

~33,316 rowsPK: cik

One row per SEC-registered company. Contains company profile data: name, sector, SIC code, location, CEO, description, and status. The root table — all other tables link back via entity_id = entity.cik.

Tip: Always filter status = 'ACTIVE' unless you specifically need delisted or inactive companies.
32 fields — Browse in catalog

security

~17,539 rowsPK: id

Exchange listings with SCD Type 2 history. Multiple rows per company — one per ticker/exchange combination. FIGI identifiers included for cross-system mapping.

Tip: Filter is_active = TRUE for current tickers. Use valid_from / valid_to for historical ticker reconstruction.
18 fields — Browse in catalog

filing

~3.71M rowsPK: accession_id

SEC EDGAR financial-statement filing index — 10-K, 10-Q, 8-K, 20-F, 40-F and amendments. One row per accepted filing. The bridge between companies and their financial facts. Every fact row carries this filing's accepted_at forward as its own PIT anchor.

Tip: Use form_type = '10-K' for annual data, '10-Q' for quarterly. Watch is_amendment for restated filings.
23 fields — Browse in catalog

filing_registrant

PK: accession_id, entity_id

Every registrant of an SEC accession. filing keeps one row per accession, owned by the first registrant, so a combined (co-registrant) filing appears under one CIK there. Paid tiers; not in the free sample manifest.

Tip: SELECT f.* FROM filing f JOIN filing_registrant r ON r.accession_id = f.accession_id WHERE r.entity_id = :cik lists a company's filings including the combined ones.
2 fields — Browse in catalog

fact

~121.4M rowsPK: fact_id

The core financial data table. 120.5M+ XBRL-sourced data points normalized to 350+ standard_concept labels. Each row is one value for one company, period and concept from one filing; a period reported again in a later filing gets a new row.

Tip: Start with standard_concept (not raw concept) for cross-company queries. fact has no ticker or form type: join "references" on cik = entity_id and filing on accession_id. Keep the latest vintage per period with QUALIFY ROW_NUMBER() OVER (PARTITION BY entity_id, standard_concept, period_end, fiscal_period ORDER BY accepted_at DESC) = 1. Use accepted_at for PIT filtering and COALESCE(derived_quarterly_value, numeric_value) for quarter-only cash flow.
38 fields — Browse in catalog

taxonomy_guide

~11,966 rowsPK: standard_concept

Lookup table for standard_concept labels used in the fact table. Maps canonical names to human-readable labels, definitions, and GAAP taxonomy references.

Tip: Join fact on standard_concept to get human_name and definition for any concept.
13 fields — Browse in catalog

index_membership

~25,374 rowsPK: id

Historical index constituent records — SP500, RUSSELL1000, RUSSELL2000, RUSSELL3000. One row per (cik, index, membership-period). Essential for point-in-time universe construction — prevents survivorship bias.

Tip: Filter removal_date IS NULL for current members. Use effective_date / removal_date for the half-open membership window. Keys on cik — JOIN with references on cik = cik.
15 fields — Browse in catalog

references

Start here
~17,539 rowsPK: symbol + cik

Derived flat join of entity + security. One row per security. Eliminates the need for 2-table joins for company-level metadata. Always start here for cross-company queries.

Tip: is_active AND is_primary_ticker gives one current row per company. Quote the table name in SQL ("references" is a reserved word in DuckDB). For index membership (current OR historical), JOIN with index_membership on cik = cik — there is no is_sp500 flag (dropped 2026-05-02 because it was snapshot-only and single-index).
17 fields — Browse in catalog

ratio

~15.8M rowsPK: entity_id + ratio_name + period_end + fiscal_period + accepted_at

Pipeline-computed financial ratios per entity per fiscal period. Append-on-restatement: accepted_at is the PIT vintage (max accepted_at of the input facts), so a restated period is a new vintage row — filter accepted_at <= as_of then take the latest vintage to avoid look-ahead bias, mirroring the fact table.

Tip: Filter by category (profitability | per_share | liquidity | leverage | efficiency | forensic | growth | owner_earnings | valuation) for grouped screens. is_ttm = TRUE returns trailing-twelve-months rows. accepted_at is NULL for *_sector_pctile rank rows. *_sector_pctile ranks a company within the sector in force at the filing's acceptance time (see industry_classification), not its current sector.
13 fields — Browse in catalog

factor_scores

~derived rowsPK: entity_id + period_end

Cross-sectional factor values per entity and fiscal year — roe, margins, revenue growth, fcf_to_assets, debt_to_equity, asset_turnover, current_ratio, piotroski_f_score — each with a 0–1 percentile *_rank and a proprietary composite_rank. The precomputed layer behind universe screens.

Tip: Filter or sort on composite_rank or any *_rank column (1.0 = strongest) for cross-sectional ranking; the SDK helper is client.factor_scores(), the MCP tool screen_universe.
28 fields — Browse in catalog

earnings_signals

~derived rowsPK: entity_id + period_end

Per-entity earnings signals: surprises, revision momentum, and report-timing features derived from the filing stream.

Tip: Join to references on cik for symbol/sector context.
10 fields — Browse in catalog

standard_concept

~350+ rowsPK: standard_concept

The standardization layer itself: every canonical concept with its definition, statement type, category, unit, and review status (reviewed / review_confidence).

Tip: Use this to audit how a canonical concept is defined before trusting a cross-company comparison.
18 fields — Browse in catalog

stock_price

~period-end + month-end rowsPK: entity_id + price_date + observation

Coarse close series per entity, on every tier: one close at each fiscal period end and one at each month end (the observation column says which), each with the listing's total_return_index. Raw closes, never split- or dividend-adjusted.

Tip: The ratio of two month-end total_return_index values is the total return between them, dividends included. Daily bars are in stock_price_daily (Pro and Institutional).
11 fields — Browse in catalog

stock_price_daily

~daily bars rowsPK: entity_id + price_date

Pro and Institutional only. Full daily OHLCV bar series with total_return_index and the raw corporate-action factors (div_cash, split_factor), per-CIK partitioned. total_return_index is the total-return series (splits + dividends) — the price leg for PIT valuation ratios and track-record grading. Grain is one row per SECURITY per day; add WHERE is_primary_listing for one row per company. Prices are licensed market data, not EDGAR, so they do not share the 1993 fundamentals floor: no bars exist in 1993 and the earliest bar differs per security, from 1994 onward.

Tip: Returns are exactly horizon.total_return_index / entry.total_return_index − 1 — no separate dividend leg needed. Do NOT use adjusted_close: it is a vendor passthrough that is null on the large majority of bars, and it is back-adjusted, so a later split silently restates it. total_return_index is forward-compounded and PIT-immutable.
15 fields — Browse in catalog

restatement_events

~1 per revision rowsPK: event_id

One row per financial fact a later filing materially changed (>0.5% swing from the originally-reported value), 1993→present. Grouped on the RAW XBRL tag, so the before and after are the same measurement. disclosure_class records whether anyone was told — non_reliance (an 8-K Item 4.02 was filed), amended (a 10-K/A or 10-Q/A), or undisclosed (changed inside a routine filing).

Tip: Rank with concept_importance (1 = headline, 2 = statement line, 3 = footnote) before delta_pct — a large swing in a footnote is rarely the story. Detection is automated and not exhaustive; absence of a row is not evidence nothing changed.
30 fields — Browse in catalog

industry_classification

~1 per SIC spell rowsPK: cik + valid_from

Point-in-time industry classification (SEC SIC): one row per company and SIC spell, built from the SIC each filer reported in its own filings. valid_from is the acceptance instant of the first filing that showed the SIC; valid_to is exclusive and NULL for the current spell. No rows exist before a company's first evidence. No GICS (licensed by MSCI and S&P): the 4-digit SIC is the finest level published. Every tier.

Tip: references.sector / industry / sic_code are CURRENT values, not point-in-time. For as-of questions filter valid_from <= t AND (valid_to IS NULL OR t < valid_to). A -> B -> A is three spells; a real reassignment is not smoothed.
15 fields — Browse in catalog

institutional_holding

~88.6M rowsPK: id

Smart-money · Form 13F-HR holdings — institutional managers' quarterly positions. One row per (filing, security, put/call), securities identified by FIGI: shares, USD market value, options, and voting authority. Institutional tier only.

Tip: subject_entity_id LEFT JOINs to entity.cik via the issuer lookup (NULL until resolved). Join the 13F record via accession_id = institutional_filing.accession_id.
18 fields — Browse in catalog

insider_transaction

~12.1M rowsPK: id

Smart-money · Form 3/4/5/144 line items — one row per insider transaction, initial holding, or proposed sale. The core insider table: transaction code, shares, price, post-transaction holdings, role, and direct/indirect ownership. Institutional tier only.

Tip: transaction_code P=buy / S=sell; transaction_type = transaction | initial_holding | proposed_sale. entity_id soft-joins to entity.cik; insider_party_id joins insider_party.
25 fields — Browse in catalog

insider_filing

~5.55M rowsPK: id

Smart-money · subject-rooted insider disclosure filing records (Form 3/4/5/SC 13D/SC 13G/144 + amendments) — kept separate from the financial filing table. Parent of insider_transaction and insider_ownership via accession_id. Institutional tier only.

Tip: subject_cik is a soft reference to entity.cik. accepted_at is intraday on Institutional.
13 fields — Browse in catalog

insider_ownership

~1.98M rowsPK: id

Smart-money · SC 13D / SC 13G beneficial-ownership disclosures (5%+ stakes). One row per reporting person; group filings emit multiple rows. Carries percent owned and the full voting/dispositive power breakdown. Institutional tier only.

Tip: schedule_type distinguishes 13D (activist) from 13G (passive). subject_entity_id soft-joins to entity.cik.
17 fields — Browse in catalog

insider_party

~471K rowsPK: id

Smart-money · deduplicated directory of every insider / reporting person referenced across Form 3/4/5/144. Keyed on CIK when SEC-registered, otherwise on a normalized name. Institutional tier only.

Tip: Join insider_transaction via insider_party_id = insider_party.id for cross-filing roll-ups of one person's activity.
6 fields — Browse in catalog

institutional_filing

~412K rowsPK: id

Smart-money · manager-rooted 13F-HR / 13F-NT filing records (and amendments) — distinct from the issuer-rooted filing table because a 13F has no single subject issuer. FK to insider_party for the manager. Institutional tier only.

Tip: Join institutional_holding via accession_id. period_end is the quarter-end the holdings reflect.
12 fields — Browse in catalog

insider_footnote

PK: accession_id, footnote_id

Smart-money · Form 3/4/5 footnotes, verbatim: the receipt behind a 10b5-1 plan or a weighted-average price. Joins to insider_filing on accession_id. Institutional tier only; one monolithic file.

Tip: insider_transaction.footnote_refs cites footnote_id values such as F1.
10 fields — Browse in catalog

insider_ownership_purpose

PK: accession_id

Smart-money · Schedule 13D Item 4 Purpose of Transaction as raw filed text. 13D and 13D/A only; an amendment that does not restate Item 4 has no row. Institutional tier only; one monolithic file.

Tip: Joins to insider_filing on accession_id; subject_cik is the issuer.
10 fields — Browse in catalog

institutional_other_manager

PK: accession_id, list_kind, ordinal

Smart-money · 13F manager lists: other included managers and managers reporting for the filer. Joins to institutional_filing on accession_id. Institutional tier only; one monolithic file.

Tip: list_kind = 'included' rows are the numbered managers cited by institutional_holding.other_managers.
14 fields — Browse in catalog

Key Columns Guide

The most important columns across tables. Master these and you can write any query.

ColumnTableTypeNullableDescription
accepted_at
PIT
factTIMESTAMPTZNoPIT timestamp — when this fact became publicly known via SEC EDGAR acceptance. Use accepted_at <= trade_date for look-ahead-free backtests.
standard_concept
factVARCHARYesCanonical normalized concept name (e.g. TotalRevenue, NetIncome, EPSDiluted). Use this — not raw concept — for cross-company queries; the standard_concept table lists every value.
numeric_value
factFLOATYesParsed financial value. NULL for non-numeric XBRL facts. Always use ABS() on capex; divide by NULLIF(denom, 0) on ratios.
derived_quarterly_value
factFLOATYesQuarter-only value: the year-to-date difference for Q2/Q3 rows filed year-to-date, and Q4 on the FY row. Use COALESCE(derived_quarterly_value, numeric_value) for quarterly cash flow.
cik
index_membership / referencesVARCHARNoIndex membership join key. Same column name on both tables — JOIN index_membership ON references.cik = index_membership.cik. Filter index_name = 'SP500' AND removal_date IS NULL for the current S&P 500.
is_active
references / securityBOOLEANNoTRUE if this ticker is currently active (valid_to IS NULL). Combine with is_primary_ticker for one row per company.
accession_id
filingVARCHARNoSEC EDGAR accession number — the unique identifier for a filing. Format: XXXXXXXXXX-YY-ZZZZZZ. The join key between filing and fact.
cik
entity / referencesVARCHARNoSEC Central Index Key — 10-digit company identifier. The universal join key across all tables. entity.cik = security.entity_id = filing.entity_id = fact.entity_id.

All Fields by Table

Quick-reference field list. For full descriptions and SEC XBRL tag mappings, use the Data Catalog.

entity32 fields
FieldTypeDescription
cikVARCHARSEC Central Index Key — 10-digit unique company identifier
nameVARCHARLegal registered company name
leiVARCHARLegal Entity Identifier (ISO 17442 20-character code)
industryVARCHARIndustry classification description
sectorVARCHARBroad market sector, SIC-derived with GICS-style labels (e.g. Information Technology, Health Care, Financials)
sic_codeVARCHARStandard Industrial Classification code (4-digit)
sic_descriptionVARCHARFull SEC SIC industry label (e.g. 'Electronic Computers'). Companion to sic_code — use this when a human-readable string is more useful than the raw 4-digit code.
fiscal_year_endVARCHARFiscal year end as MMDD (e.g. 1231 = December 31)
locationVARCHARCompany headquarters location (city, state, country)
websiteVARCHARCompany primary website URL
ceoVARCHARChief Executive Officer name at most recent filing
founded_yearSMALLINTYear the company was founded
descriptionVARCHARCompany business description extracted from SEC filings
statusVARCHAREntity status: ACTIVE, INACTIVE, or DELISTED. Filter status != 'ACTIVE' to include all non-active companies
entity_typeVARCHARSEC-defined filer category (e.g. Non-accelerated Filer, Large Accelerated Filer)
einVARCHAREmployer Identification Number (IRS tax ID)
owner_orgVARCHARParent or controlling organization name
investor_websiteVARCHARInvestor relations website URL
categoryVARCHARSEC registrant category
state_of_incorporationVARCHARUS state or country of incorporation (2-letter code)
state_of_incorporation_descriptionVARCHARFull SEC label for the state-of-incorporation code (e.g. 'Delaware')
phoneVARCHARCompany contact phone number
business_addressVARCHARPrincipal registered business (HQ) address — single concatenated line. Renamed from 'address' in schema v2.1.0.
mailing_addressVARCHARMailing address (separate from HQ) — registered agent / correspondence target. Often differs from business_address for foreign issuers and trusts.
country_codeVARCHARISO country code of the issuer's primary location
is_foreignBOOLEANTRUE if the issuer is a non-US registrant (typically a 20-F / 40-F filer)
flagsVARCHARSEC-flagged status string (e.g. 'Shell', 'Delinquent'). NULL for clean issuers.
has_insider_transactionsBOOLEANSEC declares Form 4/5 insider activity exists for this issuer
is_insider_ownerBOOLEANSEC declares this CIK itself owns insider holdings
former_namesJSONSEC formerNames[] history — JSON array of {name, from, to} objects. Useful for ticker-history queries and merger lineage (e.g. FB → META). Empty array when the issuer has never renamed.
last_seen_atDATEDate this entity last appeared in any SEC filing
ingested_atTIMESTAMPTZTimestamp when Valuein first ingested this entity record
security18 fields
FieldTypeDescription
idINTEGERSurrogate primary key for the security record
entity_idVARCHARForeign key to entity.cik — the issuing company
symbolVARCHARExchange ticker symbol
exchangeVARCHARStock exchange name (e.g. NASDAQ, NYSE)
micVARCHARMarket Identification Code (ISO 10383)
valid_fromDATESCD Type 2 start date — when this ticker became active on this exchange
valid_toDATESCD Type 2 end date — when this ticker was retired. NULL means currently active
is_activeBOOLEANDerived: TRUE when valid_to IS NULL. Use to filter current tickers only
figiVARCHARFinancial Instrument Global Identifier at share-class level (OpenFIGI)
composite_figiVARCHARComposite FIGI at the exchange level
share_class_figiVARCHARShare class FIGI
security_typeVARCHARInstrument type (e.g. Common Stock, ADR, ETF)
market_sectorVARCHARFIGI market sector classification
figi_tickerVARCHARTicker symbol as recorded in the OpenFIGI registry
figi_nameVARCHARSecurity name from the OpenFIGI registry
figi_exch_codeVARCHARExchange code from the OpenFIGI registry
is_primary_tickerBOOLEANTRUE for the ticker SEC's company_tickers.json marks as the entity's primary listing. Multi-share-class issuers (BRK-A/BRK-B, GOOG/GOOGL) emit multiple is_active=TRUE rows; default consumer queries filter is_primary_ticker=TRUE for one row per CIK.
ingested_atTIMESTAMPTZTimestamp when Valuein first ingested this security record
filing23 fields
FieldTypeDescription
accession_idVARCHARSEC EDGAR accession number — unique filing identifier (format: XXXXXXXXXX-YY-ZZZZZZ)
entity_idVARCHARForeign key to entity.cik — the filing company
filing_dateDATEDate the SEC received and accepted the filing. Use this for PIT backtest filters — not report_date
form_typeVARCHARFiling type: 10-K (annual), 10-Q (quarterly), 20-F (foreign annual), 8-K (current report), etc.
filing_urlVARCHARFull URL to the filing document on SEC EDGAR
is_amendmentBOOLEANTRUE if this is an amended filing (e.g. 10-K/A, 10-Q/A)
amendment_noSMALLINTAmendment sequence number — 0 for the original filing, 1 for the first amendment, etc.
superseded_byVARCHARAccession-id of the filing that supersedes this one in the amendment chain (NULL when this is the latest version). Populated post-ingest.
report_dateDATEFiscal period end date covered by this filing. Using this as a PIT filter introduces look-ahead bias — use filing_date or accepted_at instead.
itemsVARCHAR[]Array of 8-K item numbers reported (e.g. ['1.01', '9.01']). NULL for non-8-K filings
sizeINTEGERFiling size in bytes (per SEC submissions feed)
is_xbrlBOOLEANSEC-declared: filing carries an XBRL exhibit
is_inline_xbrlBOOLEANSEC-declared: filing uses Inline XBRL (iXBRL)
is_xbrl_numericBOOLEANDistinct from is_xbrl/is_inline_xbrl — TRUE when the XBRL exhibit carries machine-readable numeric facts (the source of every fact-table row).
primary_documentVARCHARFilename of the lead document in the filing package
primary_doc_descriptionVARCHARSEC-provided label describing the primary document
core_typeVARCHARBase form_type stripped of the /A amendment suffix (e.g. 10-K/A → 10-K). Use this for form-family filtering when you don't care whether a filing is the original or an amendment.
file_numberVARCHARSEC EDGAR file number (e.g. 001-36743)
film_numberVARCHARSEC EDGAR microfiche / film number assigned at acceptance
actVARCHARSecurities-Act designator: '33' (1933 Act), '34' (1934 Act), or empty. Helps distinguish registration-statement vs. exchange-act filings.
is_auditedBOOLEANFiling is an annual (audited) report — TRUE for 10-K / 20-F and their amendments, FALSE for 10-Q / 8-K / etc.
accepted_atTIMESTAMPTZExact timestamp the SEC accepted the filing (millisecond precision). Every fact disclosed in this filing inherits the same accepted_at as its PIT anchor.
ingested_atTIMESTAMPTZTimestamp when Valuein ingested this filing record
filing_registrant2 fields
FieldTypeDescription
accession_idVARCHARJoin key to filing.accession_id
entity_idVARCHAROne registrant of the accession (10-digit CIK).
fact38 fields
FieldTypeDescription
fact_idVARCHARDeterministic identity hash: SHA-256(entity_id|accession_id|concept|period_end|unit). 64-character lowercase hex string. Use with verify_fact_lineage to trace any number to its source filing.
entity_idVARCHARForeign key to entity.cik
accession_idVARCHARForeign key to filing.accession_id
conceptVARCHARRaw XBRL tag as filed by the company (e.g. us-gaap:Revenues). Use standard_concept for cross-company comparisons.
standard_conceptVARCHARCanonical normalized concept label (e.g. TotalRevenue, NetIncome, EPSDiluted). Raw XBRL tags map onto the standard_concept dictionary; unmapped tags fall through to Other.
prioritySMALLINTStandardization priority — lower value = higher confidence in the concept mapping
labelVARCHARHuman-readable label from the company's XBRL filing context
valueVARCHARRaw as-reported value string, before numeric parsing. Holds text for non-numeric facts (e.g. dei cover-page strings); for numeric facts prefer ``numeric_value``.
numeric_valueDOUBLEThe value as reported in this specific filing (accession_id). NULL for non-numeric facts.
derived_quarterly_valueDOUBLEQuarterly value derived by subtracting prior YTD periods (Q2/Q3 10-Q cash flows are filed as YTD). Use COALESCE(derived_quarterly_value, numeric_value) for single-quarter cash flow metrics.
unitVARCHARUnit of measure: USD, shares, pure (dimensionless ratio), etc.
period_startDATEReporting period start date. NULL for instant/point-in-time facts (e.g. balance sheet items)
period_endDATEReporting period end date. Table is range-partitioned on this column by year.
fiscal_yearINTEGERFiscal year number (e.g. 2024). INT16 in the parquet — no cast needed for cross-table joins.
fiscal_periodVARCHARFiscal period label: FY (annual), Q1, Q2, Q3, Q4
frameVARCHARXBRL frame identifier linking this fact to a specific reporting period context
statement_typeVARCHARFinancial statement category: income, balance_sheet, cash_flow, dei, notes
accuracy_scoreDOUBLELegacy 0-1 standardization-match score stamped by the in-memory resolver at ingest. Superseded for consumer filtering by ``confidence_score`` (the composite quality score); kept for traceability of the concept mapping.
confidence_scoreDOUBLEPer-fact confidence in [0.0–1.0] (penalty-from-evidence): each fact starts at 1.0 and is docked only for evidence we can point at — confidence_score = 1.0 - 0.40*min(identity_violation_count/3, 1) - 0.20*min(restatement_count/5, 1) - 0.05*(NOT is_audited). No recency/age term. >= 0.95 = no evidence held against the fact (most rows); ~0.80 = a later filing revised it (see /radar); < 0.60 = an accounting identity failed. The inputs (identity_violation_count, restatement_count, is_audited) ship beside it so you can recompute the score.
reliability_codeSMALLINTDiscrete reliability bucket (1-4) for Bloomberg PR / Refinitiv vendor parity: 1=preliminary (errors present), 2=announced (clean, unaudited), 3=audited (audited + clean), 4=restated (audited + clean + multiple versions on file). NOMINAL, not ordinal: 4 (restated) is not "better" than 3 (audited, clean), so `WHERE reliability_code >= 3` silently includes restated facts — rank by confidence_score instead.
identity_violation_countSMALLINTNumber of error-severity accounting identities that fired against this fact's filing. Sourced from qa_violation.
restatement_countSMALLINTNumber of times this (entity, standard_concept, period_end, fiscal_period, unit) tuple has been re-reported across accessions. Sourced from fact_lineage_summary.version_count - 1. Zero = never restated; > 0 = restated N times.
is_negativeBOOLEANTRUE if the originally reported value was negative
is_auditedBOOLEANTRUE if this fact comes from an audited annual filing (10-K or 20-F)
is_estimatedBOOLEANTRUE if the value is estimated rather than directly reported
data_qualityVARCHARData quality flag: reported, estimated, or provisional
accepted_atTIMESTAMPTZPoint-in-time timestamp — when this fact became publicly known via SEC EDGAR. Filter accepted_at <= trade_date for look-ahead-free backtests.
ingested_atTIMESTAMPTZTimestamp when Valuein ingested this fact
accounting_standardVARCHARReporting taxonomy of the source filing — 'US-GAAP' or 'IFRS'. Derived from the XBRL taxonomy; defaults 'US-GAAP' for 10-K/10-Q/8-K and is usually 'IFRS' for 20-F / 40-F foreign issuers.
reporting_currencyVARCHARISO-4217 currency code when the unit is monetary (e.g. USD, EUR, JPY). NULL for non-monetary facts (shares, ratios, days). Required for 20-F filers and any non-USD reporter.
period_span_daysINTEGERNumber of calendar days spanned by this reporting period
is_cumulativeBOOLEANTRUE if the value is cumulative year-to-date rather than for the period in isolation (common in 10-Q cash flow statements)
derivation_typeVARCHARMethod used to derive the quarterly value: ytd_subtraction, direct, or NULL if not derived
derivation_uncertainBOOLEANTRUE if the quarterly derivation has reduced confidence due to fiscal-period ambiguity
value_currentDOUBLEBloomberg Option-C: the latest-known value for this (entity_id, standard_concept, period_end, unit) — i.e. the value any analyst watching the tape today would see. Computed at export time via DuckDB window functions.
value_as_filedDOUBLEBloomberg Option-C: the originally-reported value (first-ever accepted_at in the partition). Compare with value_current to detect restatements.
first_filed_atTIMESTAMPTZTimestamp of first disclosure (min accepted_at in the partition)
restatedBOOLEANTRUE if any version of this fact in the partition differs from the others — signals that a later filing restated this number. Computed against the GLOBAL warehouse state, NOT PIT — for PIT reasoning use value_current vs. value_as_filed.
taxonomy_guide13 fields
FieldTypeDescription
standard_conceptVARCHARCanonical concept name (primary key) — matches fact.standard_concept for joins
human_nameVARCHARHuman-readable display name for the concept (e.g. Total Revenue)
definitionVARCHARPlain-English definition of what this financial concept measures
unit_typeVARCHARExpected unit of measure: monetary, shares, ratio, pure, etc.
balance_typeVARCHARAccounting balance type: debit or credit
source_referenceVARCHARUS-GAAP taxonomy reference identifier for this concept
levelSMALLINTConcept tier: 1 = L1 universal statement line, 2 = L2 sector-pack sub-line.
statement_typeVARCHARStatement the concept belongs to (income | balance_sheet | cash_flow | supplemental | …).
display_orderSMALLINTSuggested ordering within a statement for human-facing renders.
is_activeBOOLEANFALSE for retired concepts kept for historical fact lookups.
gaap_ifrs_comparableBOOLEANTRUE when the concept maps cleanly across US-GAAP and IFRS filers.
created_atTIMESTAMPTZTimestamp the record was created in the warehouse.
updated_atTIMESTAMPTZTimestamp the record was last updated in the warehouse.
index_membership15 fields
FieldTypeDescription
idINTEGERSurrogate primary key
cikVARCHARForeign key to entity.cik — the index constituent. JOIN with references on cik = cik (same column name on both sides).
index_nameVARCHARCanonical short code: SP500 | NASDAQ100 | RUSSELL3000 | WILSHIRE5000
effective_dateDATEFirst trading day the company traded as a member
removal_dateDATEFirst trading day the company was NOT a member. NULL = current. [) interval semantics — a company removed on 2017-06-19 is NOT a member on 2017-06-19.
removal_reasonVARCHARmerger | acquisition | bankruptcy | criteria | spinoff | other. NULL when removal_date IS NULL.
successor_cikVARCHARAcquirer CIK when removal_reason in {merger, acquisition}. Essential for backtests crossing M&A — without it, a stock disappearing looks indistinguishable from a delisting.
sourceVARCHARProvenance — the MECHANISM that produced the row, never a firm or a website: historical_seed | fund_holdings | fund_snapshot | public_constituent_list | manual.
confidenceVARCHARhigh | medium | low. Used by get_pit_universe to set pit_safe automatically — pre-2000 dates default to 'low'.
notesVARCHARFree-text annotation
ingested_atTIMESTAMPTZTimestamp when Valuein first ingested this membership row
updated_atTIMESTAMPTZTimestamp when this membership row was last updated
first_seen_dateDATEFirst date this constituent was observed in a fund-holdings snapshot; written by the current-holdings rebuilder. NULL on rows from the historical seed.
last_seen_dateDATELast date this constituent was observed in a fund-holdings snapshot. NULL outside the fund-holdings layer.
avg_weight_pctDOUBLEAverage index weight (%) observed across fund-holdings snapshots. NULL outside the fund-holdings layer.
references17 fields
FieldTypeDescription
cikVARCHARSEC Central Index Key — 10-digit unique company identifier (from entity)
nameVARCHARLegal registered company name (from entity)
sectorVARCHARBroad market sector (from entity)
industryVARCHARIndustry classification description (from entity)
sic_codeVARCHARStandard Industrial Classification code 4-digit (from entity)
statusVARCHAREntity status: ACTIVE, INACTIVE, or DELISTED (from entity)
entity_typeVARCHARSEC-defined filer category (from entity)
security_idINTEGERSurrogate PK of the security record (from security)
symbolVARCHARExchange ticker symbol (from security)
exchangeVARCHARStock exchange name e.g. NASDAQ, NYSE (from security)
micVARCHARMarket Identification Code ISO 10383 (from security)
valid_fromDATESCD Type 2 start date — when this ticker became active (from security)
valid_toDATESCD Type 2 end date — NULL means currently active (from security)
is_activeBOOLEANTRUE when valid_to IS NULL — use to filter current tickers only (from security). For index membership, JOIN index_membership ON references.cik = index_membership.cik — there is no is_sp500 flag (dropped 2026-05-02 because it was snapshot-only and single-index).
figiVARCHARFinancial Instrument Global Identifier share-class level (from security)
composite_figiVARCHARComposite FIGI at the exchange level (from security)
share_class_figiVARCHARShare class FIGI (from security)
ratio13 fields
FieldTypeDescription
entity_idVARCHARForeign key to entity.cik
ratio_nameVARCHARRatio identifier (e.g. roe, gross_margin, debt_to_equity)
categoryVARCHARGroups ratios for filtering: profitability | per_share | liquidity | leverage | efficiency | owner_earnings | valuation
valueDOUBLENumeric value of the ratio. Inspect `unit` for the scale (percent vs decimal vs multiple).
confidence_scoreDOUBLEEntity-period data quality: average fact.confidence_score (penalty-from-evidence) of the facts feeding this period. >= 0.95 means no evidence held against these facts; values fall only when a later filing revised a number (~0.80) or an accounting identity failed (< 0.60). NULL for *_sector_pctile rank rows.
unitVARCHARUnit: percent | per_share | pure | x | percentile
period_endDATEReporting period end date the ratio was computed for
fiscal_yearINTEGERFiscal year of the underlying period
fiscal_periodVARCHARFY | Q1 | Q2 | Q3 | Q4 | TTM
is_ttmBOOLEANTRUE for trailing-twelve-months rows
accepted_atTIMESTAMPTZPIT vintage — SEC acceptance timestamp of the latest input fact (max accepted_at of the year's facts); the date this ratio first became knowable. Filter accepted_at <= as_of then take the latest vintage for look-ahead-free backtests, mirroring fact.accepted_at. NULL for *_sector_pctile rank rows and un-timestamped years.
computed_atTIMESTAMPTZPipeline-run timestamp the ratio was last computed within a vintage (use for freshness, not PIT).
ingested_atTIMESTAMPTZDB insertion timestamp; use computed_at for ratio freshness.
factor_scores28 fields
FieldTypeDescription
entity_idVARCHARSEC Central Index Key (CIK) identifying the entity; joins to entity.cik.
symbolVARCHARPrimary ticker, joined from references at export for convenience.
nameVARCHARCompany name, joined from references at export.
sectorVARCHARSector, joined from references at export.
period_endDATEFiscal period-end date the factor scores are computed as of.
fiscal_yearINTEGERFiscal year of the period the scores correspond to.
accepted_atTIMESTAMPTZSEC acceptance timestamp of the underlying filing; enforces point-in-time correctness (no look-ahead).
roeDOUBLEReturn on equity factor value for the period.
gross_marginDOUBLEGross margin factor value (gross profit / revenue).
operating_marginDOUBLEOperating margin factor value (operating income / revenue).
net_profit_marginDOUBLENet profit margin factor value (net income / revenue).
revenue_growth_yoyDOUBLEYear-over-year revenue growth factor value.
fcf_to_assetsDOUBLEFree cash flow to total assets factor value.
debt_to_equityDOUBLEDebt-to-equity factor value (total debt / shareholders equity).
asset_turnoverDOUBLEAsset turnover factor value (revenue / total assets).
current_ratioDOUBLECurrent ratio factor value (current assets / current liabilities).
piotroski_f_scoreINTEGERPiotroski F-Score (0-9) summarizing financial strength.
roe_rankDOUBLECross-sectional percentile rank (0-1) of ROE across the universe for the period.
gross_margin_rankDOUBLECross-sectional percentile rank (0-1) of gross margin across the universe for the period.
operating_margin_rankDOUBLECross-sectional percentile rank (0-1) of operating margin across the universe for the period.
net_profit_margin_rankDOUBLECross-sectional percentile rank (0-1) of net profit margin across the universe for the period.
revenue_growth_yoy_rankDOUBLECross-sectional percentile rank (0-1) of YoY revenue growth across the universe for the period.
fcf_to_assets_rankDOUBLECross-sectional percentile rank (0-1) of FCF-to-assets across the universe for the period.
debt_to_equity_rankDOUBLECross-sectional percentile rank (0-1) of debt-to-equity across the universe for the period.
asset_turnover_rankDOUBLECross-sectional percentile rank (0-1) of asset turnover across the universe for the period.
current_ratio_rankDOUBLECross-sectional percentile rank (0-1) of current ratio across the universe for the period.
piotroski_f_score_rankDOUBLECross-sectional percentile rank (0-1) of the Piotroski F-Score across the universe for the period.
composite_rankDOUBLEComposite cross-sectional rank (0-1) blending the individual factor ranks.
earnings_signals10 fields
FieldTypeDescription
entity_idVARCHARSEC Central Index Key (CIK) identifying the entity; joins to entity.cik.
period_endDATEFiscal period-end date for the earnings signals.
fiscal_yearINTEGERFiscal year of the reported period.
fiscal_periodVARCHARFiscal period code (e.g., Q1-Q4 or FY).
accepted_atTIMESTAMPTZSEC acceptance timestamp of the underlying filing; enforces point-in-time correctness (no look-ahead).
eps_actualDOUBLEReported earnings per share for the period.
eps_trend_estDOUBLEModel-derived EPS estimate extrapolated from the company own trailing reported trend - NOT an analyst consensus or market expectation.
eps_surprise_pctDOUBLEPercentage difference between reported EPS and the trailing-trend EPS estimate.
revenue_actualDOUBLEReported total revenue for the period.
revenue_yoy_pctDOUBLEYear-over-year revenue change, in percent.
standard_concept18 fields
FieldTypeDescription
standard_conceptVARCHARCanonical standardized concept key that raw XBRL tags map to (e.g. TotalRevenue, NetIncome).
levelVARCHARL1 (top statement line) | L2 (sector-pack sub-line) | -- (the 'Other' catch-all).
statement_typeVARCHARincome | balance_sheet | cash_flow | comprehensive_income | supplemental | dei | notes | other.
categoryVARCHARFiner grouping within the statement (e.g. revenue, working_capital, equity).
definitionVARCHARHuman-readable definition of the standardized concept.
unit_defaultVARCHARCanonical unit (USD | USD/share | shares | pct | …); NULL for non-numeric.
is_flowBOOLEANTRUE for flow (period) measures, FALSE for stock (point-in-time) measures.
parent_conceptVARCHARParent in the L1→L2 hierarchy (NULL for L1 / 'Other').
sector_packVARCHARSector pack a L2 concept belongs to (banking, insurance, reit, …); NULL unless level='L2'.
bloomberg_equivalentVARCHARClosest Bloomberg field mnemonic, when one exists.
factset_equivalentVARCHARClosest FactSet field, when one exists.
gaap_ifrs_comparableBOOLEANTRUE when the concept maps cleanly across US-GAAP and IFRS filers.
reviewedBOOLEANHuman-in-the-loop CPA sign-off flag. TRUE = an accountant has verified this concept's canonical name, statement_type and rule; the concept is then LOCKED — the standardization coverage loop only ever creates NEW concepts, never mutates a reviewed one. Curated catalog rows default TRUE; loop-generated provisional rows are FALSE.
reviewed_byVARCHARWho signed off (e.g. 'J. Smith, CPA'); NULL when not individually attributed.
reviewed_atDATEISO date of the CPA sign-off; NULL when not individually attributed.
review_confidenceDOUBLEConcept-level trust score in [0, 1] — the catalog analogue of ``fact.confidence_score``. 1.0 = CPA-verified (reviewed=TRUE); 0.7 = provisional loop output pending review. Filter ``review_confidence >= 1.0`` for the accountant-verified concept set. Distinct from the per-fact *match* accuracy.
created_atTIMESTAMPTZTimestamp the record was created in the warehouse.
updated_atTIMESTAMPTZTimestamp the record was last updated in the warehouse.
stock_price11 fields
FieldTypeDescription
entity_idVARCHARSEC Central Index Key of the issuer — joins to entity.cik and references.cik.
security_idINTEGERThe listing this close came from — the issuer's primary ticker where SEC flags one, else its deepest-traded listing.
symbolVARCHARTicker of ``security_id``, denormalized so no join is needed to read it.
price_dateDATETrading day the close is from.
closeDOUBLERaw (unadjusted) closing price.
div_cashDOUBLECash dividend with ex-date == price_date (else 0).
split_factorDOUBLESplit factor on price_date (1.0 if none).
accepted_atTIMESTAMPTZMarket-close PIT stamp for price_date; filter ``accepted_at <= as_of``.
period_endDATEFiscal period this close aligns to (observation='period_end'); NULL for monthly rows.
observationVARCHAR'period_end' (close at/just-before a fiscal close) | 'monthly' (last trading day of a month).
total_return_indexDOUBLETotal-return index of the priced listing at this close — the same forward-compounded series as stock_price_daily.total_return_index (dividends reinvested, splits neutralized, arbitrary base), sampled at the coarse grain and present on every tier. Only ratios are meaningful: tri_b / tri_a − 1 between two month-end rows is the holder's total return for that span. NULL only where the daily series is NULL. Added in schema 3.3.0.
stock_price_daily15 fields
FieldTypeDescription
entity_idVARCHARSEC Central Index Key of the issuer — joins to entity.cik and references.cik.
security_idINTEGERThe listing this bar belongs to.
symbolVARCHARTicker of ``security_id``, denormalized so no join is needed to read it.
is_primary_listingBOOLEANTRUE on exactly one bar per (entity_id, price_date): the issuer's representative listing.
price_dateDATETrading day the bar is from.
openDOUBLERaw (unadjusted) opening price.
highDOUBLERaw (unadjusted) intraday high.
lowDOUBLERaw (unadjusted) intraday low.
closeDOUBLERaw (unadjusted) closing price — PIT-immutable.
adjusted_closeDOUBLE⚠️ SPARSE — the vendor populates this on roughly 2% of bars, so a query that depends on it returns mostly NULL.
total_return_indexDOUBLETotal-return index for this listing, forward-compounded from its first bar in the archive (arbitrary base ≈ 1.0 — only RATIOS of it are meaningful).
volumeBIGINTShares traded on price_date.
div_cashDOUBLECash dividend with ex-date == price_date (else 0).
split_factorDOUBLESplit factor on price_date (1.0 if none).
accepted_atTIMESTAMPTZMarket-close PIT stamp for price_date; filter ``accepted_at <= as_of``.
restatement_events30 fields
FieldTypeDescription
event_idVARCHARSHA-256 hex of cik|concept|period_end|fiscal_period|unit.
cikVARCHARSEC Central Index Key of the company whose filed value changed.
tickerVARCHARPrimary listing symbol (references.symbol, is_primary_ticker).
company_nameVARCHARRegistrant name as filed, carried forward for display.
sectorVARCHARSector of the restating company, from the entity record.
conceptVARCHARThe RAW XBRL tag both filings used (e.g. Revenues). This is the detection grain and the evidence the diff is like for like: open both accessions and the same tag carries two different numbers.
standard_conceptVARCHARCanonical concept label (e.g. TotalRevenue).
concept_labelVARCHARAs-reported label from the latest filing; falls back to standard_concept.
statement_typeVARCHARincome_statement | balance_sheet | cash_flow (from the latest vintage).
period_startDATEStart of the reporting WINDOW the restated fact covers — part of the detection grain since 2.25.0, and the reason one fact is no longer published as two.
period_endDATEEnd of the reporting period the restated fact covers.
fiscal_periodVARCHARFY | Q1 | Q2 | Q3 | Q4 — a DISPLAY LABEL, carried from the latest filing.
unitVARCHARUnit the value is reported in (e.g. USD, shares) — restatements are only compared within a single unit.
first_valueDOUBLEValue as ORIGINALLY reported (earliest accepted_at).
current_valueDOUBLEValue as RESTATED (latest accepted_at).
delta_absDOUBLEcurrent_value − first_value.
delta_pctDOUBLESigned relative change: (current − first) / |first|.
version_countSMALLINTNumber of filings that reported this tuple (≥2 for a restatement).
first_filed_atTIMESTAMPTZaccepted_at of the original filing.
last_filed_atTIMESTAMPTZaccepted_at of the restating filing — the event's detection time / feed ordering key.
first_accessionVARCHAROriginal filing (as-reported).
current_accessionVARCHARRestating filing (restated).
restated_in_formVARCHARSEC form the RESTATING filing arrived in (10-K, 10-K/A, 10-Q, 10-Q/A, 20-F…).
restated_in_amendmentBOOLEANTRUE when the restating filing is an amendment (filing.is_amendment).
first_primary_docVARCHARPrimary document of the AS-REPORTED filing (e.g. goog-20251231.htm). Builds the SEC inline-XBRL viewer URL /ix?doc=/Archives/edgar/data/{cik}/{accession}/{doc}. NULL when the filing row is unknown.
current_primary_docVARCHARPrimary document of the RESTATING filing.
disclosure_classVARCHARHOW the company told the market — 'non_reliance' | 'amended' | 'undisclosed'.
severityVARCHARDeterministic magnitude bucket: high (|Δ|≥10%) | medium (≥2%) | low (≥0.5%).
concept_importanceSMALLINTHow much an analyst cares that THIS line moved: 1 headline (revenue, net income, EPS, total assets, operating cash flow), 2 primary statement line, 3 footnote (lease schedules, share counts, tax-rate reconciliations).
company_rankSMALLINTRank of this event within the company's restatement history (1 = most significant).
industry_classification15 fields
FieldTypeDescription
cikVARCHARSEC Central Index Key of the company (references entity.cik).
sic_codeVARCHAR4-digit SEC SIC code (keeps leading zeros).
sic_descriptionVARCHARSEC's published description of the code; the latest filer-reported text when the code is not on the SEC list.
sic_divisionVARCHAR1987 SIC division letter A-J.
sic_division_nameVARCHARName of the 1987 SIC division (sic_division).
sic_major_groupVARCHARFirst 2 digits of the SIC.
sic_industry_groupVARCHARFirst 3 digits of the SIC.
sectorVARCHARSector of this SIC under the same mapping as references.sector.
industryVARCHARFiler-reported SIC description (the meaning of entity.industry).
valid_fromTIMESTAMPTZAcceptance instant of the first filing showing this SIC (see valid_from_basis).
valid_toTIMESTAMPTZExclusive end: the next spell's valid_from; NULL = current.
first_accession_idVARCHARAccession of the first filing in the spell (NULL if only observed).
last_accession_idVARCHARAccession of the last filing in the spell (NULL if only observed).
evidence_countINTEGEREvidence rows folded into the spell.
valid_from_basisVARCHARsec_acceptance (exact acceptance time) | filing_date_eod (filing date, end of day) | observed (date we saw it).
institutional_holding18 fields
FieldTypeDescription
idBIGINTSurrogate primary key. One row per (filing, security, put/call); the security is identified by share_class_figi.
accession_idVARCHARFK to institutional_filing.accession_id.
filer_cikVARCHARManager CIK (denormalised from institutional_filing.filer_cik).
filer_nameVARCHARDENORMALIZED 13F manager name (LEFT JOIN insider_party on filer_cik = cik at export time). Lets consumers render the holder name without decoding the insider_party dimension. NULL only when the manager CIK is unresolved.
period_endDATEReporting quarter-end the position reflects.
share_class_figiVARCHAROpenFIGI share-class identifier of the held security (MIT licence). NULL where the security has no FIGI (older delisted securities). Valuein publishes FIGI only.
subject_entity_idVARCHARResolved issuer CIK; NULL until the issuer lookup completes. Soft reference to entity.cik.
name_of_issuerVARCHARIssuer name as reported on the 13F.
title_of_classVARCHARTitle of the security class held (e.g. COM, CL A).
sharesDOUBLEShares (or principal amount) held at period end.
market_value_usdDOUBLEReported USD market value of the position at period end.
put_callVARCHARPUT | CALL | NULL (NULL = common stock, not an option).
investment_discretionVARCHARSOLE | DFND | OTR (13F bulk) or SOLE | SHARED | NONE (per-filing XML).
sole_votingDOUBLEShares over which the manager has sole voting authority.
shared_votingDOUBLEShares over which the manager has shared voting authority.
no_votingDOUBLEShares over which the manager has no voting authority.
accepted_atTIMESTAMPTZIntraday SEC acceptance timestamp (Institutional tier).
ingested_atTIMESTAMPTZPipeline ingest timestamp.
insider_transaction25 fields
FieldTypeDescription
idBIGINTSurrogate primary key for the transaction line item.
accession_idVARCHARFK to insider_filing.accession_id.
transaction_line_noSMALLINTLine index within the filing.
entity_idVARCHARIssuer CIK (company whose securities the insider holds). Soft reference — LEFT JOIN to entity.cik; may not resolve for foreign / pre-IPO / delisted issuers.
insider_party_idINTEGERFK to insider_party.id (the insider).
form_typeVARCHARForm 3 / 4 / 5 / 144.
transaction_typeVARCHARtransaction (Form 4/5) | initial_holding (Form 3) | proposed_sale (Form 144).
transaction_dateDATEDate the transaction occurred.
transaction_codeVARCHARSEC transaction code (e.g. P=purchase, S=sale, A=grant, M=option exercise).
security_titleVARCHARTitle of the security transacted (e.g. Common Stock).
is_derivativeBOOLEANTRUE for derivative securities (options, RSUs, warrants).
sharesDOUBLENumber of shares / units in the transaction.
price_per_shareDOUBLEReported price per share (NULL for grants / gifts).
post_transaction_sharesDOUBLEShares beneficially owned immediately after the transaction.
ownership_formVARCHARD = direct, I = indirect.
indirect_ownership_natureVARCHARNature of indirect ownership (e.g. 'By Trust'), when ownership_form = I.
insider_roleVARCHAR[]Officer | Director | TenPercentOwner | Other (multi-valued).
officer_titleVARCHAROfficer title when the insider is an officer.
aggregate_market_valueDOUBLEForm 144 only — proposed-sale total dollar value.
broker_nameVARCHARForm 144 only — executing broker.
approximate_sale_dateDATEForm 144 only — approximate intended sale date.
accepted_atTIMESTAMPTZIntraday SEC acceptance timestamp (Institutional tier).
ingested_atTIMESTAMPTZPipeline ingest timestamp.
insider_nameVARCHARDENORMALIZED from insider_party.name (LEFT JOIN on insider_party_id at export). Inlined so the MCP Worker resolves the reporting insider's name from this tiny per-CIK partition without decoding the 406K-row insider_party dimension (the CF 1102 OOM). NULL if the party_id has no dimension match.
insider_cikVARCHARDENORMALIZED from insider_party.cik (see insider_name).
insider_filing13 fields
FieldTypeDescription
idBIGINTSurrogate primary key for the insider disclosure filing.
accession_idVARCHARUnique SEC accession ID for this disclosure filing. Children (insider_transaction, insider_ownership) FK here.
subject_cikVARCHARIssuer CIK the disclosure is about — soft reference (LEFT JOIN to entity.cik; no hard FK).
filer_party_idBIGINTFK to the insider / holder in insider_party (NULL when unresolved).
filer_cikVARCHARDenormalised filer CIK for query convenience.
form_typeVARCHARForm 3 / 4 / 5 / SC 13D / SC 13G / 144 (and amendments).
filing_dateDATEDate the disclosure was filed with the SEC.
report_dateDATEEvent/report date the disclosure covers.
accepted_atTIMESTAMPTZIntraday SEC acceptance timestamp (Institutional tier).
is_amendmentBOOLEANTRUE when this filing amends a prior disclosure.
amendment_noSMALLINTAmendment sequence number (NULL for originals).
superseded_byVARCHARAccession ID of a later filing that supersedes this one, if any.
ingested_atTIMESTAMPTZPipeline ingest timestamp.
insider_ownership17 fields
FieldTypeDescription
idBIGINTSurrogate primary key. One row per (filing, reporting person) — group filings emit multiple rows.
accession_idVARCHARFK to insider_filing.accession_id.
filer_cikVARCHARReporting-person CIK; NULL when not SEC-registered (many disclosures carry only a name).
filer_party_idBIGINTFK to insider_party.id for the reporting person (resolved via normalized_name).
filer_nameVARCHARVerbatim cover-page filer name (display).
filer_typeVARCHARinstitution | individual | group | NULL.
subject_entity_idVARCHARIssuer CIK whose stock is held — soft reference (LEFT JOIN to entity.cik).
schedule_typeVARCHARSC 13D | SC 13D/A | SC 13G | SC 13G/A (long-form variants accepted).
as_of_dateDATEAs-of date the beneficial-ownership stake is reported for.
percent_ownedDOUBLEPercent of the class beneficially owned.
shares_ownedDOUBLEShares beneficially owned.
sole_voting_powerDOUBLEShares over which the filer has sole voting power.
shared_voting_powerDOUBLEShares over which the filer has shared voting power.
sole_dispositive_powerDOUBLEShares over which the filer has sole dispositive power.
shared_dispositive_powerDOUBLEShares over which the filer has shared dispositive power.
accepted_atTIMESTAMPTZIntraday SEC acceptance timestamp (Institutional tier).
ingested_atTIMESTAMPTZPipeline ingest timestamp.
insider_party6 fields
FieldTypeDescription
idINTEGERSurrogate primary key for the insider / reporting person.
cikVARCHAR10-digit zero-padded SEC CIK; NULL for filers without an SEC-registered identity (rare individual reporters).
nameVARCHARReporting person or entity name as filed.
normalized_nameVARCHARUppercased + whitespace-collapsed name used to dedup CIK-less filers.
party_typeVARCHARperson | entity.
ingested_atTIMESTAMPTZPipeline ingest timestamp.
institutional_filing12 fields
FieldTypeDescription
idBIGINTSurrogate primary key for the 13F filing record.
accession_idVARCHARUnique SEC accession ID for this 13F filing. institutional_holding rows FK here.
filer_party_idBIGINTFK to insider_party.id (the manager).
filer_cikVARCHARDenormalised manager CIK (mirrors institutional_holding.filer_cik).
filing_dateDATEDate the 13F was filed.
form_typeVARCHAR13F-HR | 13F-NT (and amendments).
period_endDATEPERIODOFREPORT — quarter-end the holdings reflect.
accepted_atTIMESTAMPTZIntraday SEC acceptance timestamp (Institutional tier).
is_amendmentBOOLEANTRUE when this 13F amends a prior filing.
amendment_noSMALLINTAmendment sequence number (NULL for originals).
superseded_byVARCHARAccession ID of a later filing that supersedes this one, if any.
ingested_atTIMESTAMPTZPipeline ingest timestamp.
insider_footnote10 fields
FieldTypeDescription
accession_idVARCHARJoin key to insider_filing.accession_id
footnote_idVARCHARF1, F2, ... (text era '(1)' -> 'F1').
subject_cikVARCHARIssuer CIK (denormalised from insider_filing).
footnote_textVARCHARVerbatim footnote text; security identifiers redacted.
is_truncatedBOOLEANTRUE when the source capped the text (the SEC data set caps at 1,023 characters).
source_formatVARCHARxml | dataset | html | text.
ingested_atTIMESTAMPTZWhen Valuein ingested the row.
accepted_atTIMESTAMPTZDERIVED: the parent filing's SEC acceptance instant (UTC).
accepted_at_precisionVARCHARDERIVED: 'exact' | 'date_only'.
superseded_atTIMESTAMPTZDERIVED: the accepted_at of the amendment that replaces the parent filing; NULL while current.
insider_ownership_purpose10 fields
FieldTypeDescription
accession_idVARCHARJoin key to insider_filing.accession_id
subject_cikVARCHARIssuer CIK whose shares the 13D concerns.
purpose_textVARCHARWhitespace-normalised Item 4 text, capped at 100,000 characters; security identifiers redacted.
char_countINTEGERLength of the full item before the cap.
is_truncatedBOOLEANTRUE when char_count exceeds the published text.
source_formatVARCHARxml | html | text.
ingested_atTIMESTAMPTZWhen Valuein ingested the row.
accepted_atTIMESTAMPTZDERIVED: the parent filing's SEC acceptance instant (UTC).
accepted_at_precisionVARCHARDERIVED: 'exact' | 'date_only'.
superseded_atTIMESTAMPTZDERIVED: the accepted_at of the filing that replaces the parent; NULL while current.
institutional_other_manager14 fields
FieldTypeDescription
accession_idVARCHARJoin key to institutional_filing.accession_id
list_kindVARCHARincluded | reporting_for.
ordinalSMALLINT1-based position in the list as filed.
filer_cikVARCHARThe filing manager's CIK (denormalised).
sequence_numberSMALLINT'included' lists only.
cikVARCHARThe listed manager's CIK.
form13f_file_numberVARCHAR028-NNNNN.
crd_numberVARCHARManager CRD number (public SEC / FINRA identifier).
sec_file_numberVARCHAR801-NNNNN.
nameVARCHARManager name as filed; security identifiers redacted.
ingested_atTIMESTAMPTZWhen Valuein ingested the row.
accepted_atTIMESTAMPTZDERIVED: the parent filing's SEC acceptance instant (UTC).
accepted_at_precisionVARCHARDERIVED: 'exact' | 'date_only'.
superseded_atTIMESTAMPTZDERIVED: the accepted_at of the restatement that replaces the parent filing; NULL while current.

DuckDB Usage

All Parquet files load natively with DuckDB's read_parquet(). DuckDB handles ZSTD decompression automatically and supports lazy projection — only the columns you SELECT are read from disk.

sql
-- Plain DuckDB over downloaded files, e.g.--   curl -o fact.parquet https://data.valuein.biz/v1/sample/factSELECT entity_id, period_end, numeric_value, accepted_atFROM read_parquet('fact.parquet')WHERE standard_concept = 'TotalRevenue'  AND fiscal_period = 'FY'  AND accepted_at <= TIMESTAMP '2023-01-01 00:00:00'LIMIT 10; -- Current S&P 500 by the latest annual revenue known on 2024-01-01.-- Membership comes from index_membership (there is no is_sp500 flag).SELECT r.symbol, fa.period_end, fa.numeric_value / 1e9 AS revenue_billionsFROM read_parquet('references.parquet') rJOIN read_parquet('index_membership.parquet') im  ON im.cik = r.cikJOIN read_parquet('fact.parquet') fa  ON fa.entity_id = r.cikWHERE im.index_name = 'SP500'  AND im.removal_date IS NULL  AND r.is_active  AND r.is_primary_ticker  AND fa.standard_concept = 'TotalRevenue'  AND fa.fiscal_period = 'FY'  AND fa.accepted_at <= TIMESTAMP '2024-01-01 00:00:00'QUALIFY ROW_NUMBER() OVER (  PARTITION BY r.cik ORDER BY fa.period_end DESC, fa.accepted_at DESC) = 1ORDER BY revenue_billions DESCLIMIT 20;

ZSTD compression

All files are ZSTD-compressed. Typical compression ratio is 6–10x vs uncompressed. DuckDB decompresses transparently.

Column pruning

SELECT only the columns you need — DuckDB reads only those column chunks from the Parquet file, not the full table.

Predicate pushdown

DuckDB pushes WHERE clauses into Parquet row group statistics, skipping groups that cannot contain matching rows.

Explore the full field catalog

Search and filter all fields with SEC XBRL tag mappings, types, and example values in the interactive Data Catalog.

Index names are trademarks of their owners; Valuein is not affiliated with or endorsed by any index provider.