Upgrade from Eikon -> Workspace. Learn about programming differences.

For a deeper look into our Eikon Data API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
1 1 1 1

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?

eikoneikon-data-apipythonrefinitiv-dataplatform-eikonworkspaceworkspace-data-api
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.

@donnapa.limvipuwat

Thank you for your participation in the forum. Are any of the replies below satisfactory in resolving your query? If yes please click the 'Accept' text next to the reply that best answers your question. This will guide all community members who have a similar question. Otherwise please post again offering further insight into your question.

Thanks,

-AHS

@donnapa.limvipuwat

Please be informed that a reply has been verified as correct in answering the question, and has been marked as such.

Thanks,

-AHS

Upvote
Accepted
14.2k 30 5 10

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



1630687185451.png (50.7 KiB)
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.

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
capture.png (24.9 KiB)
capture.png (3.8 KiB)
Upvote
39.4k 77 11 27

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

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.

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.