quantlab.dataset.crsp.symbology#
PERMNO-to-ticker intervals derived from CRSP’s security-information history.
CRSP (the Center for Research in Security Prices) is a US stock database
sold through WRDS (Wharton Research Data Services). A PERMNO is CRSP’s
permanent integer id for one security; unlike a ticker, it never changes and
is never reused. The CRSP price panel uses the PERMNO as its symbol
axis, so a ticker is only a display name here, never an identity.
CrspSymbology turns the stksecurityinfohist reference table (CRSP’s
history of each security’s descriptive fields) into a table of intervals
saying which ticker each PERMNO used over which dates. The conversion writes
that table into the ticker sidecar, a JSON file next to the Zarr store,
which quantlab.dataset.crsp.tickers reads back. The same table answers
the reverse question, which PERMNO a ticker named on a given day
(resolve), for a panel whose raw files are keyed by ticker, such as the
TAQ NBBO tier.
The daily price table cannot spell a share class on its own (it has no
shareclass and no tradingsymbol column), so the names come from the
downloaded reference tables rather than from the daily rows.
The naming rule, applied per interval:
baseistickerstripped and upper-cased.clsisshareclass, unless it is null, empty,"None"or"NONE"(the last two occur as literal text in the live tables).If
clsis set andtradingsymbol == base + cls, the symbol isbase.cls(BRK with trading symbol BRKB and class B givesBRK.B). Otherwise it isbase(GOOGL, META, FB).An interval whose ticker is null or empty keeps the previous interval’s symbol for that PERMNO. The interval for a delisting day usually looks like this, and carrying the name forward lets the sidecar name a delisted security on its last day.
Nothing here merges two PERMNOs or decides which rows enter a panel.
Classes
Ticker intervals per PERMNO, computed once from |