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 2 2 4

How do I access alternative close prices via python API

Help!

Is it possible to access alternative close prices from the python API? For example BRTDTDMc1 has 2 close prices. ASIA_CLOSE, EU_CLOSE, US_CLOSE, I want to access the ASIA close price as I am trying to find a common timestamp for the below list of prices.

Reuters Code' : ['DUBSGSWMc2', 'MRBN1MMASc1', 'OQc1', 'LCO1MMASc1', 'BRTDTDMc2'

The other alternative close I want to acces is the ALT_SETTLE on the OQc1 curve.

My code is here: I took snip and pasted raw code for any testing.


1630596574871.png

#Import Curve data


import pandas as pd

import numpy as np

import datetime as dt

import eikon as ek

from pandas.tseries.offsets import BDay



today = dt.date.today()

reportDate = (today - BDay(1)).strftime('%Y-%m-%d')

print(reportDate)


curves = pd.DataFrame({'Simplified Underlyer' : ['Dubai', 'Murban', 'Oman', 'Ice_Brent' , 'Dated_Brent'],

'Reuters Code' : ['DUBSGSWMc2', 'MRBN1MMASc1', 'OQc1', 'LCO1MMASc1', 'BRTDTDMc2']})


curves.set_index('Simplified Underlyer')


curveList = curves['Reuters Code'].tolist()


curveData = ek.get_timeseries(curveList, ['CLOSE'],start_date="2021-01-01",end_date= reportDate)

curveData1 = ek.get_timeseries(curveList, ['ASIA_CLOSE'],start_date="2021-01-01",end_date= reportDate)

curveData2 = ek.get_timeseries(curveList, ['ALT_SETTLE'],start_date="2021-01-01",end_date= reportDate)


prices = curveData.dropna()

returns = curveData.pct_change()

returns = returns.dropna()

returnsCov = returns.cov()

volatility = returns.std()


latestPrices = prices.loc[reportDate]

latestPrices

print(curveData1)

print(curveData2)


eikoneikon-data-apipythonrefinitiv-dataplatform-eikonworkspaceworkspace-data-apicommodities
1630596574871.png (70.5 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.

Hello @joe.wright

Thank you for your participation in the forum. Is the reply below satisfactory in resolving your query?


If so please can you click the 'Accept' text next to the appropriate reply? This will guide all community members who have a similar question.

Thanks,


AHS

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

Thanks,
AHS

1 Answer

· Write an Answer
Upvotes
Accepted
4.3k 2 4 5

Hi @joe.wright ,

ek.get_timeseries provides only a limited list of fields (TIMESTAMP, VALUE, VOLUME, HIGH, LOW, OPEN, CLOSE & COUNT).

In your case, following ek.get_data() calls could return expected values:

curveData, err = ek.get_data(
    curveList,
    ['TR.CLOSEPRICE.date', 'TR.CLOSEPRICE'],
    parameters={'SDate': "2021-01-01", "EDate": reportDate})

curveData1, err = ek.get_data(
    curveList,
    ['TR.ASIACLOSINGTRADEPRICE.date', 'TR.ASIACLOSINGTRADEPRICE'],
    parameters={'SDate': "2021-01-01", 'EDate': reportDate})

curveData2, err = ek.get_data(
    curveList,
    ['TR.SETTLEMENTPRICE.date', 'TR.SETTLEMENTPRICE'],
    parameters={'SDate': "2021-01-01", 'EDate': reportDate


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.