Hi, I encountered a problem in converting tickers to RICs in Refinitiv.
1. However, before I move to next step, I found I suddenly have problems in retrieving data from refinitiv. After I set my app key and opened session by rd, there is always an error showing as follows:
An error occurred while requesting URL('http://localhost:9000/api/rdp/discovery/search/v1/lookup').
RemoteProtocolError("illegal status line: bytearray(b'\\xff\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\x7fn\\x01oding: gzip, deflate')")
.......
h11._util.RemoteProtocolError: illegal status line: bytearray(b'\xff\x00\x00\x00\x00\x00\x00\x00\x01\x7fn\x01oding: gzip, deflate')
.......
httpcore.RemoteProtocolError: illegal status line: bytearray(b'\xff\x00\x00\x00\x00\x00\x00\x00\x01\x7fn\x01oding: gzip, deflate')
2. For the retrieving data code, below is the code. I would be very grateful if someone can help me out.
import pandas as pd import refinitiv.data as rd from refinitiv.data.content import symbol_conversion def RefinitivRetriever(Ticker): rd.open_session() converted = [] Refinitiv_Info = symbol_conversion.Definition( symbols = Ticker, from_symbol_type = symbol_conversion.SymbolTypes.TICKER_SYMBOL, to_symbol_types = [ symbol_conversion.SymbolTypes.RIC ], ).get_data() # This step is to check if the conversion is successful. If not, fill in with an empty string. for t in Ticker: try: converted = converted.append(Refinitiv_Info.data.raw['Matches'][t]['RIC']) except KeyError: converted = converted.append('') # Return a dataframe with two columns, first one RIC list, while the second one Company Market Cap RICs = Refinitiv_Info.data.df['RIC'].tolist() MarketCap = rd.get_data(RICs, fields = ['TR.CompanyMarketCap']) MarketCap.columns = ['RIC', 'MarketCap'] rd.close_session()