Mapping Financial Symbols Requires Identifiers, Venue Context, and History
Summary
The document explains why translating among exchange tickers, Reuters Instrument Codes, and Bloomberg symbols is not a simple universal lookup. Vendor identifiers often describe a quote on a particular exchange or market, not merely a company or underlying security. Similar-looking codes can therefore identify different listings, and RIC suffixes may depend on venue; conventions can be especially difficult to infer outside the United States. A feed prefix may also describe local data infrastructure rather than form part of the RIC itself.
For robust mapping, the responses recommend using vendor reference data or a maintained symbology master, potentially anchored by identifiers such as ISIN, SEDOL, CUSIP, PermID, or Bloomberg identifiers. Mappings may change when companies rename, merge, relocate, or listings change, so date and exchange context can matter. Equity symbols may be easier to derive in some markets, but OTC instruments and futures remain more complex. The examples and resources are illustrative; they do not establish a complete, freely available cross-vendor mapping service.
Key ideas
- Vendor symbols commonly identify exchange-specific quotes rather than an issuer alone.
- A mapping may need date, venue, and identifier context to distinguish listings.
- Reference identifiers can help connect vendor-specific naming systems.
- Mappings need maintenance because corporate and listing changes can alter identifiers.
- OTC instruments and futures are more difficult to map reliably than many equities.
Tags
Full text
# Mapping symbols between tickers, Reuters RICs and Bloomberg tickers # Mapping symbols between tickers, Reuters RICs and Bloomberg tickers Is there any known solution (preferably open source) to map between ticker symbols, Reuters and Bloomberg symbols. For example: Edit: by mapping I mean translating from one symbol naming convention to another. For example let's say we have RSF.ANY.AAPL.O and want to get Bloomber equivalent, which is "AAPL US Equity". Edit2: Fixed Bloomber mapping, it should be "AAPL US Equity" not "AAPL:US" ## Answer by unixhacker2010 (score 24, accepted) https://quant.stackexchange.com/a/8045 Here are some pointers. First of all: What you list as a Reuters RIC, `RSF.ANY.AAPL.OQ`, is not really a RIC, only the `AAPL.OQ` is. The initial part is some stuff which is essentially site specific and tells me that you are working on a site that has a legacy RTIC infrastructure (some Reuters/TIBCO technology which is quite old these days and for all practical purposes has been deprecated in favour of other distribution mechanisms, most notably the ADS). Ok, the `AAPL.OQ` is the RIC, and only that. The initial part, the `RSF.ANY` denotes the feed and that is because the Reuters Market Data System (an in-house ticker plant) is vendor agnostic and can have any feed on it, for example Bloomberg. So the initial part could might as well be `BB.ANY` in order to denote the site's Bloomberg feed. .. and then the latter part would of course be a Bloomberg symbol, not a RIC. But we are getting ahead of ourselves here and mixing technology implementation with that of instrument naming schemes, most notably the RIC and the BSYM. With regards to how Reuters RICs are constructed you can read this guide. This document also exist on the Thomson Reuters web site but it doesn't seem to be available without registration. I just found the public link by Googling. There may be a newer version of this document but I doubt it makes much of a difference. RICs have been constructed the same way for ages. As for the Bloomberg Symbology (BSYM) you can find more information on this link. Bloomberg has multiple identifiers to identify the same thing. Only the `BBGID` (Bloomberg Global ID) doesn't change with name changes, i.e it is constant over time. The downside is that it is totally meaningless. Another way to access a data item is to use a combination of the Ticker, Market and Pricing source with spaces between them. Both Reuters and Bloomberg try to use the exchange's ticker symbol as part of their naming standard whenever possible. Unfortunately some exchanges use incomprehensible ticker symbols but that is not really the fault of Reuters or Bloomberg. Bloomberg has made their symbology available under a very liberal "open source" license. Don't be fooled though. He who defines the universe, owns it. Without an impartial body to allocate the symbols it is really not worth much, IMHO. The difficulty in naming financial instruments lies not so much with exchange traded instruments like equities. That is rather simple: Take the exchange's own ticker symbol and then add some self-invented identifier to denote the market place. That's how both Reuters and Bloomberg do it. Nope, my friend, the difficulty (and the real lock-in) is with all the OTC instruments. ## Answer by Steve-o (score 5) https://quant.stackexchange.com/a/23236 Each vendor has their own symbology universe and each exchange, market, or country may have their own standard identifiers. To date the majority of identifiers have also been dynamic, i.e. when a company renames, merges, relocates, the identifier may change. Some symbology systems operate on different levels of granularity whereby prices can be filtered to the exchange rather than just the market. This means you may need a tuple of date, exchange, and identifier to maintain a symbology master. Standard practice in the U.S. has been to maintain symbology master using agnostic identifiers such as ISIN, SEDOL and CUSIP. Each market data vendor has some form of service for which these identifiers can be converted to their own form. Continuing the example of Apple Inc, ``` Ticker: AAPL Exchange: <US Composite> RIC: AAPL.O PermID: 4295905573 ISIN: US0378331005 CUSIP: 037833100 SEDOL: 2046251 Exchange: Nasdaq (US primary) RIC: AAPL.OQ PermID: 55835312773 SEDOL: 2046251 (same) Exchange: Arca RIC: AAPL.P PermID: 55837087061 SEDOL: 2046251 (same) Exchange: <German Composite> RIC: AAPL.DEU PermID: 21474884975 SEDOL: 4033819 Exchange: Berlin RIC: AAPL.BE PermID: 55836323023 SEDOL: 4033819 (same as German composite) ``` Both Bloomberg and Reuters are making attempts at permanent identifiers with Bloomberg Open Symbology and Open PermID respectively. Programmatically you have options with Bloomberg as listed in the comments by @assylias and similarly Thomson Reuters has new features with Eikon. For larger apps one would have to look at developing a dedicated symbology service that can be updated and managed independently. I have written an example service for Thomson Reuters TREP that uses Tick History or the Data Scope Select service for sourcing the Reuters universe. One re-uses any existing TREP API to resolve the symbology then can pull in the underlying instrument, example viewing of the data: ## Answer by jordi (score 4) https://quant.stackexchange.com/a/7619 Bloomberg equity codes are usually quite easy to derive if you know the ticker (though you may have to replace dashes/spaces/slashes for preferred and multi-class shares). This is just for equities though and this is definitely not the case for futures. RICs are a different story. In the US, you need to know on what exchange the ticker is listed to get the suffix. Outside the US and Asia, it's even worse, RICs have very little relationship to the tickers they refer to and are often completely different. However, Reuters does provide daily definitions of every single RIC and provides the associated ticker (which can be used to derive the Bloomberg code) as well as SEDOL/CUSIP and other identifiers. This product is provided as part of the "Reuters Datascope Equities" data. If you are working for a financial institution, it is very likely that they would be subscribing to these daily text files, and you should enquire. These files can be parsed to produce daily RIC -> native ticker, and then trivially converted to Bloomberg mappings. I don't believe you will find any other source of comprehensive RIC data anywhere else. Also, be aware that Bloomberg codes and RICs do not refer to ticker, they refer to exchange quotes. For example, "AAPL US Equity", "AAPL UP Equity", AAPL.OQ, AAPL.P, and a dozen more all refer to various Apple quotes on different exchanges. So be aware that you are mapping quotes, not tickers (an while the RICs for the exact same stock trading on various exchanges seem to share the same root in the US, this is not usually the case in other countries). ## Answer by Datageek (score 2) https://quant.stackexchange.com/a/7579 I will be adding here some resources that I found during the research, hopefully it will turn useful for others: - http://www.linkedin.com/groups/master-symbol-database-most-cost-98173.S.51776671 - http://en.wikipedia.org/wiki/Reuters_Instrument_Code ## Answer by Eric Brady (score 1) https://quant.stackexchange.com/a/7601 Bloomberg provides unique identifiers, I assume Reuters does the same thing. It might be a good idea to use those, or at least track them. Presumably you have pricing data on each of these? You could always check a few close prices against each other to check if you have matched the strings correctly. ## Answer by Barry Star (score 1) https://quant.stackexchange.com/a/9064 try www.tr8tool.com. It looks like they have a bunch of major names already mapped. ## Answer by user31936 (score 1) https://quant.stackexchange.com/a/38369 For Europe, CBOE (batstrading) provides a csv list of symbols that trade on their exchange. Their file has a mapping between ISIN, Currency and Mic and Bloomberg Primary ticker: https://batstrading.co.uk/bxe/market_data/symbol_listing/csv/ ## Answer by Quinton Pike (score 1) https://quant.stackexchange.com/a/41742 OpenFIGI is also a source of organizing and standardizing symbol tickers. ## Answer by Alex Osipov (score 1) https://quant.stackexchange.com/a/45066 How to translate Eikon rics to Bloomberg identifier in Excel (works fine for different Equities from many stock exchanges): - Cell A1. Write Eikon ric, for example: AAPL.O - Cell B1 =TR(A1;"TR.SEDOL";;). # Need connection to Eikon through TR Excel add-in. - Cell C1 =B1&" Equity Sedol" - Cell D1 =BDP(C1; "TICKER_AND_EXCH_CODE") # Need connection to Bloomberg through Bloomberg excel add-in. - Cell E1 (result) =D1&" Equity" ## Answer by phil straszynski (score 1) https://quant.stackexchange.com/a/60510 AAPL.O maps to AAPL US Equity (composite) or AAPL UW Equity (Nasdaq NSM) That's straight common stock, but what about preferred stock? HWM_p.A maps to EP051790@SAM2 Pf or Unit trust? PHGE_u.A maps to PHGE/U UA Equity or exchanges where Refinitiv don't use the exchange symbol? FEDq.L maps to FEDS LI Equity Futures the companies have different policies on when to introduce double digit (decase) future codes, and different policies on notation for pit electronic combines, am pm sessions The list goes on. That's why Magtia remaps every exchange symbol every day before the exchange opens. (Disclaimer: I am employed by Magtia) ## Answer by Amateur (score -1) https://quant.stackexchange.com/a/43631 @Quinton Pike: Open FIGI == Bloomberg
Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.