Function FxCalcPeriod() in Eikon API (Codebook)

Good afternoon,

I found many Functions and contents in Eikon API (Codebook) (/_Examples_/02 - Refinitiv Data Platform Library), however, there is no Function FxCalsPeriod() in Eikon API (Codebook).

Could you please suggest me how to use Function FxCalsPeriod() in Eikon API (Codebook) or could you please provide code for use this function in python codebook?

Best Answer

  • raksina.samasiri
    Answer ✓

    Hi @donnapa.limvipuwat ,

    I'd like to add the answer from my colleague,

    Here's an example of the code you can use

    From this Excel Formular

    =FxCalcPeriod("20MAR2021","EURUSD","1M")

    To this Python code (using RDP library, executed in Eikon/Workspace Codebook)

    import refinitiv.dataplatform as rdp 
    from refinitiv.dataplatform.content.ipa.contracts import cross
    from refinitiv.dataplatform.content.ipa import FinancialContracts as fc

    rdp.open_desktop_session('DEFAULT_CODE_BOOK_APP_KEY')

    fwd_contract = cross.Definition(fx_cross_code='EURGBP',
    fx_cross_type='FxForward',
    legs = [cross.LegDefinition(tenor='1M')])
    response = fc.get_cross_analytics(fwd_contract,
    fields = ['StartDate',
    'EndDate',
    'FxSwapsCcy1Ccy2',
    'FxOutrightCcy1Ccy2'],
    calculation_params = cross.CalculationParams(valuation_date='2021-03-20'))
    display(response.data.df)

    Compare the results

    1630687185451.png


Answers

  • You can calculate start/end dates for an FX fwd or swap using RDP Library. See an example in the accepted answer on the following thread: https://community.developers.refinitiv.com/questions/66758/how-to-get-outrights-at-broken-dates-on-swap-point.html

  • Please may you advise how I can use the same code or similar to also clone the

    =FxCalcPeriod("21MAR2022","USDKRW","1M") formula that works correctly in excel with future valuation dates "21MAR2022" (Assume todays actual date is 18th Mar 2022)


    top dataframe returned is for todays date 18th Mar 22,

    Bottom df is for future date since that works in Excel but seemingly not in python.

    Formula works with future valuation_date that works (44641=21st March 2022)capture.png

    capture.png

    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(appkey)


    fwd_contract = cross.Definition(fx_cross_code='USDKRW',
    fx_cross_type='FxForward',
    legs = [cross.LegDefinition(tenor='1M')])
    response = fc.get_cross_analytics(fwd_contract,
    fields = ['StartDate',
    'EndDate',
    'FxSwapsCcy1Ccy2',
    'FxOutrightCcy1Ccy2'],
    calculation_params = cross.CalculationParams(valuation_date='2022-03-21'))

    response.data.df