MeridianMERIDIAN

FIGI

finance.securities.figi

Financial 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.

Worked samples

DuckDB 1.5.5 · finetype 0.6.64

ValueAs VARCHARbodycheck_digitprefix
BBG000BLNQ16BBG000BLNQ16000BLNQ16BB
BBG000B9XRY4BBG000B9XRY4000B9XRY4BB
BBG000BVPV84BBG000BVPV84000BVPV84BB
BBG000BPH459BBG000BPH459000BPH459BB
BBG000GZQ728BBG000GZQ728000GZQ728BB
Check digit
FIGI mod 10

Shape

Pattern
^[BCDFGHJKLMNPQRSTVWXYZ]{2}G[BCDFGHJKLMNPQRSTVWXYZ0-9]{8}\d$
ValueLengthShape
BBG000BLNQ1612matches
BBG000B9XRY412matches
BBG000BVPV8412matches
BBG000BPH45912matches
BBG000GZQ72812matches
BBG000BLNQ111rejected: one character short

Told apart

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)

Detection notes

New in taxonomy expansion. 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).

Use it

CLI · DuckDB
$ finetype infer -i "BBG000BLNQ16" --mode column
→ finance.securities.figi

SELECT ft_infer('BBG000BLNQ16');
-- → 'finance.securities.figi'
Cast expression
UPPER(CAST({col} AS VARCHAR))

Schema

https://meridian.online/schemas/finance.securities.figi · Frictionless type string

finetype taxonomy finance.securities.figi -o json-schema

Aliases

bloomberg_idopen_figi

Type Registry