Symbology
Also written symbol mapping
The conventions a dataset uses to name instruments, and the work of mapping one set of them onto another. It covers the bare ticker, the venue and class decoration bolted onto it, and the permanent identifier underneath. Symbology is a join problem rather than a naming one: two datasets agree about which company they mean and disagree about the key, and the key is what breaks.
How it works
An instrument's name in a dataset has three layers, and most symbology trouble is a confusion between them.
The bare ticker. Short, human, free, and a description of a listing at a moment rather than of a security. It is reassigned, it differs per venue and per share class, and it changes when the issuer does something.
The qualified symbol. The ticker plus decoration saying which class, which instrument type, or which venue. This is where two datasets that agree about everything else disagree on a string. Nasdaq publishes a ticker symbol convention table for exactly this reason, comparing three of them side by side: a warrant is written with a dot-WS suffix under the CQS convention, as a plus sign in the Nasdaq integrated platform's suffix position, and as a space and WS under the CMS convention; a preferred issue is a trailing lower-case p, a hyphen, and PR respectively; a unit is dot-U, an equals sign, and U. The page adds that the CQS convention is shown for reference only, and that Nasdaq protocols do not accept it for sending orders. Three published spellings of one security before a single vendor has touched it.
The permanent identifier. The number that survives the rename. ANNA's ISIN guidelines state the property that makes this layer worth carrying: ISINs "should never be re-used". A ticker has no such rule, which is the whole asymmetry. The registries themselves — what CUSIP, ISIN, SEDOL, FIGI, LEI and CIK each cover and what each costs — are a guide of their own; this page is about the mapping.
The mapping is a choice about what one instrument is
Resolving symbols is a service, and the shape of its answer forces a decision. The OpenFIGI API takes tickers, ISINs and around thirty other identifier types, qualified by an exchange code or an ISO market identifier code, and returns FIGIs at three levels: an individual identifier unique to one instrument at one venue, a composite that links the venue-level identifiers within the same country or market, and a share class level identifier assigned to an instrument traded in more than one country.
Those three levels are three different answers to "is this the same thing". A portfolio joined at share class level treats a dual-listed line as one position; joined at venue level it is two rows with two prices in two currencies. Neither is wrong, and a pipeline that mixes them produces double counting nobody can find later. Pick the level explicitly, write it down, and normalise both sides into it.
What a reassignment does to a series
This is the failure that does not announce itself. When a ticker is dropped by one issuer and later assigned to another, a dataset keyed on the symbol concatenates two unrelated price histories into one series. Nothing errors. The gap looks like a halt, the level change looks like a corporate action, and any return, volatility or drawdown figure spanning the junction is a statement about a company that never existed.
The same mechanism runs the other way: a rename splits one company's history into two symbols, so a screen keyed on tickers quietly loses it, which is one of the ways survivorship bias gets in through the back door. A vendor that carries a permanent identifier under the symbol can reconstruct both cases; a vendor that keys on the symbol cannot, whatever it does afterwards.
Why it matters here
For cards on this site, symbology is a documentation question with a real answer. A data provider either publishes its symbology — what the suffixes mean, which identifiers it maps to, whether a delisted symbol keeps its history — or it does not, and the ones that do are doing you a large favour. Databento and IQFeed document theirs in detail; Norgate Data exists partly because keeping the identity of a security straight across decades is a product in itself.
Three questions worth asking of any source here. What is the key, and is there one that is not a ticker? What happens to the series when the symbol changes? And are delisted instruments still in the file under something you can find them by? A dataset that cannot answer the third is also answering the point-in-time question, badly.
Where this bites first in practice is SEC filings, because EDGAR keys on a CIK rather than a ticker — which is the shape everything above is arguing for.
Where you will meet this
The cards where this changes a decision, then the rest that use the word.
Sources
- CQS Symbol Convention — Nasdaq, Inc., read
- OpenFIGI API Documentation — OpenFIGI, read
- ISIN Uniform Guidelines relating to ISO 6166 (8th edition), Version 25 — Association of National Numbering Agencies,
FAQ
Which identifier should I join two datasets on?
Anything except the ticker, and then the same thing on both sides. Map each dataset once into a permanent identifier, store the mapping with the date it was made, and join on that. Joining on a symbol works until the first rename, at which point it stops failing loudly and starts producing a series that belongs to two different companies.
Why does the same stock have three different symbols in my sources?
Because the suffix conventions are genuinely different documents. Nasdaq publishes a comparison table in which a warrant is one thing under the CQS convention, another in the Nasdaq integrated platform, and another again under the CMS convention, and then every vendor picks or invents one. Strip and normalise the decoration deliberately rather than by accident.
Updated