quantlab.dataset.sharadar.share_class#

The security whose filings carry each Sharadar security’s firm values, keyed by permaticker.

A firm with several traded share classes (Alphabet’s GOOGL and GOOG, Berkshire’s BRK.B and BRK.A) has one SF1 security, the primary class: its DAILY marketcap is the firm’s total market cap (GOOGL’s $2,251B on 2024-06-28 is every share of both classes) and its SF1 rows the firm’s fundamentals. A secondary class (TICKERS category ending in “Secondary Class”) has SEP rows only.

SharadarShareClassDataset stores one float variable, firm: the permaticker whose DAILY and SF1 rows hold the security’s firm values.

  • A security that is not a secondary class is its own firm.

  • A secondary class’s firm is the SF1 security with the same SEC CIK (the CIK= of TICKERS secfilings) that is priced on the day, between its TICKERS firstpricedate and lastpricedate. A CIK can name successive issuers (a company restructured into a new security), so the firm can change from one day to the next.

  • The firm is NaN on a day where no such SF1 security is priced, on a day where two or more are, and for a secondary class without a CIK. Each day is decided from that day’s issuers alone, so the panel holds no look-ahead.

On the 2026-10-05 pull, 1,334 of the 1,338 domestic secondary classes have exactly one SF1 security with their CIK; three have no CIK, and one (OSGB) has two, priced in turn. The CIK was checked against TICKERS relatedtickers on GOOG/GOOGL, BRK.A/BRK.B and FOX/FOXA (issue #186).

Like any spell panel (quantlab.dataset.sharadar.spells), the value is shown from the security’s first to its last price date, on SEP’s trading days, and the store grows with update().

Examples#

Build the store and read a year:

config = SharadarShareClassConfig(
    zarr_file_path="/data/quantlab/market/sharadar/sharadar_share_class_1d/sharadar_share_class_1d.zarr",
    raw_data_dir_path="/data/quantlab/downloads/sharadar",
)
SharadarShareClassDataset(config).update()
panel = SharadarShareClassDataset(config).panel("2024-01-02", "2024-12-31")
panel["firm"].sel(symbol=119496).values[0]  # GOOG -> 195146.0, GOOGL

Classes

SharadarShareClassDataset

Daily panel of the permaticker holding each security's firm values.