Bond calculator - cash flow

How is it possible to create the "norm factor" and "residual amount usd" column in bond calculator cash flow section using Eikon API or codebook? If so, is it possible to have these columns for multiple bond ISINs?

1713196345294.png


Best Answer

Answers

  • Hi Thanks,

    With the IPA financial contracts page I checked bonds: https://developers.lseg.com/en/api-catalog/refinitiv-data-platform/refinitiv-data-platform-apis/documentation/manuals-and-guides/ipa-financial-contracts/ipa-financial-contracts---bond-contracts

    But find it hard to understand where to find these two columns : Norm. Factor and Residual Amount USD.

    Below excel, it is possible to bring the data with the underlined formula.

    Thanks.

    1713258893055.png

    1713258855594.png


  • @asli.sahin

    It should be this code.

    response = bond.Definition(
        instrument_code = 'US1536637036',
        fields = [
            "CashFlowDatesArray",
            "CashFlowResidualAmountsInDealCcyArray"
        ]
    ).get_data()
    response.data
  • Thank you. With your example, it bring the below.

    Am I missing something here? Thank you.

    1713957240115.png

  • @asli.sahin

    It returns the raw json response so you need to reformat it. For example:

    response = bond.Definition(
        instrument_code = 'US1536637036',
        fields = [
            "CashFlowDatesArray",
            "CashFlowResidualAmountsInDealCcyArray"
        ]
    ).get_data()

    dict = {response.data.raw["headers"][0]["name"]: response.data.raw["data"][0][0], response.data.raw["headers"][1]["name"]: response.data.raw["data"][0][1]}

    df = pd.DataFrame(dict)
    df

    The output is:

    1714028592293.png


  • Hi, Many thanks.

    If this was for a group of bonds. How can we adjust the code please?

    I tried a few variations but it didn't work. Many thanks.

  • Also, if I would like to add the below in excel, how would the code be?

    1714053367482.png

  • @asli.sahin

    Please share the code you are using.

  • It is similar to the rd.get_data method.

    rd.get_data(["153663703="],["TR.REDAMT"])

    Or,

    rd.get_data(["153663703="],["TR.REDAMT"],
                {"SDate":"","EDate":""})

    You can use the Data Item Browser tool to check for fields and parameters.

  • Hello, how would the code change if it is for multiple instruments? Could you please share an example with multiple instruments?
    Many thanks.