From Wikipedia, the free encyclopedia

A CUSIP (/ˈkjsɪp/) is a nine-character numeric or alphanumeric code (e.g. 037833100 for Apple) that uniquely identifies a North American financial security for the purposes of facilitating clearing and settlement of trades. All CUSIP identifiers are fungible, which means that a unique CUSIP identifier for each individual security stays the same, regardless of the exchange where the shares were purchased or venue on which the shares were traded.[1] CUSIP was adopted as an American national standard by the Accredited Standards Committee X9 and is designated ANSI X9.6. CUSIP was re-approved as an ANSI standard in December 2020. [2][3] The acronym derives from Committee on Uniform Security Identification Procedures.

The CUSIP system is owned by the American Bankers Association (ABA) and is operated by FactSet Research Systems Inc.[4] The operating body, CUSIP Global Services (CGS), also serves as the national numbering agency (NNA) for North America, and the CUSIP serves as the National Securities Identification Number (NSIN) for products issued from both the United States and Canada. In its role as the NNA, CUSIP Global Services (CGS) also assigns all US-based ISINs.


The origins of the CUSIP system go back to 1964, when the financial markets were dealing with what was known as the securities settlement paper crunch on Wall Street.[5][6][7] At that time, increased trading volumes of equity securities, which were settled by the exchange of paper stock certificates, caused a backlog in clearing and settlement activities. In fact, stock markets had to close early on some days just to allow back-office processing to keep pace. To address the challenge, the New York Clearing House Association approached the ABA to develop a more efficient system for the trading, clearing, and settlement of securities trades by uniquely identifying all current and future securities. Their work was unveiled four years later, in December 1968, with the first publication of the CUSIP directory.

Over the ensuing years, a growing number of market authorities and regulators came to recognize the value of the CUSIP system and embrace its usage. With sustained reinvestment from the operators of the CUSIP system, CUSIP coverage has steadily grown over the years. It now includes following asset classes: government, municipal, and international securities (through the CUSIP International Numbering System, or CINS); initial public offerings (IPOs); preferred stock; funds, certificates of deposit; syndicated loans; and US and Canadian listed options. The CGS databased contains issuer and issue-level identifiers, plus standardized descriptive data, for more than 62 million financial instruments and entities.[8] CGS is also the designation numbering agency responsible for assigning the ISIN in over 35 countries.[9]

CUSIP operates with insight and guidance from the industry-appointed CUSIP Board of Trustees, made up of senior-level operations and data executives from major banks and other financial institutions.

Antitrust review[edit]

In November 2009, the European Commission charged S&P Capital IQ with abusing its position as the sole provider of ISIN codes for U.S. securities by requiring European financial firms (in the European Economic Area) and data vendors to pay licensing fees for their use. The European Commission described the behavior as unfair pricing, noting that in cases such as clearing or regulatory compliance, there are no acceptable alternatives.[10]

In its formal statement of objections, the European Commission alleged that S&P Capital IQ was abusing its position by requiring financial services companies and information service providers to pay license fees for the use of U.S. ISINs. The European Commission claimed that comparable agencies elsewhere in the world either do not charge fees at all, or do so on the basis of distribution cost, rather than usage.

While strongly disagreeing with the European Commission, CGS/S&P Capital IQ offered to create a low-cost, low-value feed of certain US ISINs for use by market participants in the European Economic Area. A formal agreement was reached on November 15, 2011.[11]


A CUSIP is a nine-character alphanumeric code. The first six characters are known as the base (or CUSIP-6), and uniquely identify the issuer. Issuer codes are assigned alphabetically from a series that includes deliberately built-in gaps for future expansion. The 7th and 8th digit identify the exact issue. The 9th digit is a checksum (some clearing bodies ignore or truncate the last digit). The last three characters of the issuer code can be letters, in order to provide more room for expansion.

Issuer numbers 990 to 999 and 99A to 99Z in each group of 1,000 numbers are reserved for internal use. This permits a user to assign an issuer number to any issuer which might be relevant to his holdings but which does not qualify for coverage under the CUSIP numbering system. Other issuer numbers (990000 to 999999 and 99000A to 99999Z) are also reserved for the user so that they may be assigned to non-security assets or to number miscellaneous internal assets.

The 7th and 8th digit identify the exact issue, the format being dependent on the type of security. In general, numbers are used for equities and letters are used for fixed income. For discount commercial paper, the first issue character is generated by taking the letter code of the maturity month and the second issue character is the day of the maturity date, with letters used for numbers over 9. The first security issued by any particular issuer is numbered "10". Newer issues are numbered by adding ten to the last used number up to 80, at which point the next issue is "88" and then goes down by tens. The issue number "01" is used to label all options on equities from that issuer.

Fixed income issues are labeled using a similar fashion, but due to there being so many of them they use letters instead of digits. The first issue is labeled "AA", the next "A2", then "2A" and onto "A3". To avoid confusion, the letters I and O are not used since they might be mistaken for the digits 1 and 0.

CUSIP also reserves the special characters '*', '@' and '#' for use with private placement numbers (PPNs) used by the insurance industry.[12]

The 9th digit is an automatically generated check digit using the "Modulus 10 Double Add Double" technique based on the Luhn algorithm.[12] To calculate the check digit every second digit is multiplied by two. Letters are converted to numbers based on their ordinal position in the alphabet, starting with A equal to 10.

TBA CUSIP format[edit]

There is a special assignment of CUSIP numbers for TBA Security. Working with the MBSCC, CUSIP Global Services (CGS) developed a specialized identification scheme for TBA (To Be Announced) mortgage-backed securities.[13]

TBA CUSIPs incorporate, within the identifier itself, a security’s mortgage type (Ginnie Mae, Fannie Mae, Freddie Mac), coupon, maturity and settlement month.

TBA Algorithm:

  • Position 1–2: Product Code (e.g., single-family mortgage, ARM, Balloon, etc.)
  • Position 3: Type of Mortgage (Ginnie Mae, Fannie Mae, Freddie Mac)
  • Position 4–6: Coupon
  • Position 7: Maturity
  • Position 8: Settlement Month
  • Position 9: Check Digit
  • The exact values for each position are available in a spreadsheet called the TBA Grid.[14]

Check digit lookup table[edit]

The values below are summed for the first 8 characters, then reduced to 1 digit by :

Character in CUSIP Value in odd position Value in even position
0 0 0
J, S, @ 0 1
1, A 1 2
T, # 1 3
2, B, K 2 4
3, C, L, U 3 6
4, D, M, V 4 8
E, N, W 5 0
5 5 1
O, X 6 2
6, F 6 3
Y 7 4
7, G, P 7 5
8, H, Q, Z 8 7
9, I, R, * 9 9

Check digit pseudocode[edit]

algorithm Cusip-Check-Digit is
    input: cusip, an 8-character CUSIP.

    sum := 0
    for 0 ≤ i < 8 do
        c := the ith character of cusip
        if c is a digit then
            v := numeric value of the digit c
        else if c is a letter then
            p := ordinal position of c in the alphabet (A=1, B=2...)
            v := p + 9
        else if c = "*" then
            v := 36
        else if c = "@" then
            v := 37
        else if c = "#" then
            v := 38
        end if
        if i is not even then
            v := v × 2
        end if

        sum := int(v div 10) + v mod 10

    return (10 - (sum mod 10)) mod 10


See also[edit]


  1. ^ "All About Fungibility: What It Means, Why It Matters".
  2. ^
  3. ^ Frazier, Ambria (February 3, 2021). "CUSIP Re Approved as U.S. Standard for Securities Identification". Accredited Standards Committee X9. Retrieved March 6, 2023.
  4. ^ "FactSet to Acquire CUSIP Global Services for $1.925 Billion | FactSet". Retrieved March 24, 2022.
  5. ^ "Committee on the Uniform Security Identification Procedure Numbers (CUSIP) - Explained". The Business Professor, LLC. Retrieved July 3, 2023.
  6. ^ "Fisher Investments MarketMinder | The Paper Crunch". Retrieved July 3, 2023.
  7. ^ "Wayback Machine" (PDF). Archived from the original (PDF) on March 7, 2012. Retrieved July 3, 2023.
  8. ^ Retrieved July 3, 2023. {{cite web}}: Missing or empty |title= (help)
  9. ^ sharon (September 24, 2019). "CUSIP Global Services Adds ISIN to LEI Mapping for US and Canadian Securities". A Team. Retrieved July 3, 2023.
  10. ^ "EU Accuses Standard & Poor's of Unfair Pricing". Reuters. November 19, 2009. Retrieved March 31, 2015.
  11. ^ "Commission Decision of 15.11.2011 Relating to a Proceeding under Article 102 of the Treaty on the Functioning of the European Union and Article 54 of the EEA Agreement (Case COMP/39.592 - Standard & Poor's)" (PDF). European Commission. November 15, 2011. Retrieved August 19, 2016.
  12. ^ a b Inside the CUSIP numbering system
  13. ^ "Self-Regulatory Organizations; Financial Industry Regulatory Authority, Inc.; Notice of Filing of Proposed Rule Change Relating to Post-Trade Transparency for Agency Pass-Through Mortgage-Backed Securities Traded TBA" (PDF). SEC. p. 5. Retrieved November 30, 2012.
  14. ^ "TBA CUSIP algorithm". Archived from the original (Excel) on March 4, 2016.

External links[edit]