Corporate actions
Reference.corporate_actions.get_range
Make a streaming request for corporate actions time series data from Databento.
Each record represents a unique corporate actions event at the listing level.
The specified index will be used to filter the time range and order the records. It will also be set as the index of the resulting data frame.
Corporate actions dataset guide for further details.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
start | pd.Timestamp, datetime, date, str, or int | required | The inclusive start of the request range based on index. Takes pd.Timestamp, Python datetime, Python date, ISO 8601 string, or UNIX timestamp in nanoseconds. Assumes UTC as timezone unless otherwise specified. |
end | pd.Timestamp, datetime, date, str, or int | optional | The exclusive end of the request range based on index. Takes pd.Timestamp, Python datetime, Python date, ISO 8601 string, or UNIX timestamp in nanoseconds. Assumes UTC as timezone unless otherwise specified. If None, then will return all data available after start. |
index | str, default 'event_date' | optional | The index column to use for filtering the start and end time range and for record ordering. Use any of 'event_date', 'ex_date' or 'ts_record'. Records with a NULL value in the specified index column will be excluded. |
symbols | list or str | optional | The symbols to filter for. Takes up to 2,000 symbols per request. If more than 1 symbol is specified, the data is merged and sorted by time. If 'ALL_SYMBOLS' or None then will select all symbols by default. |
stype_in | SType or str, default 'raw_symbol' | optional | The symbology type of input symbols. Use any of 'raw_symbol', 'nasdaq_symbol', 'isin', 'us_code', 'bbg_comp_id', 'bbg_comp_ticker', 'figi', 'figi_ticker', 'listing_id', 'issuer_id', 'security_id'. |
events | list or str | optional | |
countries | list or str | optional | The listing countries to filter for. Takes any number of country codes per request as two letter ISO 3166-1 alpha-2 strings. If not specified then will select all countries by default. See CNTRY enum. |
exchanges | list or str | optional | The (listing) exchanges to filter for. Takes any number of exchanges per request. If not specified then will select all exchanges by default. See EXCHANGE enum. |
security_types | list or str | optional | The security types to filter for. If not specified then will select all security types by default. See SECTYPE enum. |
flatten | bool, default True | optional | If nested JSON objects within the date_info, rate_info, and event_info fields should be flattened into separate columns in the resulting data frame. |
pit | bool, default False | optional | Determines whether to retain all historical records or only the latest records. If True, all historical records for each event_unique_id will be retained, preserving the complete point-in-time history. If False (default), the data frame will include only the most recent record for each event_unique_id based on the ts_record timestamp. |
allocate_isins | bool, default True | optional | Whether the request should allocate any new ISINs for plans that are ISIN-limited. The request will drop any rows that would create new allocations. |
Returns
pd.Dataframe
The data converted into a DataFrame.
Corporate actions field descriptions for further details.
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Reference.corporate_actions.get_range(
start: pd.Timestamp | datetime | date | str | int,
end: pd.Timestamp | datetime | date | str | int | None = None,
index: str = "event_date",
symbols: Iterable[str] | str | None = None,
stype_in: SType | str = "raw_symbol",
events: Iterable[str] | str | None = None,
countries: list[str] | str | None = None,
exchanges: list[str] | str | None = None,
security_types: list[str] | str | None = None,
flatten: bool = True,
pit: bool = False,
allocate_isins: bool = True,
) -> pd.DataFrame 1 2 3 4 5 6 7 8 9 10 11 12 13
import databento as db
client = db.Reference("$YOUR_API_KEY")
df_raw = client.corporate_actions.get_range(
symbols=["AAPL"],
stype_in="raw_symbol",
start="2024-01",
events=["SHOCH"],
countries=["US"],
)
print(df_raw.head()) 1 2 3 4 5 6
event_unique_id ts_record event_id listing_id listing_group_id security_id issuer_id event_action event event_subtype event_date_label event_created_date effective_date ex_date record_date record_date_id related_event related_event_id global_status listing_status listing_source listing_date delisting_date issuer_name security_type security_description primary_exchange exchange operating_mic symbol nasdaq_symbol local_code isin us_code bbg_comp_id bbg_comp_ticker figi figi_ticker listing_country register_country trading_currency multi_currency segment_mic_name segment_mic mand_volu_flag rd_priority lot_size par_value par_value_currency payment_date duebills_redemption_date from_date to_date registration_date start_date end_date open_date close_date start_subscription_date end_subscription_date option_election_date withdrawal_rights_from_date withdrawal_rights_to_date notification_date financial_year_end_date exp_completion_date payment_type option_id serial_id default_option_flag rate_currency ratio_old ratio_new fraction outturn_style outturn_security_type outturn_security_id outturn_isin outturn_us_code outturn_local_code outturn_bbg_comp_id outturn_bbg_comp_ticker outturn_figi outturn_figi_ticker min_offer_qty max_offer_qty min_qualify_qty max_qualify_qty min_accept_qty max_accept_qty tender_strike_price tender_price_step option_expiry_time option_expiry_tz withdrawal_rights_flag withdrawal_rights_expiry_time withdrawal_rights_expiry_tz expiry_time expiry_tz ts_created old_outstanding_date new_outstanding_date old_shares_outstanding new_shares_outstanding event_date 2024-01-02 U-40685533904-135825 2024-01-12 13:12:12+00:00 E-5533904-SHOCH L-135825 LG-35825 S-33449 I-30017 I SHOCH NaN effective_date 2024-01-12 2024-01-02 None None NaN SHOCH NaN A L M 1980-12-12 None Apple Inc EQS Ordinary Shares USNASD USNASD XNAS AAPL AAPL AAPL US0378331005 37833100 BBG000B9XRY4 AAPL US BBG000B9Y5X2 AAPL UW US US USD False Global Select XNGS M NaN 100 0.00001 USD None None None None None None None None None None None None NaN None None None None NaN NaN NaN False NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaT NaN NaN NaT NaN NaT NaN 2024-07-24 06:32:10.375440+00:00 2023-10-20T00:00:00 2024-01-02T00:00:00 15552752000 15461896000 2024-01-19 U-40685575281-135825 2024-02-05 03:37:49+00:00 E-5575281-SHOCH L-135825 LG-35825 S-33449 I-30017 I SHOCH NaN effective_date 2024-02-03 2024-01-19 None None NaN SHOCH NaN A L M 1980-12-12 None Apple Inc EQS Ordinary Shares USNASD USNASD XNAS AAPL AAPL AAPL US0378331005 37833100 BBG000B9XRY4 AAPL US BBG000B9Y5X2 AAPL UW US US USD False Global Select XNGS M NaN 100 0.00001 USD None None None None None None None None None None None None NaN None None None None NaN NaN NaN False NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaT NaN NaN NaT NaN NaT NaN 2024-07-24 22:44:12.284177+00:00 2024-01-02T00:00:00 2024-01-19T00:00:00 15461896000 15441881000 2024-04-19 U-40685752069-135825 2024-05-06 13:21:00+00:00 E-5752069-SHOCH L-135825 LG-35825 S-33449 I-30017 I SHOCH NaN effective_date 2024-05-06 2024-04-19 None None NaN SHOCH NaN A L M 1980-12-12 None Apple Inc EQS Ordinary Shares USNASD USNASD XNAS AAPL AAPL AAPL US0378331005 37833100 BBG000B9XRY4 AAPL US BBG000B9Y5X2 AAPL UW US US USD False Global Select XNGS M NaN 100 0.00001 USD None None None None None None None None None None None None NaN None None None None NaN NaN NaN False NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaT NaN NaN NaT NaN NaT NaN 2024-07-25 01:52:32.148864+00:00 2024-01-19T00:00:00 2024-04-19T00:00:00 15441881000 15334082000 2024-07-19 U-40685933868-135825 2024-08-05 03:41:52+00:00 E-5933868-SHOCH L-135825 LG-35825 S-33449 I-30017 I SHOCH NaN effective_date 2024-08-03 2024-07-19 None None NaN SHOCH NaN A L M 1980-12-12 None Apple Inc EQS Ordinary Shares USNASD USNASD XNAS AAPL AAPL AAPL US0378331005 37833100 BBG000B9XRY4 AAPL US BBG000B9Y5X2 AAPL UW US US USD False Global Select XNGS M NaN 100 0.00001 USD None None None None None None None None None None None None NaN None None None None NaN NaN NaN False NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaT NaN NaN NaT NaN NaT NaN 2024-08-05 06:00:56.552900+00:00 2024-04-19T00:00:00 2024-07-19T00:00:00 15334082000 15204137000
Reference.corporate_actions.list_events
Requests documentation for all supported corporate action event types, including their fields, subtypes, and applicable calendar dates.
Returns
dict[str, dict]
The raw JSON response as a dict keyed by event code (e.g. AGM), where each value is:
| Field | Type | Description |
|---|---|---|
calendar_dates | list[dict] or None | The calendar dates relevant to the event. |
category | str or None | The category of the event ( distribution, distribution_debit, legal_action, proposal, reorganisation, static_reference, tax_related, other). |
code | str or None | The code for the event (e.g. AGM). |
description | str or None | Description of the event. |
fields | list[dict] or None | The fields relevant to the event. |
level | str | The level the event applies to ( country, issuer, listing, security). |
name | str | Name of the event. |
participation | str or None | Whether the event is mandatory, voluntary, or a mix of the two ( mandatory, voluntary, mandatory_voluntary). |
subtypes | list[dict] or None | The subtypes relevant to the event. |
Corporate actions events guide for information in text form.
1
Reference.corporate_actions.list_events() -> dict[str, dict] 1 2 3 4 5 6 7
import databento as db
client = db.Reference("$YOUR_API_KEY")
event_docs = client.corporate_actions.list_events()
print(event_docs["AGM"]) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
{
"code": "AGM",
"name": "Company Meeting",
"level": "issuer",
"category": "proposals",
"participation": "voluntary",
"description": "Annual General meeting of shareholders is held once a year, usually after the end of the financial year. Also includes other meeting types such as Extraordinary General Meeting, Special General Meeting, Court Ordered Meeting, and Postal Ballot.",
"subtypes": [
{
"code": "AGM",
"description": "Annual General Meeting"
},
{
"code": "BHM",
"description": "Bond Holder Meeting"
},
{
"code": "CGM",
"description": "Court Ordered General Meeting"
},
{
"code": "EGM",
"description": "Extraordinary General Meeting"
},
{
"code": "GM",
"description": "General Meeting"
},
{
"code": "SGM",
"description": "Special General Meeting"
}
],
"calendar_dates": [
{
"name": "event_date",
"alias": "meeting_date"
},
{
"name": "effective_date",
"alias": "meeting_date"
}
],
"fields": [
{
"group": "event_info",
"name": "meeting_number",
"description": "Company Meeting Number"
},
{
"group": "event_info",
"name": "meeting_time",
"description": "Local time for Start of Meeting"
},
{
"group": "event_info",
"name": "address_line1",
"description": "Address line 1"
},
{
"group": "event_info",
"name": "address_line2",
"description": "Address line 2"
},
{
"group": "event_info",
"name": "address_line3",
"description": "Address line 3"
},
{
"group": "event_info",
"name": "address_line4",
"description": "Address line 4"
},
{
"group": "event_info",
"name": "address_line5",
"description": "Address line 5"
},
{
"group": "event_info",
"name": "address_line6",
"description": "Address line 6"
},
{
"group": "event_info",
"name": "city",
"description": "City"
},
{
"group": "event_info",
"name": "country",
"description": "Country Code - ISO 3166-1"
}
]
} Reference.corporate_actions.list_enums
Requests documentation for the full set of enumerations used across corporate actions data, like event actions and statuses.
Returns
dict[str, list[dict]]
The raw JSON response as a dict keyed by enum group name (e.g. ACTION). Each value is a list of variants:
| Field | Type | Description |
|---|---|---|
code | str or None | Code for the enum variant. |
description | str | Description of the enum variant. |
Reference data enums for a lookup table of possible enumeration field values.
1
Reference.corporate_actions.list_enums() -> dict[str, list[dict]] 1 2 3 4 5 6 7
import databento as db
client = db.Reference("$YOUR_API_KEY")
enum_docs = client.corporate_actions.list_enums()
print(enum_docs["ACTION"]) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
[
{
"code": "C",
"description": "Cancelled"
},
{
"code": "D",
"description": "Deleted"
},
{
"code": "I",
"description": "Inserted"
},
{
"code": "P",
"description": "Payment details Cancelled by Issuer"
},
{
"code": "Q",
"description": "Payment details Deleted by Data Supplier"
},
{
"code": "U",
"description": "Updated"
}
]