FIGI
finance.securities.figiFinancial Instrument Global Identifier. 12-character alphanumeric code assigned by Bloomberg and the Object Management Group. Format: 2 consonants (no vowels) + 'G' + 8 alphanumeric characters (no vowels) + 1 check digit. Used globally for securities identification in trading and clearing systems.
Operations on this type: Join tables on a key, Parse nested values, Check data quality
Try a value
FIGI's rule accepts it.
Reads it as BBG000BLNQ16
B=11 G=16 L=21 N=23 Q=26
11→2 + 11×2=22→4 + 16→7 + 0×2=0 + 0 + 0×2=0 + 11→2 + 21×2=42→6 + 23→5 + 26×2=52→7 + 1 = 34
(10 − 34 mod 10) mod 10 = 6
The check digit is 6, and the last digit is 6, which matches.
Algorithm: FIGI Check-Digit Calculation
Also accepted by
- ISIN
BBG000BLNQ16
Use it
finetype infer -i 'BBG000BLNQ16' --mode column
# → finance.securities.figiSELECT ft_infer('BBG000BLNQ16');
-- → 'finance.securities.figi'UPPER(CAST({col} AS VARCHAR))How finetype reads the samples
DuckDB 1.5.5 · finetype 0.6.66
| Value | As VARCHAR | body | check_digit | prefix |
|---|---|---|---|---|
| BBG000BLNQ16 | BBG000BLNQ16 | 000BLNQ1 | 6 | BB |
| BBG000B9XRY4 | BBG000B9XRY4 | 000B9XRY | 4 | BB |
| BBG000BVPV84 | BBG000BVPV84 | 000BVPV8 | 4 | BB |
| BBG000BPH459 | BBG000BPH459 | 000BPH45 | 9 | BB |
| BBG000GZQ728 | BBG000GZQ728 | 000GZQ72 | 8 | BB |
Pattern
^[BCDFGHJKLMNPQRSTVWXYZ]{2}G[BCDFGHJKLMNPQRSTVWXYZ0-9]{8}\d$| Value | Length | Shape |
|---|---|---|
| BBG000BLNQ16 | 12 | matches |
| BBG000B9XRY4 | 12 | matches |
| BBG000BVPV84 | 12 | matches |
| BBG000BPH459 | 12 | matches |
| BBG000GZQ728 | 12 | matches |
| BBG000BLNQ1 | 11 | rejected: one character short |
Similar types
1 of the 5 other securities types accept every one of these samples on shape alone.
- ISINmatches them by pattern
Background
Origin
In 2009, Bloomberg released Bloomberg's Open Symbology, known as BSYM, a system for identifying financial instruments across asset classes.[1] The identifier was originally called the Bloomberg Global Identifier, or BBGID, before being renamed the Financial Instrument Global Identifier (FIGI).[1] Version 1.0 of the Object Management Group's Financial Instrument Global Identifier specification is dated December 2015.[2] The Object Management Group's specification describes FIGI as a permanent, semantically meaningless code key with associated identifying metadata.[2]
The Brazilian Association of Technical Standards (ABNT) accepted FIGI in July 2020.[3] In September 2021, Bloomberg and Accredited Standards Committee X9 announced the publication of an American National Standard titled ASC X9.145-2021.[3] OpenFIGI describes the X9.145 FIGI standard as the first X9 data standard incorporating the MIT Open Source License.[3] Bloomberg L.P. is the Registration Authority and a Certified Provider of the FIGI standard.[1] In December 2020, the Object Management Group accepted Kaiko as a second certified provider of FIGI.[1]
A FIGI is a 12-character alphanumeric code.[4] The first two characters of a FIGI designate the Certified Provider that issued the code.[4] The third character of a FIGI is always G, to designate it as a Global Identifier.[4] Characters 4 to 11 of a FIGI are randomly assigned values.[4] The twelfth character of a FIGI is a check digit calculated with the Modulus 10 Double Add Double technique.[4] FIGI excludes English vowels from its characters.[1] The two-letter prefixes BS, BM, GG, GB, GH, KY and VG are excluded from FIGI, to reduce the chance of a FIGI matching an ISIN.[1]
Use
OpenFIGI states that when an instrument ceases to exist its FIGI is retired and never reused.[4] OpenFIGI describes FIGI as suitable for use as a primary key in databases because it is unique for each record.[5] For equities, a FIGI is assigned at venue, country and global share class level.[5] The OpenFIGI API returns a compositeFIGI and a shareClassFIGI alongside the figi for an instrument.[6] In one OpenFIGI documentation example, the figi BBG000NHN466 has the compositeFIGI BBG000NHN304 and the shareClassFIGI BBG001S5S399.[6]
The OpenFIGI API is free and open to the public, with lower rate limits for requests made without an API key.[6]
Where you'll meet it
The SEC's Form 13F Data Sets include a FIGI column in the INFOTABLE table, next to the CUSIP column.[7] In the Form 13F Data Sets, the FIGI field is a VARCHAR2(12) that may be null, while the CUSIP field may not.[7] Plan a fallback join on CUSIP for 13F holdings rather than relying on FIGI alone. (Meridian's view)
Sources
- [1]Financial Instrument Global Identifiersecondary source
- [2]About the Financial Instrument Global Identifier® Specification Version 1.3catalogue entry
- [3]After lengthy fight, Bloomberg's FIGI recognized as official US data standard | OpenFIGIorganisation
- [4]Overview | OpenFIGIorganisation
- [5]Features | OpenFIGIorganisation
- [6]Documentation | OpenFIGIdocumentation
- [7]Form 13F Data Setsdataset
How it's detected
FIGI is the open standard for financial instrument identification, replacing proprietary Bloomberg tickers for many use cases. The 'G' in position 3 is always present. No vowels allowed in consonant positions (prevents forming words, like SEDOL).
Schema
https://meridian.online/schemas/finance.securities.figi · Frictionless type string
finetype taxonomy finance.securities.figi -o json-schema