将9位CUSIP码转换为ISIN码

如何将9位CUSIP代码转换为ISIN代码,最好在Excel中?

CUSIP完全包含在ISIN中。 ISIN的前缀是2个字母(在本例中是“US”或“CA”,因为CUSIP是北美标识符),最后是一个数字。

要确定最后的数字:

ISIN US0378331005,由CUSIP 037833100扩展而来。ISIN的主体是原始CUSIP,在20世纪70年代被分配。 前面加了国家代码“US”,最后加了一个校验码。 国家代码表示问题国家。 校验位以这种方式计算。

将任何字母转换为数字:

U = 30,S = US037833100 -> 3028037833100

收集奇数和偶数的字符:

3028037833100 = (3, 2, 0, 7, 3, 1, 0), (0, 8, 3, 8, 3, 0)

将包含最右侧字符(即FIRST组)的组乘以2:

(6, 4, 0, 14, 6, 2, 0)

加起来的个人数字:

(6 + 4 + 0 + (1 + 4) + 6 + 2 + 0) + (0 + 8 + 3 + 8 + 3 + 0) = 45

取总和的10s模数:

45 mod 10 = 5

从10减去:

10 - 5 = 5

取结果的10s模数(在总和的模数为0的情况下,这个最后一步是重要的,因为最终的校验位将是10)。

5 mod 10 = 5

所以ISIN校验位是五位。

资料来源: http : //en.wikipedia.org/wiki/International_Securities_Identification_Number

虽然有一个将CUSIP转换为ISIN的公式,但它可能并不总是为您提供正确的ISIN。

例如:

CCL拥有CUSIP 143658300,​​如果您使用公式,其ISIN应该是US1436583009,但是其ISIN是PA1436583006(属于CVC1),原因有另一个原因。如果股票在美国境外上市并且已经有ISIN,那么它的CUSIP不是从ISIN所以转换将是错误的。

这是一个额外的数字用户定义函数(UDF)

 Public Function CUSIPCONV(ByVal st As String) As Long 'Using ideas from original by Jelle-Jeroen Lamkamp 28 Apr 2008 Dim x As Integer, lTotal As Integer, stTemp As String, stNum As String st = UCase(Trim(st)) If Len(st) <> 11 Or Mid(st, 1, 1) < "A" Or Mid(st, 1, 1) > "Z" Then Exit Function stNum = "" For x = 1 To 11 stTemp = Mid(st, x, 1) If stTemp >= "0" And stTemp <= "9" Then stNum = stNum & stTemp ElseIf stTemp >= "A" And stTemp <= "Z" Then stNum = stNum & CStr(Asc(stTemp) - 55) Else Exit Function End If Next x stNum = StrReverse(stNum) lTotal = 0 For x = 1 To Len(stNum) lTotal = lTotal + CInt(Mid(stNum, x, 1)) If x Mod 2 = 1 Then lTotal = lTotal + CInt(Mid(stNum, x, 1)) If CInt(Mid(stNum, x, 1)) > 4 Then lTotal = lTotal - 9 End If End If Next x CUSIPCONV = (10 - (lTotal Mod 10)) Mod 10 End Function 

不是我的代码 ,我在这里find它

用户定义的函数(UDF)非常易于安装和使用:

  1. ALT-F11调出VBE窗口
  2. ALT-I ALT-M打开一个新的模块
  3. 粘贴东西,closuresVBE窗口

如果保存工作簿,则UDF将随之保存。 如果您在2003年以后使用的是Excel版本,则必须将该文件另存为.xlsm而不是.xlsx

要删除UDF:

  1. 如上所示调出VBE窗口
  2. 清除代码
  3. closuresVBE窗口

从Excel中使用UDF:

= CUSIPCONV(A1)

要了解有关macros的更多信息,请参阅:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

有关UDF的具体信息,请参阅:

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

macros必须启用这个工作!

一些使用样本:

在这里输入图像说明