我如何从盈透证券获取证券的 ISIN?
How do I get the ISIN of a security from Interactive Brokers?
我正在尝试为我的盈透证券投资组合中的证券获取国际证券识别码 (ISIN)。
在文档中我发现了两个地方,提到了 ISIN:
但我无法让 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)
如您所见,上述字段中的 none 已填写。您知道如何获得证券的 ISIN 吗?
我每天都在 IB API 工作。因此,我更愿意使用函数 ISIN
reqFundamentalData
您必须使用 4 个参数,第三个称为 reportType
。在这里你可以选择最简单的类型命名为ReportSnapshot
。您将收到一个 xml
文件,在第二部分 (Common Stock
) 中您会找到带有 ISIN 的行。例如在 AAPL
的请求中:
<IssueID Type="ISIN">US0378331005</IssueID>
没那么复杂。如果您需要示例代码,请问我。
更多信息:IB about reqFundamentalData and documentation of the function
我正在尝试为我的盈透证券投资组合中的证券获取国际证券识别码 (ISIN)。
在文档中我发现了两个地方,提到了 ISIN:
但我无法让 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)
如您所见,上述字段中的 none 已填写。您知道如何获得证券的 ISIN 吗?
我每天都在 IB API 工作。因此,我更愿意使用函数 ISIN
reqFundamentalData
您必须使用 4 个参数,第三个称为 reportType
。在这里你可以选择最简单的类型命名为ReportSnapshot
。您将收到一个 xml
文件,在第二部分 (Common Stock
) 中您会找到带有 ISIN 的行。例如在 AAPL
的请求中:
<IssueID Type="ISIN">US0378331005</IssueID>
没那么复杂。如果您需要示例代码,请问我。
更多信息:IB about reqFundamentalData and documentation of the function