question

Upvotes
29 1 1 4

Get "related instruments" using the refintiv.data API

Hi all,


I'm looking into using the refintiv.data python API to calculate benchmarks for bonds.

Right now the process is very manual and not scalable, I'm searching the bond in the workspace and looking at the "Related Instruments" tab, then creating my query and looking at the results. (see screenshot)

1725460916594.png

I would like to use the python API to access these results, so i can automate this process for thousands of bonds, but i cannot find the api endpoint online, or any information on if this is possible.


Ideally there would be a query i can construct where i can give a RIC, and the filters and receive the table as displayed in the screenshot.


Is this something that's possible ?


Thanks for your help.


Adam


workspace#technologypython apibonds
1725460916594.png (151.5 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.

1 Answer

· Write an Answer
Upvotes
6.9k 21 3 6

Hi @adam.leroux ,

I believe this is a prime question for the Search API. Would you mind letting me know if it fits your need?

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,

Thanks for your answer,


I've used the Searchbrowser object before, but there is not mention of a "related instruments" property when search up bonds with this.


I do find a "BenchmarkID" and "PricingBenchmarkID"n with values = 0x000386007dacd084 but not sure what do with that, if I try to search that Id i got no results.

Hi @adam.leroux, What is the `Searchbrowser`? I was referring to the Search API in the LSEG Data Library for Python. As an example, you could use something like this:

# pip install lseg.data
import lseg.data as ld
ld.open_session() # Need the Workspace Desktop App open on the same machine where this code runs
df0 = ld.discovery.search(
    view = ld.discovery.Views.FIXED_INCOME_INSTRUMENTS,
    query = 'CPI PROPERTY GROUP SA')


I would suggest using `SearchPropertyExplorer` to find the properties with which to filter:


props = ld.discovery.SearchPropertyExplorer.get_properties_for(
    view = ld.discovery.Views.FIXED_INCOME_INSTRUMENTS,
    query="CPI PROPERTY GROUP SA")

You can find the properties you are after with the `get_by_name` function:


props.get_by_name("country").df # try all your filters, e.g.: `country`, `coupon`, `curr`, `Issuer`, `grade`...


You can put it all together in something like:


df1 = ld.discovery.search(
    view = ld.discovery.Views.SEARCH_ALL, # ld.discovery.Views.FIXED_INCOME_INSTRUMENTS
    query = 'CPI PROPERTY GROUP SA',
    filter="CurrentCouponClassDescription eq 'Fixed Coupon'", # RCSParentDomicileLeaf eq 'Luxembourg' and RCSBondGradeLeaf eq 'High Yield'
    select="IssuerCommonName, BusinessEntity, DocumentTitle, PermID, PI, RIC, RCSParentDomicileLeaf, CurrentCouponClassDescription, RCSBondGradeLeaf",
    top=100)
df1


You will need to look through the properties and find the ones you are most happy with, using the Search API article.

Show more comments

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.