quantlab.acquisition.sharadar#
Sharadar vendor package and the registry entry for a Sharadar subscription.
The client lives in quantlab.acquisition.sharadar.client; this package
module holds only the descriptor, as quantlab.acquisition.wrds does, so
importing the client also registers the source.
SHARADAR_SOURCE registers Sharadar with quantlab.acquisition.registry
so an operator surface lists it: one Capability per table of the raw tier
(quantlab.dataset.sharadar.tables.TABLES), the credential variable, and the
dataset class that converts each table that becomes a panel.
Sharadar’s raw tier is whole tables, pulled as bulk zips and trailing date
windows by SharadarClient, not the symbol-batched hive tree a
SymbolBatchAcquisition writes. The descriptor therefore names no
symbol-batch class and no config factory: registry.download_symbols()
refuses it. Its raw-tier refresh is
quantlab.acquisition.sharadar.refresh.refresh_raw_tier (the daily table
plan), which registry.refresh_raw_tier calls; the first download and the
store builds are scripts/sharadar/download.py and
quantlab.dataset.sharadar.stores. registry.convert() builds the SEP and SFP
stores, the SF1 fundamentals stores, and the DAILY, EVENTS, insider (SF2),
13F ownership (SF3A) and corporate-actions (ACTIONS) stores; the S&P 500
membership panel (a constituent dataset), the industry panel and the listing
panel (the latter registered under TICKERS, both built from TICKERS and
ACTIONS together) and the fiscal-year history panel (SF1’s ARY rows, which
the fundamentals stores refuse) are built by quantlab.dataset.sharadar.stores.
Examples#
>>> import quantlab.acquisition.registry
>>> from quantlab.acquisition.base import DataSourceRegistry
>>> source = DataSourceRegistry.get("sharadar")
>>> [c.data_type for c in source.capabilities]
['sep', 'sfp', 'sf1', 'daily', 'events', 'sf2', 'sf3', 'sf3a', 'sf3b', 'actions', 'sp500', 'tickers', 'indicators']
>>> source.required_env
('SHARADAR_API_KEY',)
Modules