Discover Refinitiv
MyRefinitiv Refinitiv Perspectives Careers
Created with Sketch.
All APIs Questions & Answers  Register |  Login
Ask a question
  • Questions
  • Tags
  • Badges
  • Unanswered
Search:
  • Home /
  • Eikon Data APIs /

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

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

avatar image
Question by gabriel31 · Jun 27, 2019 at 12:22 PM · eikoneikon-data-apipythonworkspaceworkspace-data-apirefinitiv-dataplatform-eikondataforex

Is it possible to get a currency adjusted price from CF_last using get_data?

Hello, I know you can get a stock's currency adjusted price if you use fields such as ['TR.PriceClose' and 'TR.PriceOpen'], however, is it possible to get a currency adjusted price if you use the field 'CF_LAST'?

I want to be able to see the currency adjusted price in USD in real time for foreign-dominated securities.

People who like this

0 Show 0
Comment
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Reply

  • Sort: 
avatar image
REFINITIV
Best Answer
Answer by Alex Putkov.1 · Jun 27, 2019 at 06:59 PM

No, this is not possible directly from Eikon. You'd need to retrieve the stock price and the exchange rate separately and convert the stock price to USD. Here's an example. It handles the fact that, while most currencies in the FX market are quoted in currency units per 1 USD, there are some currencies (e.g. GBP, EUR, AUD etc.) that are quoted inversely, i.e. in USD per 1 currency unit. The example also handles the case where stocks are quoted in minor rather than major currency units (pennies and cents rather than pounds and dollars). I know this to be the case in the UK, Israel and South Africa. There may be other markets which require similar handling.

#Retrieve stock prices
stk_prc_df, err = ek.get_data(['VOD.L','LHAG.F','PEUP.PA',
                               'LKOH.MM','0001.HK','ASX.AX'],
                              ['CF_LAST','CF_CURR'])
#Create the list of currencies and remove duplicates
curr_list = stk_prc_df['CF_CURR'].tolist()
exch_rates_df = pd.DataFrame(index=list(dict.fromkeys(curr_list)),
                             columns=['RIC', 'Scale'])
#Create dictionary of minor currency units that stocks may be traded in
exception_dict = {'GBp':['GBP=',100], 'ILa':['ILS=',100], 'ZAc':['ZAR=',100]}
#Add exchange rate RICs and scaling factors to exchange rates dataframe
for x in exch_rates_df.index:
    exch_rates_df.loc[x, ['RIC', 'Scale']] = exception_dict.get(x, 
                                                                [x + "=", 1])
#Retrieve exchange rates from Eikon
tmp_df, err = ek.get_data(exch_rates_df['RIC'].tolist(),
                          ['MID_PRICE', 'BASE_CCY'])
#Calculate exchange rates to apply to stock prices
exch_rates_df['Exch rate'] = np.where(
    tmp_df['BASE_CCY']=='USD',
    tmp_df['MID_PRICE'], 1 / tmp_df['MID_PRICE'])
#Calculate stock prices in USD
for x in stk_prc_df.index:
    stk_prc_df.loc[x, 'Price USD'] = (stk_prc_df.loc[x, 'CF_LAST'] / 
    (exch_rates_df.loc[stk_prc_df.loc[x, 'CF_CURR'],'Exch rate'] * 
     exch_rates_df.loc[stk_prc_df.loc[x, 'CF_CURR'],'Scale']))
stk_prc_df
Comment
gabriel31

People who like this

1 Show 0 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Watch this question

Add to watch list
Add to your watch list to receive emailed updates for this question. Too many emails? Change your settings >
7 People are following this question.

Related Questions

What currency does the API function get_data report market cap info?

Hi! I am trying to figure this out - Is there any way we can fetch intraday data for USDINR currency pair in Python?

Total Returns and Price Returns over specific periods

how to fetch reported total assets of an Europe listed company in USD via eikon API?

Can API (beta) or SxS listen to event Spot Quote for Currency Exchange?

  • Copyright
  • Cookie Policy
  • Privacy Statement
  • Terms of Use
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Alpha
  • App Studio
  • Block Chain
  • Bot Platform
  • Connected Risk APIs
  • DSS
  • Data Fusion
  • Data Model Discovery
  • Datastream
  • Eikon COM
  • Eikon Data APIs
  • Electronic Trading
    • Generic FIX
    • Local Bank Node API
    • Trading API
  • Elektron
    • EMA
    • ETA
    • WebSocket API
  • FX Venues
    • FX Trading – RFQ Maker
  • Intelligent Tagging
  • Legal One
  • Messenger Bot
  • Messenger Side by Side
  • ONESOURCE
    • Indirect Tax
  • Open Calais
  • Open PermID
    • Entity Search
  • Org ID
  • PAM
    • PAM - Logging
  • ProView
  • ProView Internal
  • Product Insight
  • Project Tracking
  • RDMS
  • Refinitiv Data Platform
    • Refinitiv Data Platform Libraries
  • Rose's Space
  • Screening
    • Qual-ID API
    • Screening Deployed
    • Screening Online
    • World-Check One
    • World-Check One Zero Footprint
  • Side by Side Integration API
  • TR Knowledge Graph
  • TREP APIs
    • CAT
    • DACS Station
    • Open DACS
    • RFA
    • UPA
  • TREP Infrastructure
  • TRKD
  • TRTH
  • Thomson One Smart
  • Transactions
    • REDI API
  • Velocity Analytics
  • Wealth Management Web Services
  • Workspace SDK
    • Element Framework
    • Grid
  • World-Check Data File
  • Yield Book Analytics
  • 中文论坛
  • Explore
  • Tags
  • Questions
  • Badges