# Varve Corporate Actions: schema reference

Every row comes from SEC EDGAR filings and carries the accession number of its source. Join on `cik` to Varve Fundamentals and Varve Events. Methodology and measured accuracy: `methodology_corporate_actions.pdf`.

## `varve_corporate_actions_listing_events`

Exchange listings and delistings from the exchanges' own SEC filings, one row per filing: CERT (the exchange certifies it approved a class for listing) and Form 25-NSE / 25 (notification of removal from listing), plus issuer registration (8-A) and deregistration (Form 15 / 15F) as context events. Rows: 108,225.

| column | type | description |
|---|---|---|
| `accession` | string | EDGAR accession number of the filing (primary key with cik, or item where noted). Filing index: sec.gov/Archives/edgar/data/{cik}/{accession without dashes}/. |
| `cik` | int64 | SEC Central Index Key of the company the event is about (the subject company for 13D/G and Form 144). |
| `varve_id` | string (categorical) | Varve's permanent company id for the cik (or issuer_cik) on the row: "VD" + the CIK of the first entity in the company's lineage, so it stays the same when a company reorganizes under a new holding company (Exxon Mobil Corp and ExxonMobil Holdings Corp are both VD34088). Matches varve_id in Varve Fundamentals; see its company_lineage table. |
| `company` | string | Company name (latest). |
| `event` | string | listing (CERT), delisting (25 / 25-NSE), exchange_registration (8-A12B/8-A12G, filed by the issuer, usually days before listing), deregistration (Form 15 / 15F; SEC folded 15-12B into 15-12G in 2022). |
| `form` | string | EDGAR form type as filed. |
| `amendment` | bool | True for /A forms. |
| `filed` | timestamp[ns] | EDGAR filing date. |
| `effective_date` | timestamp[ns] | When the listing or removal took effect: EDGAR's effectiveness date for the filing. A Form 25 takes effect 10 days after filing (Rule 12d2-2(d)(1)); until EDGAR records it, filed + 10 days is used (see effective_date_source). |
| `effective_date_source` | string | edgar_effectiveness, filed_plus_10_days, or filing_date. |
| `exchange` | string | Exchange that filed the CERT or Form 25-NSE (from the filing, the filer agent, or the pre-2016 exchange-specific CERT form name). |
| `security_class` | string | Class of security listed or removed, as written (Form 25 XML; CERT letter text). |
| `security_type` | string | common, preferred, debt, fund (ETFs/ETNs/trusts), adr, warrant, unit, right, other: a keyword classification of security_class. |
| `rule_code` | string | Rule 12d2-2 provision cited on a Form 25: a1, a2, a3, a4, b, c. |
| `delisting_reason` | string | From rule_code: called_for_redemption_or_maturity (a1), redeemed_or_matured (a2), merger_or_acquisition (a3: the class now represents other securities or cash), rights_extinguished (a4), exchange_removal (b: failed listing standards), issuer_voluntary (c). |
| `file_numbers` | string | SEC file number(s) on the filing (001-xxxxx = Exchange Act 12(b) registration), pipe-separated. |
| `co_registrant_ciks` | string | Other registrants on the same filing (subsidiary guarantors, finance subsidiaries, capital trusts, the other party to a joint merger proxy), pipe-separated. The row's cik is the primary registrant: the one with a ticker, else the most active filer. One row per filing. |
| `ticker` | string | Ticker(s) the company used around the effective date, from observed ticker history (point-in-time). |
| `transfer_to_exchange` | string | For a delisting: the exchange where the same company listed within 30 days (same security type when known), i.e. an exchange transfer rather than an exit. |

## `varve_corporate_actions_splits`

Stock splits, reverse splits and stock dividends detected from SEC filings alone. Evidence: prior periods' share counts and EPS restated by exactly the split factor in later XBRL filings, the cover-page share count jump, the XBRL split-ratio tag, and the company's own 8-K / press release (ratio and dates). Rows: 7,700.

| column | type | description |
|---|---|---|
| `cik` | int64 | SEC Central Index Key of the company the event is about (the subject company for 13D/G and Form 144). |
| `varve_id` | string (categorical) | Varve's permanent company id for the cik (or issuer_cik) on the row: "VD" + the CIK of the first entity in the company's lineage, so it stays the same when a company reorganizes under a new holding company (Exxon Mobil Corp and ExxonMobil Holdings Corp are both VD34088). Matches varve_id in Varve Fundamentals; see its company_lineage table. |
| `company` | string | Company name (latest). |
| `ticker` | string | Ticker(s) the company used around the split, from observed ticker history. |
| `type` | string | forward_split, reverse_split, stock_dividend_or_small_split (factor between 1 and 1.5). |
| `ratio` | string | New-for-old ratio, e.g. 3-for-2, 1-for-10. |
| `factor` | double | New shares per old share (3-for-2 = 1.5; 1-for-10 = 0.1). Divide prices, multiply share counts, dated before ex_date by this factor to restate them on the post-split basis. |
| `announced` | timestamp[ns] | Filing date of the earliest 8-K stating this split's ratio. |
| `record_date` | timestamp[ns] | Record date stated in the company's filings. |
| `payable_date` | timestamp[ns] | Payable / distribution date stated in the company's filings (forward splits paid as a stock distribution). |
| `effective_date` | timestamp[ns] | Legal effective date stated in the company's filings (charter amendment). |
| `ex_date` | timestamp[ns] | First trading session on the post-split basis. Stated date when the filing gives the split-adjusted trading date; otherwise derived from exchange practice (ex_date_source). |
| `ex_date_source` | string | stated_split_adjusted_trading_date; derived_payable_plus_1_session (forward splits: the session after the payable date); derived_effective_time (first session at or after the legal effective time); null when no dated filing was found. |
| `confidence` | string | high: XBRL restatement evidence AND the company's own 8-K / press release agree on the ratio; medium: the company's text only; low: XBRL restatement only (often a share-count restatement for another reason; not used in split_factors). |
| `text_confirmed` | bool | An 8-K or press release states this ratio. |
| `restated_facts` | double | Number of prior-period share/EPS facts restated by the factor in the first filing on the new basis. |
| `restating_filings` | double | Filings within 15 months repeating the restatement. |
| `cover_confirms` | bool | The cover-page shares outstanding moved by roughly the factor across the split. |
| `xbrl_ratio_date` | timestamp[ns] | Date on the company's XBRL split-ratio fact, when tagged (often the approval or announcement date rather than the ex-date). |
| `evidence_window_start` | timestamp[ns] | Last filing still on the old share basis. |
| `evidence_window_end` | timestamp[ns] | First filing on the new share basis (the split happened in between). |
| `announce_accession` | string | Accession of the earliest 8-K stating the ratio. |
| `first_restating_accession` | string | Accession of the first filing restating history on the new basis. |

## `varve_corporate_actions_split_factors`

Cumulative split adjustment factors as date intervals, from the dated splits. A raw price dated in [valid_from, valid_to) divided by price_divisor (and a raw share count multiplied by it) is on the company's latest share basis. Uses high and medium confidence splits with an ex_date. Rows: 6,803.

| column | type | description |
|---|---|---|
| `cik` | int64 | SEC Central Index Key of the company the event is about (the subject company for 13D/G and Form 144). |
| `varve_id` | string (categorical) | Varve's permanent company id for the cik (or issuer_cik) on the row: "VD" + the CIK of the first entity in the company's lineage, so it stays the same when a company reorganizes under a new holding company (Exxon Mobil Corp and ExxonMobil Holdings Corp are both VD34088). Matches varve_id in Varve Fundamentals; see its company_lineage table. |
| `valid_from` | timestamp[ns] | First date of the interval (null = from the beginning of history). |
| `valid_to` | timestamp[ns] | Ex-date that ends the interval (exclusive; null = to date). |
| `price_divisor` | double | Product of the factors of every split with ex_date >= valid_to; 1.0 for the latest interval. |
| `splits_after` | int64 | Number of splits after this interval. |

## `varve_corporate_actions_tender_offers`

Third-party tender offers (SC TO-T and amendments, one row per filing, attributed to the TARGET company with the bidders listed) and the target's response (SC 14D9). Rows: 30,915.

| column | type | description |
|---|---|---|
| `accession` | string | EDGAR accession number of the filing (primary key with cik, or item where noted). Filing index: sec.gov/Archives/edgar/data/{cik}/{accession without dashes}/. |
| `cik` | int64 | SEC Central Index Key of the company the event is about (the subject company for 13D/G and Form 144). |
| `varve_id` | string (categorical) | Varve's permanent company id for the cik (or issuer_cik) on the row: "VD" + the CIK of the first entity in the company's lineage, so it stays the same when a company reorganizes under a new holding company (Exxon Mobil Corp and ExxonMobil Holdings Corp are both VD34088). Matches varve_id in Varve Fundamentals; see its company_lineage table. |
| `form` | string | EDGAR form type as filed. |
| `filed` | timestamp[ns] | EDGAR filing date. |
| `accepted_et` | timestamp[ns] | EDGAR acceptance timestamp, US Eastern time, to the second. Null when it could not be verified (see accepted_verified). |
| `accepted_verified` | bool | True when accepted_et was confirmed against SEC's live submissions API or the XBRL data sets. SEC's bulk history file carries timestamps shifted by the Eastern UTC offset for about a third of filers, so unverifiable times are withheld rather than guessed. |
| `action` | string | tender_offer or target_response_to_tender. |
| `subject_rule` | string | How the target was identified: files_sc14d9 (the party that filed its own SC 14D9 response within 60 days of the original offer), same_parties_as_original (an amendment between the same parties), fewer_tender_offers (fallback: repeat bidders appear on many offers), filer (SC 14D9, the target's own filing). |
| `bidder_ciks` | string | CIK(s) of the bidder(s), pipe-separated. |
| `ticker` | string | Display ticker: current symbol if the company still has one, else the earliest recovered. Not point-in-time. |
| `company` | string | Company name (latest). |

## `varve_corporate_actions_form10_registrations`

Form 10 registrations (10-12B exchange-listed / 10-12G), the registration statement a spun-off company files before its shares are distributed; also used by companies listing without an IPO. Rows: 3,829.

| column | type | description |
|---|---|---|
| `accession` | string | EDGAR accession number of the filing (primary key with cik, or item where noted). Filing index: sec.gov/Archives/edgar/data/{cik}/{accession without dashes}/. |
| `cik` | int64 | SEC Central Index Key of the company the event is about (the subject company for 13D/G and Form 144). |
| `varve_id` | string (categorical) | Varve's permanent company id for the cik (or issuer_cik) on the row: "VD" + the CIK of the first entity in the company's lineage, so it stays the same when a company reorganizes under a new holding company (Exxon Mobil Corp and ExxonMobil Holdings Corp are both VD34088). Matches varve_id in Varve Fundamentals; see its company_lineage table. |
| `form` | string | EDGAR form type as filed. |
| `filed` | timestamp[ns] | EDGAR filing date. |
| `accepted_et` | timestamp[ns] | EDGAR acceptance timestamp, US Eastern time, to the second. Null when it could not be verified (see accepted_verified). |
| `accepted_verified` | bool | True when accepted_et was confirmed against SEC's live submissions API or the XBRL data sets. SEC's bulk history file carries timestamps shifted by the Eastern UTC offset for about a third of filers, so unverifiable times are withheld rather than guessed. |
| `action` | string | new_registration_spinoff_or_listing. |
| `subject_rule` | string | filer: the registering company. |
| `ticker` | string | Display ticker: current symbol if the company still has one, else the earliest recovered. Not point-in-time. |
| `company` | string | Company name (latest). |
