quantlab.dataset.sharadar.events#

Sharadar 8-K events (EVENTS) as a daily boolean panel, keyed by permaticker.

EVENTS holds one row per company and 8-K filing date, with the filing’s items as a pipe-joined list of two-digit event codes (22|91: results of operations, and financial statements). The codes are Sharadar’s published list, the EVENTCODES rows of INDICATORS.

SharadarEventsDataset has one boolean variable per published code, event_<code>, whose title attribute is the code’s title. A cell is True on the available date of a filing that lists the code (the first SEP trading day on or after the filing date) and False on every other day (quantlab.dataset.sharadar.filings.FilingPanelDataset). A code missing from the list is refused rather than dropped: re-pull INDICATORS.

TICKERS has no rows of EVENTS, which covers SF1’s filers, so its tickers are mapped through the SF1 rows. EVENTS has no lastupdated; it is refreshed by trailing date windows (SharadarClient.window_table), and update() appends the new trading days. A code the vendor publishes after the store was built becomes a new variable on the next update, False on the days already stored: no filing could list it then.

Examples#

Build the store and see which companies reported results on a day:

config = SharadarEventsConfig(
    zarr_file_path="/data/quantlab/market/sharadar/sharadar_events_1d/sharadar_events_1d.zarr",
    raw_data_dir_path="/data/quantlab/downloads/sharadar",
)
SharadarEventsDataset(config).update()
panel = SharadarEventsDataset(config).panel("2024-01-02", "2024-12-31")
panel["event_22"].attrs["title"]  # 'Results of Operations and Financial Condition'

Classes

SharadarEventsDataset

Daily panel of 8-K event codes, True on each filing's available date.