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

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
12 2 3 6

Python to download Debt Structure with issuer and subsidaires bonds

Hi team,

Below debt structure sample doesn't apply to Sates Own enterprises like 1288.HK. It will show all it's ultimate parents bonds. 1038.HK is another example.

So, wonder is it any other sample can show how to get issuer and subsidaries bonds as same as Eikon Debt Structure of bonds. Thanks.

https://developers.refinitiv.com/en/article-catalog/article/debt-structure-analysis-on-an-organizational-level



df = rdp.Search.search(


# The 'view' represents a specific domain of content we wish to search across.


view = rdp.SearchViews.GovCorpInstruments,



# The 'filter' parameter is a powerful, criteria-based, syntax that allows us to filter for specific


# results.


#


# Note: The expression below utilizes a convenient, modern Python syntax called


# 'String interpolation'.


#


# This feature utilizes f-strings to embed arguments within the string result.


# Refer to the site: https://www.programiz.com/python-programming/string-interpolation for more


# details.


#


# Disclaimer: The following expression includes bonds that are in 'default'. If you choose to ignore


# these from your result set, simply modify the expression below as follows:


#


# "..not(AssetStatus in ('MAT' 'DEF'))"


#


filter = f"ParentOAPermID eq '{org_id}' and IsActive eq true and not(AssetStatus in ('MAT'))",



# Define the upper limit of rows within our result set. This is a system imposed maximum value.


top = 10000,



# The 'select' parameter determines the fields of interest in our output. The logic below takes our


# list of properties defined and creates the appropriate comma-separated list of properties required


# by the service.


select = ','.join(properties),



# The navigator will list all the unique currencies associated with the result set. Used below for


# conversion.


navigators = "Currency"


)



# Bonds represents a simple reference to our data


bonds = df.data.df



# When using search, the order of the columns in our result set are not ordered based on the properties


# defined within the above 'select' statement. As a result, I will re-order them for a more intuitive


# display.


#


# Before I reorder them, I will need to ensure our columns exist.


populate_empty_columns(bonds)



# Now we can re-order the columns


bonds = bonds[properties]


bonds


Regards,

Sunny

expect to download as DS

1038_DS.jpg


Sample code download DS

1038_DS_Parent_Bonds.jpg

eikoneikon-data-apiworkspaceworkspace-data-apirefinitiv-data-platform-eikon
1038-ds.jpg (177.4 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.

Upvotes
Accepted
12.1k 59 39 61

Hi @sunny.to@refinitiv.com

Try changing the filter expression:

filter = f"ParentOAPermID eq '{org_id}' and IsActive eq true and not(AssetStatus in ('MAT'))",

to

filter = f"ParentOrgID eq '{org_id}' and IsActive eq true and not(AssetStatus in ('MAT'))",  
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
12 2 3 6

Hi @nick.zincone,

# 1038.HK orgID

orgId = '4295871038'

filter = f"ParentOrgID eq '{org_id}' and IsActive eq true and not(AssetStatus in ('MAT'))",

your above suggested code return zero bond but in Eikon it is 5 Bonds from 1038.HK subsidiaries.

Could advise it? many thanks.

Regards,
Sunny

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
12.1k 59 39 61

Hi @sunny.to@refinitiv.com

I sense there may be many questions related to this topic and Search. What I would first recommend is to review the Search Article on this topic. It will provide some guidance as to work with Search to get the most out of it. For example, when I typically want to know if there is any information related to anything, I utilize the query parameter, i.e.

response = rdp.Search.search("4295871038")
or
response = rdp.Search.search(
                   query = "4295871038"
)

You can see some general information returned. You can utilize the debugging feature ("_debugall") as outlined within the article to help understand all properties. However, there does not appear to be any listed bonds. This is where I would reach out to the Refinitiv Helpdesk to confirm if the content is available.

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 , will read the link you attached. Thank you.