A CUSIP is a 9-character alphanumeric code which identifies a North American financial security for the purposes of facilitating clearing and settlement of trades.
The CUSIP distribution system is owned by the American Bankers Association, and is operated by S&P Capital IQ. CUSIP Global Services (CGS) acts as the national numbering agency (NNA) for North America, and the CUSIP serves as the National Securities Identification Number for products issued from both the United States and Canada
The acronym CUSIP derives from the Committee on Uniform Security Identification Procedures, which was founded in 1964 and developed the CUSIP system.[1] The Committee formed the CUSIP Service Bureau in 1968, during the paper crunch[2] on Wall Street.[3]
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 US and Canadian listed equity options. The CGS database contains issuer and issue-level identifiers, plus standardized descriptive data, for more than 14 million financial instruments and entities.
In November 2009, ten months after launching an investigation, the European Commission formally charged Standard & Poor's with abusing its position as the sole provider of ISIN codes for U.S. securities by requiring European financial firms and data vendors to pay licensing fees for their use. "This behavior amounts to unfair pricing", the European Commission said in its statement of objections which lays the groundwork for an adverse finding against S&P. "The (numbers) are indispensable for a number of operations that financial institutions carry out – for instance, reporting to authorities or clearing and settlement – and cannot be substituted."[4]
S&P operates CUSIP Global Services (Formerly the CUSIP Service Bureau), the only ISIN issuer in the US, on behalf of the American Bankers Association. In its formal statement of objections, the European Commission alleges that S&P is abusing this monopoly position by forcing financial services companies and information service providers to pay licence fees for the use of US ISINs. It claims 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.
Whiles strongly disagreeing with the findings of the European Commission, CGS offered to address the allegations by creating a new low-cost, low-value feed of certain US ISINs for use by market participants within the European Economic Area. That 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.
The 9th digit is an automatically generated check digit using the "Modulus 10 Double Add Double" technique.[5] 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.
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.[6]
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.[7]
algorithm Cusip-Check-Digit(cusip) is Input: an 8-character CUSIP Output: the check digit for that 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 + v div 10 + v mod 10 repeat return (10 - (sum mod 10)) mod 10 end function