Is there a way to map PermID to all the RICs associated to that company, if a company is listed in m

Q1 I am trying to match PermID to RIC in API Playground and wanted to know if there’s a way to Identify all stock exchange listings for a particular group ? For example NIKE is listed in NYSE and ETR Stock exchanges but when I pass Nike’s PermID it only gives one output.

  1. Is the mapping between PermID and RIC is one to one or one to many ?
  2. Is there a way to know PermIDs of all the publicly listed companies residing under one Group by providing in that group’s PermID ? For Example: We might get RICs of all the companies that are publicly listed under TATA group globally, by just providing TATA Group’s PermID.

Best Answer

  • RFielder
    Answer ✓

    Hi


    If you have access to discovery/symbology/v1 in API PLayground (depends what other services you subscribe to) you can use a query like this to navigate from organisation PermID to the related exchange traded RIC:


    {

    "from": [

    {

    "objectTypes": [

    "organization"

    ],

    "identifierTypes": [

    "PermID"

    ],

    "values": [

    "4298007752"

    ]

    }

    ],

    "to": [

    {

    "objectTypes": [

    "EDFQuote"

    ],

    "identifierTypes": [

    "RIC"

    ]

    }

    ],

    "filter": {

    "status": "active"

    },

    "type": "auto"

    }


    Active filter will remove the expired RICs form the results.

    To objectTypes 'EDFQuote' will limit output to exchange traded RICs, leave this out and it will include e.g RICs of bond instruments issued by the organisation

Answers

  • @arun.mani

    Thank you for reaching out to us.

    I assume that you are using the Open PermID API.

    Yes, one PermID should be one to one mapped to a RIC. I am using the the Open PermID Python library to verify it. For example:

    output,err = opid.search("RIC:NKE.N", entityType='quote', num=100, format='dataframe')
    output

    1706168119651.png

    The quote PermID (https://permid.org/1-55838324417) is mapped to NKE.N.

    I think we don't have the group's PermID.

    You can use a ticker to map to multiple RICs. For example, the PermID of "Nike Inc" is 1-4295904620.

    We can get the ticker of this company by using the lookup API.

    output,err = opid.lookup("1-4295904620", orient="row", format='dataframe')
    output["hasOrganizationPrimaryQuote"]

    The value of the hasOrganizationPrimaryQuote property is https://permid.org/1-55838324417.

    Then, we use the lookup API with 1-55838324417.

    output,err = opid.lookup("1-55838324417", orient="row", format='dataframe')
    output["tr-fin:hasExchangeTicker"]

    The value of the tr-fin:hasExchangeTicker property is NKE.

    Finally, we use the Entity Search API to search all Quote permIDs of this ticker.

    output,err = opid.search("ticker:NKE", entityType='quote', num=100, format='dataframe')
    output[output["assetClass"]=="Ordinary Shares"]

    1706169146682.png

    RICs for this ticker are in the hasRIC property.