固定收益

如何將債券發行的 CUSIP 轉換為公司股票的 CUSIP/

  • September 7, 2013

作為研究項目的一部分,我使用 WRDS 網站對 Mergent FISD 數據庫進行了查詢。輸出包括大量債券發行的 CUSIP(>10000)。我正在使用這些數據進行事件研究,我需要獲得發行債券的公司股票的 CUSIP。由於我有超過 10000 個數據點,因此我需要自動執行此轉換或查找過程。在這種情況下,任何程式語言或方法都適合我。

你可以在這裡使用這個網站:http: //activequote.fidelity.com/mmnet/SymLookup.phtml

我建議使用簡單的數據操作語言(例如 Python)來解決您的問題。您需要編寫一個程式碼來讀取特定 CUSIP 號碼的網頁,然後找到 HTML 文件中包含公司名稱的特定部分,並將該資訊從網頁中提取出來。

例如,為了查找 037833100 的 CUSIP,您將獲得相應的 URL: http ://activequote.fidelity.com/mmnet/SymLookup.phtml?reqforlookup=REQUESTFORLOOKUP&productid=mmnet&isLoggedIn=mmnet&rows=50&for=stock&by=cusip&criteria= 037833100&submit=搜尋

現在,您的 Python 程序可以通過為條件部分插入不同的數字來操作 URL,然後讀取頁面並提取公司名稱。

下面是一些 Python 程式碼,您可以使用它來獲取特定股票:

import urllib2

data = urllib2.urlopen('http://activequote.fidelity.com/mmnet/SymLookup.phtml?reqforlookup=REQUESTFORLOOKUP&productid=mmnet&isLoggedIn=mmnet&rows=50&for=bond&by=cusip&criteria=CUSIPNUMBERGOESHERE&submit=Search')
data_string = data.read()
start = data_string.find("<tr><td height=\"20\" nowrap><font class=\"smallfont\">")
end = data_string[start:].find("</font>")
companyName = data_string[start:][51:end]

如果您可以訪問彭博終端,則可以在 Excel 中使用此功能:

=BDP("013926500 CORP","BOND To EQY TICKER")

013926500 是 ABB 的 CUSIP

自動化 Bloomberg / Excel 功能非常容易,快速的 Google 應該會向您展示不錯的範例。彭博終端還帶有幾個這樣的範例 API,可以幫助您自動下載。

引用自:https://quant.stackexchange.com/questions/8420