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

Best Answer

  • 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)




Answers