I use this code to retrieve CNH data, but it seems to be unavailable at the moment. Any suggestions?
Code:
import refinitiv.dataplatform.eikon as ek
import matplotlib.pyplot as plt
from matplotlib import rcParams
import datetime
import matplotlib.pyplot as plt
import pandas as pd
rcParams['font.family'] = 'Helvetica'
plt.style.use('seaborn')
Colour_Dict = {'LCH_Blue':'#01ACBB', 'LCH_Green':'87CCA2', 'Purple':'#904299', 'Dark_Grey':'#646569', 'Grey':'#B1B3B4','Blue':'#006980', 'Dark_Blue':'#193A64', 'Light_Blue':'#B2D2D9','Yellow':'#DBBE4B'}
Colour_List = ['#01ACBB','#87CCA2','#904299','#646569','#B1B3B4','#006980','#193A64','#B2D2D9','#DBBE4B']
plt.rcParams['legend.frameon']=True
plt.rcParams['legend.facecolor']='white'
ek.set_app_key('DEFAULT_CODE_BOOK_APP_KEY')
total_df = pd.DataFrame(columns=['CNH=','Date','CLOSE'])
for i in range(0,10):
enddate = datetime.datetime.today() - datetime.timedelta(30*i)
startdate = enddate - datetime.timedelta(30) - datetime.timedelta(30*i)
df = ek.get_timeseries('CNH=',['CLOSE'],start_date=startdate.strftime('%Y-%m-%d'),end_date=enddate.strftime('%Y-%m-%d'),interval='minute')
df = df.reset_index()
total_df = total_df.append(df)
total_df.to_csv('USDCNH_INTRADAY_'+datetime.date.today().strftime('%Y_%m_%d')+'.csv')
Error:
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
/tmp/ipykernel_102/2645221917.py in <module>
16 enddate = datetime.datetime.today() - datetime.timedelta(30*i)
17 startdate = enddate - datetime.timedelta(30) - datetime.timedelta(30*i)
---> 18 df = ek.get_timeseries('CNH=',['CLOSE'],start_date=startdate.strftime('%Y-%m-%d'),end_date=enddate.strftime('%Y-%m-%d'),interval='minute')
19 df = df.reset_index()
20 total_df = total_df.append(df)
/opt/conda/lib/python3.8/site-packages/refinitiv/dataplatform/legacy/time_series.py in get_timeseries(rics, fields, start_date, end_date, interval, count, calendar, corax, normalize, raw_output, debug)
206
207 # Catch all errors to raise a warning
--> 208 ts_timeserie_data = ts_result["timeseriesData"]
209 ts_status_errors = [
210 ts_data
KeyError: 'timeseriesData'