A CUSIP is a nine-character alphanumeric code that identifies a North American financial security for the purposes of facilitating clearing and settlement of trades. The CUSIP was adopted as an American National Standard under Accredited Standards X9.6.
The CUSIP system is owned by the American Bankers Association, and is operated by S&P Capital IQ. 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 acronym CUSIP derives from the Committee on Uniform Security Identification Procedures, a committee of the American Bankers Association. The Committee was founded in July 1964 and developed the CUSIP system. The Committee formed the CUSIP Service Bureau in 1968, during the paper crunch on Wall Street.
The CUSIP system has grown over the years to cover corporate, government, municipal, and international securities (through the CINS, or CUSIP International Numbering System); IPO's; preferred stock; funds; certificates of deposit; syndicated loans; and U.S. and Canadian listed options. The CGS database contains issuer and issue-level identifiers, plus standardized descriptive data, for more than 14 million financial instruments and entities. CGS is also the designated national numbering agency responsible for assigning the ISIN in over 35 other markets.
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 behaviour as unfair pricing, noting that in cases such as clearing or regulatory compliance, there are no acceptable alternatives.
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. 
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 deliberate built-in "gaps" for future expansion. The 7th and 8th digit identify the exact issue. The 9th digit is an automatically generated 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 commercial paper the first issue character is generated by taking the letter code of the maturity month, 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.
The 9th digit is an automatically generated check digit using the "Modulus 10 Double Add Double" technique based on the Luhn algorithm. 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
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.
- 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.
Check digit lookup table
The values below are summed for the first 8 characters, then reduced to 1 digit by modulo(10-modulo(sum, 10), 10).
|Character in CUSIP||Value in odd position||Value in even position|
|J, S, @||0||1|
|2, B, K||2||4|
|3, C, L, U||3||6|
|4, D, M, V||4||8|
|E, N, W||5||0|
|7, G, P||7||5|
|8, H, Q, Z||8||7|
|9, I, R, *||9||9|
Check digit pseudocode
algorithm Cusip-Check-Digit(cusip) is Input: an 8-character CUSIP sum := 0 for 1 ≤ 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 even then v := v × 2 end if sum := sum + int ( v div 10 ) + v mod 10 repeat return (10 - (sum mod 10)) mod 10 end function
- Apple Inc.: 037833100
- Cisco Systems: 17275R102
- Google Inc.: 38259P508
- Microsoft Corporation: 594918104
- Oracle Corporation: 68389X105
- "About CUSIP Global Services". CUSIP Global Services. Retrieved 29 May 2012.
- Dorrier, Jason (2010-04-15). "The Paper Crunch". Fisher Investments. Retrieved 29 May 2012.
- The Shareholder Service Optimizer, ed. (first quarter 2008). "Mr. CUSIP dies at 94" (PDF). Optimizer Online. Retrieved 5 June 2010. Check date values in:
- "EU accuses Standard & Poor's of unfair pricing". Reuters. 2009-11-19. Retrieved 2015-03-31.
- European Commission (2011-11-15). "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). Retrieved 2016-08-19.
- Inside the CUSIP numbering system
- "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 30 November 2012.
- "TBA CUSIP algorithm" (Excel). CUSIP Global Services. Retrieved 30 November 2012.