What is an ISIN (International Securities Identification Number)?
An ISIN is a 12-character code, defined by the ISO 6166 standard, that identifies one specific security such as a share class, a bond or an ETF. It names the instrument itself, not the company that issued it and not the exchange where it trades.
Key facts
| Standard | ISO 6166 |
|---|---|
| Format | 2-letter country code, 9-character national identifier, 1 check digit |
| US securities | Usually the US prefix, followed by a nine-character national identifier. US-listed foreign securities can carry another country’s prefix |
| Changes when | Some corporate actions can change it, though not every one does |
| In algoseek data | ISIN and ISINStartToEndDate in the US Equities Security Master File, and an ISIN column, which may be blank, in the daily datasets |
How is an ISIN structured?
Its structure is simple to read once the parts are separated. The first two letters are a country code, the next nine characters are a national security identifier and the last character is a check digit calculated from the other 11.
Apple’s ISIN, US0378331005, starts with the country code US and ends with the check digit 5, and algoseek’s US Equities Security Master File (US1027) stores the full code in ISIN:
US Equities Security Master File · CSV extract
| SecId | Tickers | ISIN | PrimaryExchange | FIGI |
|---|---|---|---|---|
| 33449 | AAPL | US0378331005 | NASDAQ | BBG000B9XRY4 |
What does an ISIN look like in algoseek data?
That same code travels with the security into the market data. Daily products such as Primary Exchange Daily OHLC (US1013) and Trade and Quote Daily Bar (US1038) carry an ISIN column, described in the catalog as the “ISIN as of this trade date”.
The column also appears in the Detailed Adjustment Factors (US1005) and both IPO datasets (US1020, US1021):
US Equities Primary Exchange Daily OHLC · CSV extract
| TradeDate | SecId | Ticker | PrimaryExchange | ISIN | ClosePrice |
|---|---|---|---|---|---|
| 20230802 | 33449 | AAPL | NASDAQ | US0378331005 | 192.58 |
With one shared code on each file, a price series, its adjustment factors and a third-party fundamentals feed can be matched without relying on a ticker string that may since have been reused.
The daily column is marked optional, though, so some rows arrive blank and a join needs a fallback for them.
Why does an ISIN change?
Where the ISIN gets harder to use is over long stretches of time, because the code follows the security’s registration and a corporate event that changes the registration can retire one ISIN and issue another.
The Security Master keeps this history in ISIN and ISINStartToEndDate as semicolon-separated lists, with an end date of 29991231 meaning no end date has been assigned. SecId 33008, whose tickers have included AA, ARNC and HWM, has carried four ISINs:
US Equities Security Master File guide · SecId 33008
| ISIN | ISINStartToEndDate |
|---|---|
| US0138171014 | 20070103:20161005 |
| US0138175072 | 20161006:20161031 |
| US03965L1008 | 20161101:20200331 |
| US4432011082 | 20200401:29991231 |
ISIN and ticker change on separate schedules, so neither one alone follows a stock through its whole history.
When is an ISIN not enough?
Venue is the other gap. A stock that trades on NASDAQ, on other exchanges and through the FINRA trade reporting facilities has one ISIN across all of them. PrimaryExchange names the exchange where it is listed, not where each trade took place, so venue-level work needs the exchange field on each trade and quote in the TAQ products.
Given both limits, algoseek tracks a security’s history with two identifiers of its own. The SecId usually survives ticker and name changes, but a restructuring can create a new one, and the ASID from the ASID Lookup (US1028) links those SecIds into one continuous security. ISIN remains the bridge to outside data, and joins on it work best date by date, matching each row’s trade date to the ISIN in force on that day.
Frequently asked questions
-
Who issues ISINs?
+
Each country’s national numbering agency. In the US, that agency also assigns the nine-character identifier inside every US ISIN.
-
How is the ISIN check digit calculated?
+
Letters in the first 11 characters are converted to numbers, from A = 10 to Z = 35, and the Luhn algorithm is applied to the resulting digits. The result is the twelfth character.
-
What is the difference between an ISIN and a FIGI?
+
An ISIN identifies a security once, across every venue. A FIGI is issued at several levels, including one per exchange listing and one for the security across all of them, so a join on FIGI needs to use the same level on both sides.
- What is an ISIN (International Securities Identification Number)?
- Key facts
- How is an ISIN structured?
- What does an ISIN look like in algoseek data?
- Why does an ISIN change?
- When is an ISIN not enough?
- Frequently asked questions
- Who issues ISINs?
- How is the ISIN check digit calculated?
- What is the difference between an ISIN and a FIGI?
- Related terms