Upgrade from Eikon -> Workspace. Learn about programming differences.

For a deeper look into our Eikon Data API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
3 1 1 3

Trying to convert Excel formula to Python API - getting government bonds historical data

I have been trying to convert the formulae below into an Python API query:

1671535773479.png

The "TR(INDIRECT(F$1)" refers to a list of government bond identifiers.

When I try to get any data using this query in Python I simply fail (see below)

1671535698624.png

Thank you!

#technologyapibonds
1671535698624.png (18.8 KiB)
1671535773479.png (47.9 KiB)
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 @pietrangelo.debiase ,

Thank you for your participation in the forum. Is the reply below satisfactory in resolving your query?
If so please can you click the 'Accept' text on the left side of the appropriate reply? This will guide all community members who have a similar question.

Thanks,
AHS

Upvote
Accepted
14.2k 30 5 10

Hi @pietrangelo.debiase ,

The Python code you used seems to be for the DataStream Python library not the Eikon Data API. However, as the formula you use is the Eikon Excel one hence, I'm providing the code of Eikon Data API Python library.

import refinitiv.data.eikon as ek
ek.set_app_key('DEFAULT_CODE_BOOK_APP_KEY')

df, err = ek.get_data(['AL0002NF7Y19'], [ 'TR.CA.AmtOutstanding.date','TR.CA.AmtOutstanding/10^6'], {'SDate':'1972-09-30', 'EDate':'2022-12-10'})
df

compared to the output in Eikon Excel

1671539637695.png

To learn more about the Eikon Data API, feel free to check Eikon Data API page in an API Catalog, which contains the API's overview, quickstart guide, documentation, related resources for download, and the tutorials

Hope this helps and please let me know in case there're any further questions.


1671539637695.png (70.8 KiB)
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
5k 16 2 7

Dear @pietrangelo.debiase ,


Thank you for your question. Is there a specific reason you are using the Datastream API to get the requested data?


I have tried your request using one of our latest APIs - RD Libraries for Python - and had the following output.


screenshot-2022-12-20-at-162913.png


Here is the Python code I have used:

parameters = {'Frq': 'D', 'Sdate': "1972-09-30", 'Edate': "2022-12-10"}
df = rd.get_data(universe = 'ES0000012H41', fields = ['TR.CA.AmtOutstanding.Date','TR.CA.AmtOutstanding'], parameters = parameters)
df


I hope this is helpful, feel free to let me know if case you have any follow up questions.


Best regards,

Haykaz


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
3 1 1 3

Your answers were very helpful. I have been using Excel because it was what my predecessor used - so my goal is to convert many of these Excel formulas to API queries, so I can get the data more quickly and efficiently.


Thank you very much and happy new year.

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
3 1 1 3

Dear developer colleagues

Huge thanks for the continuous support. I've been wrestling with this challenge of refining our Refinitiv data gathering process, but I'm running into a few hitches.

Recently, I revisited this code. Can't figure out why it's not fetching any info, even when using the same source code as you guys. I can safely say it's not an access issue, at least in one instance.

When using refinitiv.data, my query yielded nothing using the exact same code as you (see below):

When trying refinitiv.data.eikon, I get a possible access issue (see below). It's kind of weird considering I can usually use Refinitiv’s DatastreamPy and refinitiv.dataplatform without a problem.

Since I've been successful in getting data from refinitiv.dataplatform, I figured I'd use the get_data from this package instead. But it's been a wild ride—empty results or just plain weird ones. Take this bond "DE113492=" for example, it's returning nothing on the outstanding amount. But when I search for this bond directly in Refinitiv’s platform, it's showing an outstanding amount of around 13 billion Euros. On top of that, I'd like to track this outstanding amount over time.

I could really use some help to untangle this mess. My aim here is to effectively pull time series data on government bonds—especially yields, the amount outstanding, the amount issued, and bid-ask spreads.


Thank you again for your support.

Best wishes,

Pietrangelo


1687445651073.png (166.8 KiB)
1687445512066.png (81.9 KiB)
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.