question

Upvotes
Accepted
1 0 1 2

Historical Ownership Data with setlabel and fetch_refinitiv_data

Client was able to get that Ownership Summary data from the following code.

# LOCATION

import refinitiv.data as rd

import pandas as pd

b = ['SetLabel(TR.InstrStatLocationId,location),SetLabel(TR.InstrStatLocation,locationName)',

'SetLabel(TR.CategoryInvestorCount,investorCount),SetLabel(TR.CategoryOwnershipPct,os)',

'SetLabel(TR.InstrStatCatSharesHeld,position)','SetLabel(TR.InstrStatCatShrsHldVal,heldValue)','StatType=3','Curn=USD']

b_ = fetch_refinitv_data('GE',b)

region = ['North America', 'Europe', 'Asia / Pacific', 'Africa', 'Middle East', 'Latin America']
b_[b_['LOCATIONNAME'].isin(region)]

Now he wants to get data for last month/quarter/year (historically) data. When I tried copy and pasting this code in Codebook - I am getting error "

---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
/tmp/ipykernel_76/2082299371.py in <module>
     11 'SetLabel(TR.InstrStatCatSharesHeld,position)','SetLabel(TR.InstrStatCatShrsHldVal,heldValue)','StatType=3','Curn=USD']
     12 
---> 13 b_ = fetch_refinitv_data('GE',b)
     14 
     15 region = ['North America', 'Europe', 'Asia / Pacific', 'Africa', 'Middle East', 'Latin America']

NameError: name 'fetch_refinitv_data' is not defined"
#technologyapipython api
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.

Upvotes
Accepted
18.9k 85 39 63

Hi @mae.diaz

If this is your first time working with the APIs, I would suggest you review the learning material within our Developer Portal. There are a number of resources for you to help understand basic examples. I'm assuming you are using Refinitiv Workspace - You can use CodeBook as a built-in development Jupyter environment - it will have plenty of examples within there.

Have you tried the above example within Jupyter? It doesn't have to be defined within a function - I would personally start off really basic like you did above - don't make things fancy - simply do the minimum to get data then work from there.

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.

@nick.zincone, I have tried the first code above in Codebook which gave me the error message that I mention and check how you reference the b_ = fetch_refinitv_data('GE',b)

region = ['North America', 'Europe', 'Asia / Pacific', 'Africa', 'Middle East', 'Latin America']

b_[b_['LOCATIONNAME'].isin(region)].


Instead, I manually created a code in CodeBK app - I'm using both Eikon and Workspace to get the data for "GE" and fields with "As of" parameter. All is set on my end, thanks again for checking my question. 1720557628439.png


1720557628439.png (111.9 KiB)
Upvotes
18.9k 85 39 63

Hi @mae.diaz

When you run code within a Jupyter Notebook, you have the freedom to place code within cells. In your case, it appears you are executing a cell that contains the code: fetch_refiniti_data() but have not executed the cell where this function is defined.

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.

Hi @nick.zincone how can I do it and may I ask for an example?

Also, I have manually created code;

import refinitiv.data as rd

rd.open_session()

df = rd.get_data(

universe = ['GE'],

fields = [

'TR.InstrStatLocationId',

'TR.InstrStatLocation',

'TR.CategoryInvestorCount',

'TR.CategoryOwnershipPct',

'TR.InstrStatCatSharesHeld',

'TR.InstrStatCatShrsHldVal',

'TR.InvestorRegion'

],

parameters = {

'SDate': '0CY',

'CH': 'date'

}

)


display(df)

Can the above code be the same function as what client had given earlier? Appreciate your help, thank you.

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.