question

Upvotes
Accepted
66 2 6 11

symbol_conversion wont convert CUSIPS that begin with a letter?

I run the following code which works for ALL CUSIPS except those that begin with a letter


response = symbol_conversion.Definition(
    symbols=["G1151C101", "G5494J103", "56585A102", "22822V101"],
    from_symbol_type=symbol_conversion.SymbolTypes.CUSIP,
    to_symbol_types=[
        symbol_conversion.SymbolTypes.RIC,
    ],
).get_data()

response.data.df

any ideas?


thanks

Jeff

symbology
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvote
Accepted
25.3k 89 12 25

hI @jgarden

Please try using CinsNumber as the identifierType for international CUSIPs.

symbologylookup_url = 'https://api.refinitiv.com/discovery/symbology/v1/lookup'


request_body={
  "from": [
    {
      "identifierTypes": [
        "CinsNumber"
      ],
      "values": [
        "G1151C101", "G5494J103"
      ]
    }
  ],
  "to": [
    {
      "identifierTypes": [
        "RIC"
      ]
    }
  ],
  "reference": [
    "name",
    "status",
    "classification"
  ],
  "filter": {
    "status": "active"
  },
  "type": "auto"
}


request_definition = rd.delivery.endpoint_request.Definition(
    method = rd.delivery.endpoint_request.RequestMethod.POST,
    url = symbologylookup_url,
    body_parameters = request_body
)
response = request_definition.get_data()
# Extract the data from the response
mydata = response.data.raw['data']

Unfortunately, the higher level symbol_conversion function does not yet support CinsNumber.


icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Thanks for your response though I found another solution using eikon's get data as well
Upvotes
66 2 6 11

Found a solution by using the eikon get_symbology method, not ideal but it works


df = ek.get_symbology(symbol=["G1151C101", "G5494J103", "56585A102", "22822V101"], from_symbol_type='CUSIP', to_symbol_type='RIC', best_match=False)

df['best'] = [i[0] for i in df['RICs']]

this will create a column in the DF using the first RIC in the list of RICs provided by the get_symbology method.


If there is a solution using the refinintiv data I would still love to see it.


Thanks

Jeff

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.