LSEG - get data - and older ISIN ID's

Hi,

I have a long list of ISIN - where some dump out - because they changed ISIN number due to cooperate actions. For example ISIN DK006054915 is Novo Nordisk - but it changed with a split in 2023 to the new DK0062498333.

When I use the get.data for DK006054915 in Python I just get an empty response back. But if I manually use the refinitiv workspace and search for the old ISIN - it will give me the new one and all of the data.

Is there a way to get a link between old and new ISINs - through the get data function - and the date it converts - or how do I go about getting the historical data of old ISINs?

Best,

Steffen

Answers

  • Jirapongse
    Jirapongse ✭✭✭✭✭

    @SteffenA_NB1

    Thank you for reaching out to us.

    I think this ISIN (DK006054915) is invalid.

    An ISIN is a 12-digit alphanumeric code but this ISIN only has 11-digit.

    How did you find a correct one via Workspace?

  • SteffenA_NB1
    SteffenA_NB1 Newcomer

    Sry.. happens when you type instead of copying….

    Here is the old ISIN: DK0060534915

    Here is the new ISIN: DK0062498333

    If i type on workspace the old one I will get the new one returned as the ISIN. If I ask to retrieve data through the API python interface - it will not give any data back on the old one.

    I would like to ask with the old ISIN number in python, and then get data back on what the new ISIN is, such that I can retrieve the information like prices, names etc - by the new isins retrieved from the old one.

    Best,

    Steffen

  • SteffenA_NB1
    SteffenA_NB1 Newcomer

    Potentially i could harvest some dataset from the cooperate actions. But not sure it would find the cooperate action which turns

    DK0060534915

    into
    DK0062498333

    by feeding refinitiv API in python with the

    DK0060534915

    code?

    /S

  • Jirapongse
    Jirapongse ✭✭✭✭✭

    @SteffenA_NB1

    I think you need a new ISIN before using it with the get_data method.

    You can use the Search API in the LSEG Data Library for Python to get a new ISIN. For example:

    response = search.lookup.Definition(
        view=search.Views.SEARCH_ALL,                         
        scope="OldQuoteISINs",                                                      
        terms="DK0060534915",                
        select="BusinessEntity,DocumentTitle,RIC,IssueISIN",               
    ).get_data()
    
    response.data.df
    
    image.png

    Or,

    response = search.Definition(
            view = search.Views.SEARCH_ALL,
            query = "DK0060534915",
            select = "DocumentTitle, IssueISIN",
            top=100
    ).get_data()
    
    response.data.df
    
    image.png

    The examples are on GitHub. For more information regarding the Search API, please refer to the Building Search into your Application Workflow article.

  • SteffenA_NB1
    SteffenA_NB1 Newcomer

    HI;

    This correctly retireves the Newest ISIN from the older

    DK0060534915

    Isin. Thanks.

    The next question is then - does the refinitiv have all of the older ISIN numbers?. For Novo Nordisk - there is for example the

    DK0060102614

    Number which changed into the

    DK0060534915

    in 2013. But searching for the

    DK0060102614

    number in refiniti does not even give any results. Does Refinitiv only retain "last" ISIN number - or am I just looking the wrong place?

    Best
    Steffen

  • Jirapongse
    Jirapongse ✭✭✭✭✭

    @SteffenA_NB1

    I found DK0060102614 in the search database. The code could look like this:

    response = search.Definition(
            view = search.Views.SEARCH_ALL,
            filter = "SymbolHistoryScope(SymbolValue eq 'DK0060102614')",
            select = "DocumentTitle, IssueISIN",
            top=100
    ).get_data()
    
    response.data.df
    
  • SteffenA_NB1
    SteffenA_NB1 Newcomer

    This worked wonders :) Thanks.

    If you know any piece of code which gives a date when the old ISIN turns into the new one - I would be extremely grate full. And if the data contains the split/merge ratio - even better. I can see the data in the cooperate action history - but have no clue how to pull it out of the data.

    Not only for equity is this usefull - also usefull when funds are folded into new funds :). Then I promise not to ask questions for many days :)

    Best,

    Steffen

  • Jirapongse
    Jirapongse ✭✭✭✭✭

    @SteffenA_NB1

    You can select the SymbolHistoryScope field.

    response = search.Definition(
            view = search.Views.SEARCH_ALL,
            filter = "SymbolHistoryScope(SymbolValue eq 'DK0060102614')",
            select = "DocumentTitle, IssueISIN, SymbolHistoryScope",
            top=100
    ).get_data()
    
    response.data.df['SymbolHistoryScope'][0]
    

    You can refer to the Building Search into your Application Workflow article that demonstrates how to use this Search API.