股票

使用 ISIN 辨識 yahoo Finance 的股票

  • March 14, 2022

我正在收集股票數據以供私人分析。我在https://www.xetra.com/xetra-de/instrumente/alle-handelbaren-instrumente/boersefrankfurt找到了一個非常多的庫存清單

但問題是它們的 ISIN 是唯一標識的,因為它在我的位置,德國,相當常見。但是,當從 yahoo Finance 請求數據時,需要他們的股票程式碼來建構 URL,但是當您在他們的搜尋欄位中輸入 ISIN 時,您會毫不費力地獲得正確的輸出。

截至目前,我使用 url 通過 html 請求站點並解析它以獲取資訊。

我正在尋找建議

  • 為 yahoofinance(或同樣快速的提供商)建構一個帶有 ISIN 的 URL
  • 將 ISIN 映射到相關的股票程式碼
  • 從 yahoofinance 檢索數據的任何其他方法,例如開源庫
  • 其他實時交易資訊來源,最重要的是目前價格

謝謝

使用他們的搜尋端點接縫可以正常工作。

def get_symbol_for_isin(isin):
   url = 'https://query1.finance.yahoo.com/v1/finance/search'

   headers = {
       'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36',
   }

   params = dict(
       q=isin,
       quotesCount=1,
       newsCount=0,
       listsCount=0,
       quotesQueryId='tss_match_phrase_query'
   )

   resp = requests.get(url=url, headers=headers, params=params)
   data = resp.json()
   if 'quotes' in data and len(data['quotes']) > 0:
       return data['quotes'][0]['symbol']
   else:
       return None

只需使用符號(在 CSV 文件中,它位於“助記符”列中)並.F為法蘭克福證券交易所附加一個後綴。

更多資訊。

注意:由於抓取 API 的成本很高(儘管可以批量檢索多達 500 個交易品種的報價),您通常希望將查找限制在可以與您的經紀商交易的交易品種,從而確保您只獲取數據您可以實際交易的符號。(在我最初的刮板中,我忽略了這一點,後來意識到我正在獲取大量無法交易的符號。)

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