Direct Answer
A ticker symbol (e.g., AAPL, MSFT, BRK.B) is an exchange-assigned shorthand for a security. Tickers are not permanent: companies change their ticker on rebranding, after mergers, or when moving listings between exchanges. A delisted ticker can be reassigned to a completely different company years later. Any data system that uses the ticker symbol alone as a persistent security identifier will silently corrupt data joins when a ticker changes or is reused.
The solution is a symbol master (also called a security master): a database that maps each ticker to a stable, exchange-independent identifier, CUSIP (US), ISIN (international), or FIGI (Financial Instruments Global Identifier, open standard), with effective date ranges for each ticker-to-identifier mapping. When querying historical data, the symbol master provides the correct identifier for each date, preventing joins that cross ticker reuse boundaries and ensuring that a query for "ticker TWTR before July 2022" returns Twitter history, not X Corp history if the ticker was later reused.
Key Takeaways
- Tickers are not unique over time: The same ticker can be used by multiple unrelated companies at different points in history. Using a ticker as a permanent database key merges these separate companies' data.
- CUSIP is the US standard, ISIN is international: CUSIP (Committee on Uniform Security Identification Procedures) is a 9-character alphanumeric code issued for North American securities. ISIN (International Securities Identification Number) is a 12-character code that includes a country prefix and embeds the CUSIP for US securities.
- FIGI is the open, license-free identifier: Financial Instruments Global Identifier (FIGI) is an open standard administered by the Object Management Group (OMG). Unlike CUSIP (which requires a license from CUSIP Global Services), FIGI can be used freely in software. Bloomberg-originated FIGIs (BBG...) are widely referenced.
- Mergers create identifier transitions: When Company A acquires Company B, Company B's CUSIP is retired. Existing positions tracked by CUSIP must be transitioned to reflect the acquisition (cash close, or conversion to Company A's CUSIP at the exchange ratio).
- Class differences matter: BRK.A and BRK.B are different securities with different CUSIPs even though they represent the same company. Preferred stock, warrants, rights, and ADRs each have their own identifier separate from the common shares.
- The symbol master must be point-in-time: If a ticker changed on date T, queries for that ticker before T should return the old entity's data; after T, the new entity's data. A symbol master without effective dates cannot answer historical queries correctly.
- Exchange venue affects ticker format: The same security may trade on multiple exchanges under different ticker formats (e.g., "AAPL" on Nasdaq, "AAPL:US" in Bloomberg format, "US0378331005" as ISIN). Cross-venue data joins require normalizing to the underlying identifier, not the exchange-specific symbol.
- Survivorship bias is related to but distinct from identifier mapping: A symbol master that only contains currently active securities (not delisted, merged, or bankrupt companies) introduces survivorship bias independently of the identifier mapping problem. A complete historical symbol master must include all securities that ever existed, including those that no longer trade.
Core Concepts
The Ticker Lifecycle: Issuance, Change, Reuse
When a company lists on a US exchange, it selects a ticker symbol (subject to exchange approval and availability). The ticker is registered with the exchange and appears in the SIP consolidated tape. A company can change its ticker, typically after a rebranding, a merger that changes the company's primary business focus, or a transfer of listing between exchanges. The ticker change takes effect on a specified date; the old ticker is retired and the new ticker begins appearing in the tape from that date forward.
After a ticker is retired (from a delisting, ticker change, or company dissolution), exchanges typically enforce a waiting period before the ticker can be reissued, commonly one to two years, though this varies by exchange. After the waiting period, the ticker can be assigned to a completely new, unrelated company. This reuse creates the core identifier mapping hazard: a system that looks up "TWTR" will retrieve Twitter data before 2022, then X Corp (or whatever entity claims the ticker after) data afterward, without any indication that these represent different companies.
Real-world ticker changes are common. Twitter rebranded to X Corp and the TWTR ticker was retired in 2022. Sprint's ticker "S" was retired from the NYSE after its 2020 merger into T-Mobile, then reissued in 2021 to a completely unrelated company (cybersecurity firm SentinelOne). Energy companies have changed tickers during multiple restructurings. Large diversified companies that split into focused businesses release the old ticker and both successor entities pick new ones. A backtesting database that spans 10 or more years will have hundreds of ticker changes and reuses across a universe of thousands of securities.
The practical test for ticker reuse risk: for any symbol in your historical data universe, query the symbol master for all companies that ever held that ticker, with their date ranges. If more than one company appears, verify that any data join by ticker correctly scopes each date to the matching company. This check is especially important for common short words (like "M", "F", "A") that have been reused multiple times.
Stable Identifiers: CUSIP, ISIN, and FIGI
CUSIP is a 9-character identifier: 6 characters identifying the issuer, 2 characters identifying the specific security (share class, bond maturity, etc.), and 1 check digit. CUSIPs are assigned by CUSIP Global Services (operated by S&P Global) and are used throughout US financial infrastructure, in settlement systems (DTC), regulatory filings, and institutional data systems. However, CUSIP data requires a license that restricts redistribution; systems that redistribute security reference data commercially cannot use raw CUSIPs without a license agreement.
ISIN (ISO 6166) is the international standard: a 2-letter country code, a 9-character national security identifier (for US securities. This is the CUSIP itself, used directly as the NSIN), and a separate check digit calculated over the full ISIN. ISINs are assigned by national numbering agencies, in the US, CUSIP Global Services also assigns ISINs. ISINs are used in settlement systems, regulatory reporting under MiFID II (European Union), and in cross-border securities identification.
FIGI (Financial Instruments Global Identifier) is an open, royalty-free standard developed by Bloomberg and now administered by the Object Management Group (OMG). FIGIs are 12-character alphanumeric identifiers. Each FIGI is share-venue-class-specific: the same company's stock trades on multiple exchanges under different FIGIs. A composite FIGI aggregates all venue-specific FIGIs for the same security. Because FIGIs are freely usable without a license and are mapped by Bloomberg's open-access FIGI database, they are increasingly used in open-source financial data projects and as a neutral identifier in multi-source data systems.
For most systematic trading applications, any of the three identifier types serves as a stable key, provided the symbol master correctly maps current and historical tickers to the identifier with effective date ranges. The choice between CUSIP, ISIN, and FIGI typically depends on: what identifiers your data vendors provide, whether your system needs to interoperate with settlement infrastructure (where CUSIP/ISIN are required), and whether you need a royalty-free identifier for data redistribution (where FIGI is preferred).
Building and Maintaining a Symbol Master
A symbol master is a reference database table (or set of tables) that maps security identifiers across dimensions. At minimum, it needs: the stable identifier (CUSIP or FIGI), the exchange-specific ticker, the exchange venue, the effective start date of the ticker-to-identifier mapping, and the effective end date (null if still active). A query for the identifier of a given ticker at a given date joins on ticker AND date range, returning only the mapping active at that date.
Sources for symbol master data include: exchanges (which publish official ticker change notices), EDGAR (SEC filings reference CUSIPs and list ticker changes), FINRA (which publishes daily OTC trading data including security identifiers), OpenFIGI API (Bloomberg's free FIGI lookup service), and commercial data vendors (Refinitiv, FactSet, Bloomberg terminal all offer security master products). For a retail-scale data operation, OpenFIGI and SEC EDGAR are sufficient starting points. For institutional research, a commercial security master with daily updates, historical event coverage, and corporate action integration is standard.
The symbol master must handle several edge cases: securities that are listed on multiple exchanges simultaneously (each venue may use the same or different ticker format, but the underlying CUSIP is the same); securities with multiple share classes (BRK.A and BRK.B have the same issuer CUSIP prefix but different security-specific digits); ADRs (American Depositary Receipts) which have their own CUSIP separate from the underlying foreign security; and fixed-income instruments where each maturity date and coupon rate of a bond issuance has its own CUSIP.
Keeping the symbol master current requires daily updates to capture ticker changes, new listings, and delistings. Ticker changes announced by exchanges are typically published 5-10 business days in advance via exchange notices. Delistings may be announced with shorter notice (especially for regulatory actions). A symbol master that is updated only monthly will have gaps during which new or changed tickers cannot be correctly mapped, and queries during those gaps will return stale or incorrect identifiers.
Identifier Mapping Errors and Their Effects on Backtests
The most common identifier mapping error is the "ticker reuse join": querying historical price data using a ticker without checking whether the ticker was held by a different company at the queried date. If a backtest universe is constructed by selecting securities using today's ticker symbols and then fetching their 5-year price history, any ticker that changed hands within those 5 years will return a mixed history, some records from company A, some from company B, without warning.
The effect on a backtest depends on what the data from the "wrong" company looks like. If both companies are in the same sector with similar return characteristics, the error may be small. If company A was a high-growth tech stock and company B (the ticker's current holder) is a small mining company, the historical price series under the ticker will look like a dramatic regime change, high volatility technology behavior suddenly switching to low-volume commodity behavior. The backtest may produce confident-looking but entirely fictional results because it is modeling a company that never existed.
Survivorship bias from symbol master completeness is a related issue. If the symbol master only contains currently active tickers, the backtest universe excludes all companies that delisted, went bankrupt, were acquired, or otherwise left the market during the historical period. These excluded companies include both successes (acquired at a premium) and failures (bankrupt). The surviving universe is systematically biased toward companies that have successfully operated for the full backtest period, overstating average historical returns for strategies applied to that universe.
Worked Scenario
A researcher is building a mean-reversion strategy and tests it on a 10-year history of 1,500 US equities selected from today's active ticker list. After running the backtest, they notice one ticker (ANGI) showing unusual returns, strong trending behavior inconsistent with the expected mean-reversion pattern.
- Investigation: The researcher queries the symbol master for ANGI's history. The symbol master reveals that ANGI was the ticker for "Angie's List" (a home services marketplace, founded 1995) from 2011 until 2017, when it merged with HomeAdvisor and was renamed ANGI Homeservices. The combined entity retained the ANGI ticker. Two different companies, one ticker, with a merger event in 2017 creating a structural break in the data series.
- Data contamination check: Price data under ANGI before 2017 reflects the original Angie's List standalone company. After 2017, it reflects ANGI Homeservices (a much larger, combined entity). A moving average spanning 2016-2018 crosses this structural break and computes a nonsensical signal comparing the old company's prices to the new entity's prices.
- Correct approach: The researcher maps ANGI to its stable CUSIP. The symbol master shows two distinct CUSIP entries for ANGI: one for the original Angie's List entity (active 2011-2017), and one for ANGI Homeservices (active 2017, present). These are treated as separate securities with separate price histories, with the position closing at the merger date and the new position opening under the new entity's record.
- Universe correction: Running a completeness check on the 1,500-ticker universe reveals 47 additional tickers with at least one entity transition in the 10-year backtest window. These are flagged for manual review or automated splitting at the transition dates.
Measurement Framework
| Measurement | Question to Answer |
|---|---|
| Ticker-to-CUSIP mapping coverage (%) | What fraction of securities in your universe have a verified stable identifier in the symbol master? |
| Tickers with >1 historical entity | How many tickers in the universe have been held by more than one company during the backtest period? |
| Symbol master update lag (days) | How many days behind current exchange notices is your symbol master? Gaps allow incorrect routing. |
| Delisted security coverage (%) | What fraction of companies that delisted during the backtest period appear in the symbol master? (Survivorship bias test) |
| Class distinction errors | Are preferred shares, ADRs, and warrants correctly separated from common shares in the identifier mapping? |
Common Failure Modes
Using Current Tickers for Point-in-Time Historical Queries
A universe selection query that runs "select ticker from universe where exchange = 'NASDAQ'" returns current active tickers. Using those tickers to pull 10-year historical data without checking when each ticker was first assigned to the current security entity will include data from predecessor entities that held the same ticker before the current company. This is the ticker reuse join problem described above, silent, no errors thrown, but mixing data from different companies.
The fix is always to join through the symbol master using a point-in-time query: for each date in the backtest, resolve the ticker to the stable identifier active on that date, then use the stable identifier to join to price data. Never use raw ticker symbols as join keys in a historical context.
Ignoring Class Distinctions in Multi-Class Issuers
Berkshire Hathaway Class A (BRK.A, ~$600,000+ per share) and Class B (BRK.B, ~$400 per share) have the same issuer CUSIP prefix but different security identifiers. A data system that strips the class suffix and uses only the issuer identifier will incorrectly merge BRK.A and BRK.B data. This error is common in systems that treat the ticker prefix (letters only) as the security key, discarding the class designator (A, B, PR for preferred, WS for warrants).
Mapping to ISIN Without Country Code Verification
Multiple countries' securities can have similar-looking ISINs if the national security identifier portion coincidentally matches. US ISINs start with "US"; German ISINs start with "DE". A data system that stores ISINs as plain strings without indexing or validating the country code can produce incorrect joins if the same 9-character national identifier portion appears in two different countries' ISIN spaces (extremely rare but possible). Always store and index the full 12-character ISIN, and validate the country code when cross-referencing international data.
Not Retiring Symbol Master Entries at Delisting
When a company delists, its ticker is retired and the CUSIP is marked as inactive. A symbol master that does not retire entries, or that assigns a null end date to all active entries without recording when they became inactive, cannot reliably distinguish an active security from a delisted one as of any historical date. This gap allows backtests to include securities that were not actually tradeable at the backtest date, or to omit the return of the delisting event (acquisition premium or bankruptcy loss).
Frequently Asked Questions
What is the difference between a CUSIP and a FIGI?
CUSIP is a 9-character identifier issued by CUSIP Global Services (S&P Global) for North American securities. Using CUSIP data requires a license. FIGI (Financial Instruments Global Identifier) is a 12-character open standard developed by Bloomberg and now governed by the Object Management Group. FIGIs can be used freely without a license. Both serve as stable security identifiers. CUSIP is the US settlement system standard; FIGI is increasingly used in open-source data systems and international contexts. For most quantitative research projects, either works as a stable key, the choice depends on which identifier your data vendors provide and whether you need royalty-free redistribution rights.
How often do tickers actually change?
For large, well-established companies, ticker changes are rare events that happen only on major corporate restructurings. For smaller-cap and micro-cap companies, which experience higher rates of M&A, bankruptcy, relisting, and rebranding, ticker changes can be quite frequent. In a universe of 3,000-5,000 US equities tracked over 10 years, expect 200-500 ticker change events. This is roughly 2-5% of the universe per year experiencing some form of identifier change, enough to meaningfully distort research that does not account for it.
How do I get access to OpenFIGI for identifier mapping?
Bloomberg provides a free FIGI lookup API at openfigi.com. The API accepts tickers, CUSIPs, ISINs, and other identifiers and returns the corresponding FIGI, composite FIGI, and metadata (market sector, security type, exchange). Rate limits apply for unauthenticated access; authenticated access allows higher request rates. The OpenFIGI API is a practical starting point for building an open-source symbol master, though for production systems with completeness requirements, a commercial security master provider offers better historical coverage and daily update services.
What happens to a CUSIP when a company is acquired?
When a company is acquired and its shares are delisted, its CUSIP is retired, marked as inactive by CUSIP Global Services. The CUSIP continues to be valid as a historical reference (e.g., for trade reconciliation or historical position tracking) but no new securities are issued under it. The acquiring company's shares continue under the acquirer's CUSIP. In a stock-for-stock merger, systems that tracked positions by CUSIP must replace the target's CUSIP with the acquirer's CUSIP at the merger close date, adjusted by the exchange ratio.
Is survivorship bias the same as the ticker reuse problem?
No, they are distinct issues with a related cause. Survivorship bias is the error of only including currently existing companies in historical analysis, excluding companies that failed or were acquired. The ticker reuse problem is the error of joining historical data across a ticker change boundary, mixing data from two different companies. Both arise from insufficient symbol master maintenance, but they affect data quality differently: survivorship bias inflates average historical returns; ticker reuse contamination introduces spurious structural breaks and mixed-company signals. A complete, point-in-time symbol master with full delisted security coverage addresses both problems.
How are ETF tickers handled in a symbol master?
ETFs are assigned CUSIP identifiers like equities and treated as standard securities in a symbol master. An ETF can change its ticker (e.g., if it changes its name or mandate), be liquidated (delisted), or merge with another ETF, all of which create the same ticker change and identifier retirement events as with corporate equities. ETF share class structures (some ETFs have retail and institutional classes) also require separate identifiers per class. For strategies that include ETFs in their universe alongside equities, the same symbol master query logic applies.
What does "composite FIGI" mean?
A composite FIGI is a single identifier that represents a security across all venues where it trades, regardless of exchange. A venue-specific FIGI represents the security on a particular exchange. For example, Apple (AAPL) has a composite FIGI that covers all US venues where AAPL trades, plus individual venue-specific FIGIs for each exchange. For most systematic trading purposes, using the composite FIGI is appropriate, it represents the security as a whole, and venue-specific routing is handled separately by order routing logic. Use venue-specific FIGIs when you need to distinguish the same security across markets (e.g., for multi-venue statistical arbitrage).
Do I need a symbol master if I only trade a small fixed universe?
If your universe is genuinely fixed (you manually maintain a list of specific securities you monitor, and you verify them periodically), the risk is lower than for a dynamic universe that auto-updates. However, even a fixed list of 20 securities will experience corporate events over a 5-year period: one or two may merge, one may split, one may rebrand. If you do not have a symbol master, you need a manual process to detect and handle these events when they occur. The more securities in the universe and the longer the historical period, the more a symbol master is worth building once rather than catching errors manually.
How should an instrument that trades on several venues under one ticker be modeled?
Keeping one record per instrument with a separate list of venue-specific listings avoids duplicating the instrument while still allowing venue-level attributes such as tick size, session hours, and local trading symbol. The consolidated view is then a derived aggregation rather than the primary record. Collapsing everything into a single row loses the ability to route to a specific venue, and creating one instrument per listing breaks position aggregation, so the two-level model is usually the one that survives contact with real data.
References
- OpenFIGI API: Bloomberg's open FIGI lookup service, primary source for royalty-free security identification
- CUSIP Global Services: Official source for CUSIP identifier information and licensing
- ISO 6166: ISIN standard specification
- SEC EDGAR 8-K Filings: Companies announce ticker changes and mergers via 8-K
- Shumway, T. (1997). "The Delisting Bias in CRSP Data." Journal of Finance, 52(1), 327-340. (Seminal study of survivorship bias from delisted securities)
Educational Disclaimer
Security identifier systems, licensing requirements, and exchange practices evolve. Verify current CUSIP licensing terms with CUSIP Global Services and FIGI usage terms with the Object Management Group before deploying in production systems.