How to get outrights at broken dates on Swap Points App (SPO)

In Swap Points App (SPO), I can get like EURUSD values in a curve and I can specify the broken dates to get points in the middle of that curve vertices. How can I do that in the API?

Best Answer

  • @ty

    You can use Refinitiv Data Platform Library for this purpose. The library is not yet officially supported, but you can install a pre-release version from PyPI. You can find examples of using this library to price financial contracts in Codebook File Browser under Examples / 02 - Refinitiv Data Platform Library / 2.7.x - Content - Financial Contracts - ...

    And you can find the documentation for contract definitions and output fields on Refinitiv Data Platform APIs page on this portal under Documentation - Manuals & Guides - IPA Financial Contracts - IPA Financial Contracts: FX Cross Contracts.

    Here's a quick example returning mid swap points and outright for EURGBP forward ending 3 months and 10 days from spot.

    import refinitiv.dataplatform as rdp 
    rdp.open_desktop_session(your_app_key)
    from refinitiv.dataplatform.content.ipa.contracts import cross
    from refinitiv.dataplatform.content.ipa import FinancialContracts as fc
    fwd_contract = cross.Definition(fx_cross_code='EURGBP', 
                                    fx_cross_type='FxForward',
                                    legs = [cross.LegDefinition(tenor='3M10D')])
    response = fc.get_cross_analytics(fwd_contract, 
                                      fields = ['StartDate',
                                                'EndDate',
                                                'FxSwapsCcy1Ccy2', 
                                                'FxOutrightCcy1Ccy2'])
    display(response.data.df)

Answers

  • @Alex Putkov.1


    Hello Alex,


    Good day!


    The client is using similar formula as above to retrieve the FX Forward and Outrights for USDSGD for 1Y.


    import refinitiv.dataplatform as rdp


    import refinitiv.dataplatform.eikon as rdp_ek

    from refinitiv.dataplatform.content.ipa.contracts import cross

    from refinitiv.dataplatform.content.ipa import FinancialContracts as fc


    #%%

    #%%


    rdp.open_desktop_session('e6fae31d22dc4ffe8d72e8140f0df82412a8f248')



    fwd_contract = cross.Definition(fx_cross_code='SGD',

    fx_cross_type='FxForward',

    legs = [cross.LegDefinition(tenor='1Y')])

    response = fc.get_cross_analytics(fwd_contract,

    fields = ['StartDate',

    'EndDate',

    'FxSwapsCcy1Ccy2',

    'FxOutrightCcy1Ccy2'],

    calculation_params = cross.CalculationParams(valuation_date='2023-01-03'))


    response.data.df.iloc[0][1]


    However, the client is trying to retrieve similar information for multiple tenors. Client is trying to retrieve similar to the attached sheet. They wish to retrieve the same data as excel using Python, one that can extract more than one tenor at a time.


    See sample screenshot:

    1696830046835.png


    Once again, appreciate all the help.


    Regards,

    Kris Abigail Hilvano

    Specialist, Desktop Trading





  • @kris.hilvano

    The accepted question will not be monitored. Please post this question as a new question. Moreover, Alex has left the company.

  • Hello @Jirapongse


    Thank you! Will repost question as new. Thank you once again :)