Source: https://databento.com/docs/datasets/corporate-actions


# Corporate actions

The corporate actions dataset includes coverage from 215+ exchanges worldwide, 310,000+ listed and delisted securities from 100,000+ companies, categorized as 60+ event types.
The dataset focuses on crucial events affecting global securities such as dividends, takeovers, mergers & acquisitions and rights issues.

Each record represents a unique corporate actions event at the [listing](https://databento.com/docs/faqs/instruments-and-products.md#listings) level.

- **History.** From 2018-05-01 to present.
- **Coverage.** Global.
- **Update frequency.** 4x per day.
- **Listing level.** All records are maintained at the listing level, which means each individual listing for a security has its own set of records.
- **Delisting and relisting.** The system continues to track securities even after they have been delisted. This is crucial because securities are occasionally relisted, so maintaining a continuous record prevents gaps in the time series thus avoiding ambiguity.

> **See also**
>
> Corporate actions [field descriptions](https://databento.com/docs/schemas/corporate-actions.md#fields) for further details.

### Symbol convention

The `nasdaq_symbol` field is normalized to the Nasdaq convention (e.g. `BF.B`).
The `local_code` field keeps the listing exchange's native form, as published by the upstream reference-data vendor.

For reliable linkage to time series data, identify the security by `isin`, `us_code` (CUSIP), or `figi`.
See [Symbology](https://databento.com/docs/schemas/security-master.md#symbology) on the security master schema page for the full reference.

### Securities and listings

A security is a fungible, tradable financial asset listed on regulated exchanges.
Each security has a primary exchange listing and may be listed on multiple secondary exchanges.
The corporate actions dataset utilizes a `security_id` to associate these various listings.

Each public listing is identified by a unique `listing_id` that links together a series of
point-in-time (PIT) records. The records are ordered by the `event_date` and `ts_record` timestamp.

A `listing_group_id` groups all listings for the same security on a specific exchange, including secondary listings such as those in different trading currencies.

### Events

Corporate actions can be broadly categorized into three types of events at both the **security** and **listing** levels:
- **General events.** Announcements, company meetings, lawsuits/class actions, listing status changes, incorporation change, security description change, etc.
- **Capital change events.** Mergers, stock splits / reverse stock splits, return of capital, franking, liquidation, divestments, dividends, currency redenomination, etc.
- **Exchange events.** New listing, security reclassification, security swap, preferential offer, etc.

The `event` field categorizes the type of corporate action and is the primary field for filtering and categorizing events at a granular level.
Event records can be paired with an `event_id`, which links associated events, such as all payment rows.

The **top ten** event types are listed in descending order based on their frequency of occurrence,
see the [EVENT](https://databento.com/docs/conventions/reference-data-enums.md#event) enum lookup table for possible values, and [Corporate actions events](https://databento.com/docs/conventions/corporate-actions-events.md) for details about each event type.

| Value | Description |
| `SHOCH` | **Shares Outstanding Change**: The number of shares outstanding has been adjusted due to a capital event. |
| `DIV` | **Capital Distribution**: A distribution of assets to shareholders, usually in the form of dividends. |
| `AGM` | **Annual General Meeting**: A yearly gathering of a company's interested shareholders. |
| `NLIST` | **New Listing**: The company's securities are now listed on an exchange. |
| `ANN` | **Announcement**: Public communication regarding significant company events. |
| `LSTAT` | **Listing Status**: Changes in the status of the company's listing on the exchange. |
| `MKCHG` | **Market Segment Change**: The company has moved to a different market segment classification. |
| `SDCHG` | **Sedol Change**: The company's SEDOL (**S**tock **E**xchange **D**aily **O**fficial **L**ist) identifier has been changed. |
| `BBCC` | **Bloomberg Composite ID Change**: The Bloomberg Composite Identifier for the company has been changed. |
| `BBEC` | **Bloomberg Exchange ID Change**: The Bloomberg Exchange Identifier for the company has been changed. |
| `DIVRC` | **Dividend Reclassification**: The classification of dividend payments has been changed. |
| `RD` | **Record Date**: The date on which a shareholder must own shares to be entitled to a dividend or other distribution. |
| `ICC` | **International Code Change**: The international identification code for the company's securities has been changed. |
| `DRIP` | **Dividend Reinvestment Plan**: A plan that allows shareholders to reinvest their cash dividends into additional shares. |
| `LCC` | **Local Code Change**: The ticker symbol for the company's securities has been changed. |

### Event subtypes

The `event_subtype` field is only used for a limited number of events which fall into distinct sub-groupings,
see the [EVENTSUBTYPE](https://databento.com/docs/conventions/reference-data-enums.md#eventsubtype) enum lookup table for all possible values, and [Corporate actions events](https://databento.com/docs/conventions/corporate-actions-events.md) for a list of subtypes for each `event` code.

| Value | Description |
| `AGM` | **Annual General Meeting**: The table name implies Annual General Meeting, but there are several other possible meeting types categorized under this event subtype. |
| `BB` | **Buyback**: Buyback events can also be used to transmit Dutch auction events. |
| `BON` | **Bonus**: Bonus events can also be used to transmit depository receipt dividends, supplied by a depository bank in lieu of a bonus issue on the underlying security. |
| `CONV` | **Conversion**: Conversion events are occasionally used to bundle data for different event types, e.g., offers. These need to be clearly distinguished from actual conversions. |
| `DIV` | **Dividend**: Dividend events can also be used to transmit capital distribution and capital gain events. Certain interest payments are also mapped into dividends. |
| `DIVIF` | **Dividend Income or Accumulation**: The subtype transmits accumulation or income, and also dividend, interest, or property-related events. |
| `ENT` | **Entitlement**: Entitlement events can contain either non-renounceable rights or an offer event. |
| `RCAP` | **Return of Capital**: Return of capital events have several distinct types, each of which can significantly impact client-side processing. |
| `RTS` | **Rights**: Rights events can also be used to transmit depository receipt dividends, supplied by a depository bank in lieu of a rights issue on the underlying security. |
| `REDEM` | **Redemption**: Redemption events are occasionally used to bundle data for different event types, e.g., offers. These need to be clearly distinguished from actual redemptions. |
| `TKOVR` | **Takeover**: Takeover events are used as an umbrella term for several underlying event scenarios. |
| `MRGR` | **Merger**: If a close date but no open date is populated, it indicates a mandatory event. |
| `TKOVRMINI` | **Mini-Takeover**: If flagged as a Mini-Takeover, it is considered a voluntary event. |
| `TENDMRGR` | **Tender Merger**: If close and open dates are populated and the event is still ongoing, or has lapsed, it is considered a voluntary event. |
| `TEND` | **Tender Offer**: If close and open dates are populated and the event is still ongoing, or has lapsed, it is considered a voluntary event. |

### Security types

The **top ten** security types covered are listed in descending order based on their frequency of occurrence,
see the [SECTYPE](https://databento.com/docs/conventions/reference-data-enums.md#sectype) enum lookup table for possible values.

| Value | Description |
| `ETF` | Exchange Traded Fund |
| `EQS` | Equity Shares |
| `DR` | Depository Receipts |
| `PRF` | Preference Share |
| `UNT` | Units |
| `WAR` | Warrants |
| `ETC` | Exchange Traded Commodities |
| `TRT` | Tradeable Rights |
| `STP` | Stapled Security |
| `BND` | Bond |

### Exchange coverage

The corporate actions dataset has coverage across 220+ exchanges worldwide.

- `primary_exchange` specifies the primary exchange for the security associated with the event.
- `exchange` field specifies the exchange for the listing and can be filtered by specifying a `dataset`.
- `operating_mic` field specifies the [ISO 10383 MIC](https://www.iso20022.org/market-identifier-codes) of the listing exchange associated with the event.

See the [EXCHANGE](https://databento.com/docs/conventions/reference-data-enums.md#exchange) enum lookup table for possible values.

> **Tip**
>
> The `operating_mic` field will match the `venue` from the listed [publishers](https://databento.com/docs/api-historical/metadata/metadata-list-publishers.md) and the Definition schema `exchange` field, which is an ISO 10383 Market Identifier Code (MIC).

### Listing continuity

The `listing_id` and `security_id` have continuity with changes to the underlying security in the following scenarios:
- **Name changes.** Issuer name changes which result in a ticker symbol change (e.g. Facebook: FB -> Meta Platforms: META).
- **Mergers.** Either where the company operates under a new name, or one of the original company names.
- **Demergers.** Either where the companies operate under new names, or one keeps the original company name.

The `listing_id` and `security_id` do **NOT** have continuity in the following scenarios:
- **Spin-offs.** When the parent company continues operating, the spun-off companies become new listings.
- **Delistings.** When the security is never relisted.

### Point-in-time (PIT) corporate actions

The `corporate_actions.get_range` endpoint provides a time series of point-in-time (PIT) records for the queried
symbols and events. This is ideal for research or backtesting where it's crucial to include records as they
were known at specific points in time. Note that, like other APIs, the time ranges have an exclusive end.

The Python client library offers a `pit` parameter to control record retention:
- If True: All historical records for each `event_unique_id` will be retained, preserving the complete point-in-time history.
- If False (default): The DataFrame will include only the most recent record for each `event_unique_id`, based on the `ts_record` timestamp.

### Split and restructuring events

The corporate actions dataset includes normalization of several stock restructuring events,
such as splits, spin-offs, and demergers, as shown in the following table:

| Event type | Event subtype | Description |
| `FSPLT` (Forward Split) | `DIV` (Dividend) | Stock dividend (represented as a forward split) |
| `FSPLT` (Forward Split) | `BON` (Bonus) | Bonus (represented as a forward split) |
| `RSPLT` (Reverse Split) | `CONSD` (Consolidation) | Consolidation (represented as a reverse split) |
| `SOFF` (Spin-Off) | `DIST` (Distribution) | Distribution resulting from a spin-off |
| `SOFF` (Spin-Off) | `DMRGR` (Demerger) | Demerger resulting in a spin-off |
| `FSPLT` (Forward Split) | `SD` (Subdivision) | Subdivision (represented as a forward split) |

### Payment ratios

For `FSPLT`, `DIV`, and `BON` events, the `ratio_new` includes the existing holdings.
As a result, some reported ratios may differ from the actual figures in official announcements.
