使用Refinitiv(以前称为Thomson Reuters)Eikon Data API,有谁知道如何快速返回所有关联公司RIC进行交易所(例如奥斯陆证券交易所)?
奥斯陆证券交易所的RIC似乎为.OSEBX
eikon.get_data
在文档字符串中有一些示例:
import eikon as ek
ek.set_app_key('set your app key here')
data, err = ek.get_data(["IBM", "GOOG.O", "MSFT.O"], ["TR.PriceClose", "TR.Volume", "TR.PriceLow"])
data, err = ek.get_data("IBM", ['TR.Employees', {'TR.GrossProfit':{'params':{'Scale': 6, 'Curn': 'EUR'},'sort_dir':'asc'}}])
fields = [ek.TR_Field('tr.revenue'),ek.TR_Field('tr.open',None,'asc',1),ek.TR_Field('TR.GrossProfit',{'Scale': 6, 'Curn': 'EUR'},'asc',0)]
data, err = ek.get_data(["IBM","MSFT.O"],fields)
因此,我尝试使用eikon.get_data(instruments = ".OSEBX", fields = "RIC")
进行其他变体,但没有成功。
有什么建议吗?
答案 0 :(得分:1)
您可以使用chain
(始终以0#
开头),
data, err = ek.get_data('0#.OSEBX', 'TR.CommonName')
这将为您提供索引中所有公司的RIC,以及它们各自的公司名称。
答案 1 :(得分:1)
0#.OSEBX
是代表所有在市场上交易的股票的指数,因此您真正要做的是请求指数成分股。
更好的方法是执行Equity Screener查询。例如,这将返回在OSE和Oslo Axess上列出的所有股票:
screener_exp ='SCREEN(U(IN(Equity(active,public,primary))), IN(TR.ExchangeMarketIdCode, XOAS, XOSL))'
df, e = ek.get_data(screener_exp, 'TR.CompanyName')
您可以使用Eikon Excel构建筛选器查询。