question

Upvotes
Accepted
1 0 0 1

Retrieve historical yield data for collection of bonds

I would like to collect certain firms outstanding bonds and get the average historical yield using python api.

For example Swedish publicly traded firms in real estate sector, get their bonds that are in principal currency SEK and margin over index as type. I would like to get all active and non-active bonds' average bid yield on weekly data

python#technologyhistoricalbondsyield
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
Accepted
6.5k 21 3 6

Hi @tobias.cronback01,

The best tool here might be the Search API.
Please read the fantastic "Building Search into your Application Workflow", you will find exactly what you need there.
For e.g.: I tried and came up with this example:

import refinitiv.data as rd

rd.open_session()

response = rd.content.search.metadata.Definition(
    view = rd.content.search.Views.FIXED_INCOME_INSTRUMENTS
).get_data()
response.data.df.to_excel("FIXED_INCOME_INSTRUMENTS.xlsx")

country = "BusinessEntity, DocumentTitle, PermID, RIC, BorrowerCountry, Country, CountryName, CountryOfIncorporation, GuarantorCountry, GuarantorCountryName, ISOCountryName, IssuerCountry, IssuerCountryContinentGroup, IssuerCountryName, LoanCountry, LoanCountryDescription, OldCountry, PartyCountry, PartyCountryCode, RCSBorrowerCountry, RCSBorrowerCountryGenealogy, RCSBorrowerCountryLeaf, RCSBorrowerCountryLeafML, RCSBorrowerCountryName, RCSBorrowerCountryNameML, RCSCountry, RCSCountryGenealogy, RCSCountryLeaf, RCSCountryLeafML, RCSCountryName, RCSCountryNameML, RCSCountryOfIncorporation, RCSCountryOfIncorporationGenealogy, RCSCountryOfIncorporationLeaf, RCSFilingCountryLeaf, RCSGuarantorCountry, RCSGuarantorCountryGenealogy, RCSGuarantorCountryLeaf, RCSGuarantorCountryLeafML, RCSGuarantorCountryName, RCSGuarantorCountryNameML, RCSIssuerCountry, RCSIssuerCountryGenealogy, RCSIssuerCountryLeaf, RCSIssuerCountryLeafML, RCSIssuerCountryName, RCSIssuerCountryNameML, RCSLoanCountry, RCSLoanCountryGenealogy, RCSLoanCountryLeaf, RCSLoanCountryLeafML, RCSLoanCountryName, RCSLoanCountryNameML, RCSRiskCountry, RCSRiskCountryGenealogy, RCSRiskCountryLeaf, RCSRiskCountryLeafML, RCSRiskCountryName, RCSRiskCountryNameML, RCSUnderlyingAssetDomicileCountry, RCSUnderlyingAssetDomicileCountryGenealogy, RCSUnderlyingAssetDomicileCountryLeaf, RCSUnderlyingAssetDomicileCountryName, RepoEligBankCountry, RiskCountry, RiskCountryDescription, UnderlyingAssetDomicileCountry"

sector = "IndustrySector, IndustrySectorDescription, IndustrySubSector, IndustrySubSectorDescription, MajorIndustrySector, MajorIndustrySectorDescription, MajorIndustrySubSector, MajorIndustrySubSectorDescription, NAICSSector, ParentImmedIndustrySector, ParentIndustrySector, Sector, SectorDescription, UnderlyingAssetSector, UnderlyingAssetSectorDesc"

search_results=rd.content.search.Definition(
    view=rd.content.search.Views.FIXED_INCOME_INSTRUMENTS,
    query="Commercial",
    # filter = fields,
    select = country + ", " + sector + ", Currency, CurrencyDescription, PrincipalCurrency",
    filter = "RCSIssuerCountryLeaf eq 'Sweden' and IndustrySubSectorDescription eq 'Real Estate' and PrincipalCurrency eq 'SEK'",
    top = 20,
    ).get_data()
display(search_results.data.df)




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.

Here is a screenshot of the output:


1716998360832.png

1716998360832.png (217.2 KiB)

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.