How do I access alternative close prices via python API

Options
joe.wright
joe.wright Newcomer
edited August 13 in Eikon Data APIs

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)


Best Answer

  • pf
    pf LSEG
    Answer ✓

    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


Answers