2017-08-16 119 views
0

我正在嘗試獲取Interactive Brokers投資組合中證券的國際證券識別號碼(ISIN)。如何從Interactive Brokers獲取安全性的ISIN?

在本文檔中,我發現兩個地方,即提到ISIN

  1. secIdsecIdType領域內ContractSource
  2. secIdList場內ContractDetailsSource

但我做不到沒有API來填充這些字段。示例代碼:

from ib_insync import * 
ib = IB() 
ib.connect("127.0.0.1", 4002, 0) 
for pfi in ib.portfolio(): 
    for detail in ib.reqContractDetails(pfi.contract): 
     print(detail) 

此輸出:

ContractDetails(summary=Contract(conId=13181, symbol='AEE', secType='STK', exchange='SMART', primaryExchange='NYSE', currency='USD', localSymbol='AEE', tradingClass='AEE'), marketName='AEE', minTick=0.01, orderTypes='ACTIVETIM,ADJUST,ALERT,ALGO,ALLOC,AON,AVGCOST,BASKET,COND,CONDORDER,DARKONLY,DARKPOLL,DAY,DEACT,DEACTDIS,DEACTEOD,DIS,GAT,GTC,GTD,GTT,HID,IBKRATS,ICE,IMB,IOC,LIT,LMT,LOC,MIT,MKT,MOC,MTL,NGCOMB,NODARK,NONALGO,OCA,OPG,OPGREROUT,PEGBENCH,POSTONLY,PREOPGRTH,REL,RPI,RTH,RTHIGNOPG,SCALE,SCALEODD,SCALERST,SMARTSTG,SNAPMID,SNAPMKT,SNAPREL,STP,STPLMT,SWEEP,TRAIL,TRAILLIT,TRAILLMT,TRAILMIT,WHATIF', validExchanges='SMART,AMEX,NYSE,CBOE,ISE,CHX,ARCA,ISLAND,VWAP,DRCTEDGE,NSX,BEX,BATS,EDGEA,CSFBALGO,JEFFALGO,BYX,IEX,CVGXALGO,PSX', priceMagnifier=1, longName='AMEREN CORP', industry='Utilities', category='Electric', subcategory='Electric-Integrated', timeZoneId='EST5EDT', tradingHours='20170816:0400-2000;20170817:0400-2000', liquidHours='20170816:0930-1600;20170817:0930-1600', mdSizeMultiplier=100) 

正如你可以看到,沒有上述領域的被填充。你有什麼想法如何獲得安全的ISIN?

+0

按照你的鏈接,我發現這一點:對於美股,接受ISIN需要CUSIP市場數據訂閱(知道是什麼意思) – Janos

回答

0

我正在與IB API每天。因此,我寧願與功能

reqFundamentalData

你必須使用4個參數和第三個被稱爲reportType得到ISIN。在這裏你可以選擇最簡單的類型ReportSnapshot。您將收到一個xml-文件,在第二部分(Common Stock)中,您將找到與ISIN一致的行。例如,在請求AAPL

<IssueID Type="ISIN">US0378331005</IssueID>

這不是那麼複雜。如果你需要示例代碼,請問我。

更多信息:IB about reqFundamentalDatadocumentation of the function

相關問題