I am using this python code to get power and gas hist prices
Basically I created 3 dictionaries with all the RICs for Power DE, Power Fr and TTF price for all the monthly and quarterly and cal products.
I create a simple function that for each key of the dict, download the price series. Then I change the column names with the real name of the products.
In the attachment you can also find the same experiment done with only one request where I get the whole serie.
I don’t understand why it doesn’t work, in excel I can make multiple download without any problem.
Would be really useless to have python RICs going directly into python if I have to make small calls each time.
This is the import part
import pandas as pd
from eikon_rics import *
import eikon as ek
from datetime import datetime
app_key = '-----------------------------------------'
ek.set_app_key(app_key)
ric_ttf = { 'TFMBMF9^1': ['ttf', 'JAN-19'], 'TFMBMF0^2': ['ttf', 'JAN-20'], 'TFMBMF1^2': ['ttf', 'JAN-21'], 'TFMBMF2^2': ['ttf', 'JAN-22'], 'TFMBMF3^2': ['ttf', 'JAN-23'], 'TFMBMF4': ['ttf', 'JAN-24'], 'TFMBMF5': ['ttf', 'JAN-25'], 'TFMBMG9^1': ['ttf', 'FEB-19'], 'TFMBMG0^2': ['ttf', 'FEB-20'], 'TFMBMG1^2': ['ttf', 'FEB-21'], 'TFMBMG2^2': ['ttf', 'FEB-22'], 'TFMBMG3^2': ['ttf', 'FEB-23'], 'TFMBMG4': ['ttf', 'FEB-24'], 'TFMBMG5': ['ttf', 'FEB-25'], 'TFMBMH9^1': ['ttf', 'MAR-19'], 'TFMBMH0^2': ['ttf', 'MAR-20'], 'TFMBMH1^2': ['ttf', 'MAR-21'], 'TFMBMH2^2': ['ttf', 'MAR-22'], 'TFMBMH3^2': ['ttf', 'MAR-23'], 'TFMBMH4': ['ttf', 'MAR-24'], 'TFMBMH5': ['ttf', 'MAR-25'], 'TFMBMJ9^1': ['ttf', 'APR-19'], 'TFMBMJ0^2': ['ttf', 'APR-20'], 'TFMBMJ1^2': ['ttf', 'APR-21'], 'TFMBMJ2^2': ['ttf', 'APR-22'], 'TFMBMJ3^2': ['ttf', 'APR-23'], 'TFMBMJ4': ['ttf', 'APR-24'], 'TFMBMJ5': ['ttf', 'APR-25'], 'TFMBMK9^1': ['ttf', 'MAY-19'], 'TFMBMK0^2': ['ttf', 'MAY-20'], 'TFMBMK1^2': ['ttf', 'MAY-21'], 'TFMBMK2^2': ['ttf', 'MAY-22'], 'TFMBMK3^2': ['ttf', 'MAY-23'], 'TFMBMK4': ['ttf', 'MAY-24'], 'TFMBMK5': ['ttf', 'MAY-25'], 'TFMBMM9^1': ['ttf', 'JUN-19'], 'TFMBMM0^2': ['ttf', 'JUN-20'], 'TFMBMM1^2': ['ttf', 'JUN-21'], 'TFMBMM2^2': ['ttf', 'JUN-22'], 'TFMBMM3^2': ['ttf', 'JUN-23'], 'TFMBMM4': ['ttf', 'JUN-24'], 'TFMBMM5': ['ttf', 'JUN-25'], 'TFMBMN9^1': ['ttf', 'JUL-19'], 'TFMBMN0^2': ['ttf', 'JUL-20'], 'TFMBMN1^2': ['ttf', 'JUL-21'], 'TFMBMN2^2': ['ttf', 'JUL-22'], 'TFMBMN3^2': ['ttf', 'JUL-23'], 'TFMBMN4': ['ttf', 'JUL-24'], 'TFMBMN5': ['ttf', 'JUL-25'], 'TFMBMQ9^1': ['ttf', 'AUG-19'], 'TFMBMQ0^2': ['ttf', 'AUG-20'], 'TFMBMQ1^2': ['ttf', 'AUG-21'], 'TFMBMQ2^2': ['ttf', 'AUG-22'], 'TFMBMQ3^2': ['ttf', 'AUG-23'], 'TFMBMQ4': ['ttf', 'AUG-24'], 'TFMBMQ5': ['ttf', 'AUG-25'], 'TFMBMU9^1': ['ttf', 'SEP-19'], 'TFMBMU0^2': ['ttf', 'SEP-20'], 'TFMBMU1^2': ['ttf', 'SEP-21'], 'TFMBMU2^2': ['ttf', 'SEP-22'], 'TFMBMU3^2': ['ttf', 'SEP-23'], 'TFMBMU4': ['ttf', 'SEP-24'],
'TFMBMU5': ['ttf', 'SEP-25'], 'TFMBMV9^1': ['ttf', 'OCT-19'], 'TFMBMV0^2': ['ttf', 'OCT-20'], 'TFMBMV1^2': ['ttf', 'OCT-21'], 'TFMBMV2^2': ['ttf', 'OCT-22'], 'TFMBMV3^2': ['ttf', 'OCT-23'], 'TFMBMV4': ['ttf', 'OCT-24'], 'TFMBMV5': ['ttf', 'OCT-25'], 'TFMBMX9^1': ['ttf', 'NOV-19'], 'TFMBMX0^2': ['ttf', 'NOV-20'], 'TFMBMX1^2': ['ttf', 'NOV-21'], 'TFMBMX2^2': ['ttf', 'NOV-22'], 'TFMBMX3': ['ttf', 'NOV-23'], 'TFMBMX4': ['ttf', 'NOV-24'], 'TFMBMX5': ['ttf', 'NOV-25'], 'TFMBMZ9^1': ['ttf', 'DEC-19'], 'TFMBMZ0^2': ['ttf', 'DEC-20'], 'TFMBMZ1^2': ['ttf', 'DEC-21'], 'TFMBMZ2^2': ['ttf', 'DEC-22'], 'TFMBMZ3': ['ttf', 'DEC-23'], 'TFMBMZ4': ['ttf', 'DEC-24'], 'TFMBMZ5': ['ttf', 'DEC-25'], 'TFMBQH9^1': ['ttf', 'Q1-19'], 'TFMBQH0^2': ['ttf', 'Q1-20'], 'TFMBQH1^2': ['ttf', 'Q1-21'], 'TFMBQH2^2': ['ttf', 'Q1-22'], 'TFMBQH3^2': ['ttf', 'Q1-23'], 'TFMBQH4': ['ttf', 'Q1-24'], 'TFMBQH5': ['ttf', 'Q1-25'], 'TFMBQM9^1': ['ttf', 'Q2-19'], 'TFMBQM0^2': ['ttf', 'Q2-20'], 'TFMBQM1^2': ['ttf', 'Q2-21'], 'TFMBQM2^2': ['ttf', 'Q2-22'], 'TFMBQM3^2': ['ttf', 'Q2-23'], 'TFMBQM4': ['ttf', 'Q2-24'], 'TFMBQM5': ['ttf', 'Q2-25'], 'TFMBQU9^1': ['ttf', 'Q3-19'], 'TFMBQU0^2': ['ttf', 'Q3-20'], 'TFMBQU1^2': ['ttf', 'Q3-21'], 'TFMBQU2^2': ['ttf', 'Q3-22'], 'TFMBQU3^2': ['ttf', 'Q3-23'], 'TFMBQU4': ['ttf', 'Q3-24'], 'TFMBQU5': ['ttf', 'Q3-25'], 'TFMBQZ9^1': ['ttf', 'Q4-19'], 'TFMBQZ0^2': ['ttf', 'Q4-20'], 'TFMBQZ1^2': ['ttf', 'Q4-21'], 'TFMBQZ2^2': ['ttf', 'Q4-22'], 'TFMBQZ3^2': ['ttf', 'Q4-23'], 'TFMBQZ4': ['ttf', 'Q4-24'], 'TFMBQZ5': ['ttf', 'Q4-25'], 'TFMBYZ9^1': ['ttf', 'CAL-19'], 'TFMBYZ0^2': ['ttf', 'CAL-20'], 'TFMBYZ1^2': ['ttf', 'CAL-21'], 'TFMBYZ2^2': ['ttf', 'CAL-22'], 'TFMBYZ3^2': ['ttf', 'CAL-23'], 'TFMBYZ4': ['ttf', 'CAL-24'], 'TFMBYZ5': ['ttf', 'CAL-25'] } ric_fr = { 'F7BMF9^1': ['fr', 'JAN-19'], 'F7BMF0^2': ['fr', 'JAN-20'], 'F7BMF1^2': ['fr', 'JAN-21'],
'F7BMF2^2': ['fr', 'JAN-22'], 'F7BMF3^2': ['fr', 'JAN-23'], 'F7BMF4': ['fr', 'JAN-24'], 'F7BMF5': ['fr', 'JAN-25'], 'F7BMG9^1': ['fr', 'FEB-19'], 'F7BMG0^2': ['fr', 'FEB-20'], 'F7BMG1^2': ['fr', 'FEB-21'], 'F7BMG2^2': ['fr', 'FEB-22'], 'F7BMG3^2': ['fr', 'FEB-23'], 'F7BMG4': ['fr', 'FEB-24'], 'F7BMG5': ['fr', 'FEB-25'], 'F7BMH9^1': ['fr', 'MAR-19'], 'F7BMH0^2': ['fr', 'MAR-20'], 'F7BMH1^2': ['fr', 'MAR-21'], 'F7BMH2^2': ['fr', 'MAR-22'], 'F7BMH3^2': ['fr', 'MAR-23'], 'F7BMH4': ['fr', 'MAR-24'], 'F7BMH5': ['fr', 'MAR-25'], 'F7BMJ9^1': ['fr', 'APR-19'], 'F7BMJ0^2': ['fr', 'APR-20'], 'F7BMJ1^2': ['fr', 'APR-21'], 'F7BMJ2^2': ['fr', 'APR-22'], 'F7BMJ3^2': ['fr', 'APR-23'], 'F7BMJ4': ['fr', 'APR-24'], 'F7BMJ5': ['fr', 'APR-25'], 'F7BMK9^1': ['fr', 'MAY-19'], 'F7BMK0^2': ['fr', 'MAY-20'], 'F7BMK1^2': ['fr', 'MAY-21'], 'F7BMK2^2': ['fr', 'MAY-22'], 'F7BMK3^2': ['fr', 'MAY-23'], 'F7BMK4': ['fr', 'MAY-24'], 'F7BMK5': ['fr', 'MAY-25'], 'F7BMM9^1': ['fr', 'JUN-19'], 'F7BMM0^2': ['fr', 'JUN-20'], 'F7BMM1^2': ['fr', 'JUN-21'], 'F7BMM2^2': ['fr', 'JUN-22'], 'F7BMM3^2': ['fr', 'JUN-23'], 'F7BMM4': ['fr', 'JUN-24'], 'F7BMM5': ['fr', 'JUN-25'], 'F7BMN9^1': ['fr', 'JUL-19'], 'F7BMN0^2': ['fr', 'JUL-20'], 'F7BMN1^2': ['fr', 'JUL-21'], 'F7BMN2^2': ['fr', 'JUL-22'], 'F7BMN3^2': ['fr', 'JUL-23'], 'F7BMN4': ['fr', 'JUL-24'], 'F7BMN5': ['fr', 'JUL-25'], 'F7BMQ9^1': ['fr', 'AUG-19'], 'F7BMQ0^2': ['fr', 'AUG-20'], 'F7BMQ1^2': ['fr', 'AUG-21'], 'F7BMQ2^2': ['fr', 'AUG-22'], 'F7BMQ3^2': ['fr', 'AUG-23'], 'F7BMQ4': ['fr', 'AUG-24'], 'F7BMQ5': ['fr', 'AUG-25'], 'F7BMU9^1': ['fr', 'SEP-19'], 'F7BMU0^2': ['fr', 'SEP-20'], 'F7BMU1^2': ['fr', 'SEP-21'], 'F7BMU2^2': ['fr', 'SEP-22'], 'F7BMU3^2': ['fr', 'SEP-23'], 'F7BMU4': ['fr', 'SEP-24'], 'F7BMU5': ['fr', 'SEP-25'], 'F7BMV9^1': ['fr', 'OCT-19'], 'F7BMV0^2': ['fr', 'OCT-20'], 'F7BMV1^2': ['fr', 'OCT-21'],
'F7BMV2^2': ['fr', 'OCT-22'], 'F7BMV3^2': ['fr', 'OCT-23'], 'F7BMV4': ['fr', 'OCT-24'], 'F7BMV5': ['fr', 'OCT-25'], 'F7BMX9^1': ['fr', 'NOV-19'], 'F7BMX0^2': ['fr', 'NOV-20'], 'F7BMX1^2': ['fr', 'NOV-21'], 'F7BMX2^2': ['fr', 'NOV-22'], 'F7BMX3': ['fr', 'NOV-23'], 'F7BMX4': ['fr', 'NOV-24'], 'F7BMX5': ['fr', 'NOV-25'], 'F7BMZ9^1': ['fr', 'DEC-19'], 'F7BMZ0^2': ['fr', 'DEC-20'], 'F7BMZ1^2': ['fr', 'DEC-21'], 'F7BMZ2^2': ['fr', 'DEC-22'], 'F7BMZ3': ['fr', 'DEC-23'], 'F7BMZ4': ['fr', 'DEC-24'], 'F7BMZ5': ['fr', 'DEC-25'], 'F7BQF9^1': ['fr', 'Q1-19'], 'F7BQF0^2': ['fr', 'Q1-20'], 'F7BQF1^2': ['fr', 'Q1-21'], 'F7BQF2^2': ['fr', 'Q1-22'], 'F7BQF3^2': ['fr', 'Q1-23'], 'F7BQF4': ['fr', 'Q1-24'], 'F7BQF5': ['fr', 'Q1-25'], 'F7BQJ9^1': ['fr', 'Q2-19'], 'F7BQJ0^2': ['fr', 'Q2-20'], 'F7BQJ1^2': ['fr', 'Q2-21'], 'F7BQJ2^2': ['fr', 'Q2-22'], 'F7BQJ3^2': ['fr', 'Q2-23'], 'F7BQJ4': ['fr', 'Q2-24'], 'F7BQJ5': ['fr', 'Q2-25'], 'F7BQN9^1': ['fr', 'Q3-19'], 'F7BQN0^2': ['fr', 'Q3-20'], 'F7BQN1^2': ['fr', 'Q3-21'], 'F7BQN2^2': ['fr', 'Q3-22'], 'F7BQN3^2': ['fr', 'Q3-23'], 'F7BQN4': ['fr', 'Q3-24'], 'F7BQN5': ['fr', 'Q3-25'], 'F7BQV9^1': ['fr', 'Q4-19'], 'F7BQV0^2': ['fr', 'Q4-20'], 'F7BQV1^2': ['fr', 'Q4-21'], 'F7BQV2^2': ['fr', 'Q4-22'], 'F7BQV3^2': ['fr', 'Q4-23'], 'F7BQV4': ['fr', 'Q4-24'], 'F7BQV5': ['fr', 'Q4-25'], 'F7BYF9^1': ['fr', 'CAL-19'], 'F7BYF0^2': ['fr', 'CAL-20'], 'F7BYF1^2': ['fr', 'CAL-21'], 'F7BYF2^2': ['fr', 'CAL-22'], 'F7BYF3^2': ['fr', 'CAL-23'], 'F7BYF4': ['fr', 'CAL-24'], 'F7BYF5': ['fr', 'CAL-25'] } ric_de = { 'DEBMF9^1': ['de', 'JAN-19'], 'DEBMF0^2': ['de', 'JAN-20'], 'DEBMF1^2': ['de', 'JAN-21'], 'DEBMF2^2': ['de', 'JAN-22'], 'DEBMF3^2': ['de', 'JAN-23'], 'DEBMF4': ['de', 'JAN-24'],
'DEBMF5': ['de', 'JAN-25'], 'DEBMG9^1': ['de', 'FEB-19'], 'DEBMG0^2': ['de', 'FEB-20'], 'DEBMG1^2': ['de', 'FEB-21'], 'DEBMG2^2': ['de', 'FEB-22'], 'DEBMG3^2': ['de', 'FEB-23'], 'DEBMG4': ['de', 'FEB-24'], 'DEBMG5': ['de', 'FEB-25'], 'DEBMH9^1': ['de', 'MAR-19'], 'DEBMH0^2': ['de', 'MAR-20'], 'DEBMH1^2': ['de', 'MAR-21'], 'DEBMH2^2': ['de', 'MAR-22'], 'DEBMH3^2': ['de', 'MAR-23'], 'DEBMH4': ['de', 'MAR-24'], 'DEBMH5': ['de', 'MAR-25'], 'DEBMJ9^1': ['de', 'APR-19'], 'DEBMJ0^2': ['de', 'APR-20'], 'DEBMJ1^2': ['de', 'APR-21'], 'DEBMJ2^2': ['de', 'APR-22'], 'DEBMJ3^2': ['de', 'APR-23'], 'DEBMJ4': ['de', 'APR-24'], 'DEBMJ5': ['de', 'APR-25'], 'DEBMK9^1': ['de', 'MAY-19'], 'DEBMK0^2': ['de', 'MAY-20'], 'DEBMK1^2': ['de', 'MAY-21'], 'DEBMK2^2': ['de', 'MAY-22'], 'DEBMK3^2': ['de', 'MAY-23'], 'DEBMK4': ['de', 'MAY-24'], 'DEBMK5': ['de', 'MAY-25'], 'DEBMM9^1': ['de', 'JUN-19'], 'DEBMM0^2': ['de', 'JUN-20'], 'DEBMM1^2': ['de', 'JUN-21'], 'DEBMM2^2': ['de', 'JUN-22'], 'DEBMM3^2': ['de', 'JUN-23'], 'DEBMM4': ['de', 'JUN-24'], 'DEBMM5': ['de', 'JUN-25'], 'DEBMN9^1': ['de', 'JUL-19'], 'DEBMN0^2': ['de', 'JUL-20'], 'DEBMN1^2': ['de', 'JUL-21'], 'DEBMN2^2': ['de', 'JUL-22'], 'DEBMN3^2': ['de', 'JUL-23'], 'DEBMN4': ['de', 'JUL-24'], 'DEBMN5': ['de', 'JUL-25'], 'DEBMQ9^1': ['de', 'AUG-19'], 'DEBMQ0^2': ['de', 'AUG-20'], 'DEBMQ1^2': ['de', 'AUG-21'], 'DEBMQ2^2': ['de', 'AUG-22'], 'DEBMQ3^2': ['de', 'AUG-23'], 'DEBMQ4': ['de', 'AUG-24'], 'DEBMQ5': ['de', 'AUG-25'], 'DEBMU9^1': ['de', 'SEP-19'], 'DEBMU0^2': ['de', 'SEP-20'], 'DEBMU1^2': ['de', 'SEP-21'], 'DEBMU2^2': ['de', 'SEP-22'], 'DEBMU3^2': ['de', 'SEP-23'], 'DEBMU4': ['de', 'SEP-24'], 'DEBMU5': ['de', 'SEP-25'], 'DEBMV9^1': ['de', 'OCT-19'], 'DEBMV0^2': ['de', 'OCT-20'], 'DEBMV1^2': ['de', 'OCT-21'], 'DEBMV2^2': ['de', 'OCT-22'], 'DEBMV3^2': ['de', 'OCT-23'], 'DEBMV4': ['de', 'OCT-24'],
'DEBMV5': ['de', 'OCT-25'], 'DEBMX9^1': ['de', 'NOV-19'], 'DEBMX0^2': ['de', 'NOV-20'], 'DEBMX1^2': ['de', 'NOV-21'], 'DEBMX2^2': ['de', 'NOV-22'], 'DEBMX3': ['de', 'NOV-23'], 'DEBMX4': ['de', 'NOV-24'], 'DEBMX5': ['de', 'NOV-25'], 'DEBMZ9^1': ['de', 'DEC-19'], 'DEBMZ0^2': ['de', 'DEC-20'], 'DEBMZ1^2': ['de', 'DEC-21'], 'DEBMZ2^2': ['de', 'DEC-22'], 'DEBMZ3': ['de', 'DEC-23'], 'DEBMZ4': ['de', 'DEC-24'], 'DEBMZ5': ['de', 'DEC-25'], 'DEBQF9^1': ['de', 'Q1-19'], 'DEBQF0^2': ['de', 'Q1-20'], 'DEBQF1^2': ['de', 'Q1-21'], 'DEBQF2^2': ['de', 'Q1-22'], 'DEBQF3^2': ['de', 'Q1-23'], 'DEBQF4': ['de', 'Q1-24'], 'DEBQF5': ['de', 'Q1-25'], 'DEBQJ9^1': ['de', 'Q2-19'], 'DEBQJ0^2': ['de', 'Q2-20'], 'DEBQJ1^2': ['de', 'Q2-21'], 'DEBQJ2^2': ['de', 'Q2-22'], 'DEBQJ3^2': ['de', 'Q2-23'], 'DEBQJ4': ['de', 'Q2-24'], 'DEBQJ5': ['de', 'Q2-25'], 'DEBQN9^1': ['de', 'Q3-19'], 'DEBQN0^2': ['de', 'Q3-20'], 'DEBQN1^2': ['de', 'Q3-21'], 'DEBQN2^2': ['de', 'Q3-22'], 'DEBQN3^2': ['de', 'Q3-23'], 'DEBQN4': ['de', 'Q3-24'], 'DEBQN5': ['de', 'Q3-25'], 'DEBQV9^1': ['de', 'Q4-19'], 'DEBQV0^2': ['de', 'Q4-20'], 'DEBQV1^2': ['de', 'Q4-21'], 'DEBQV2^2': ['de', 'Q4-22'], 'DEBQV3^2': ['de', 'Q4-23'], 'DEBQV4': ['de', 'Q4-24'], 'DEBQV5': ['de', 'Q4-25'], 'DEBYF9^1': ['de', 'CAL-19'], 'DEBYF0^2': ['de', 'CAL-20'], 'DEBYF1^2': ['de', 'CAL-21'], 'DEBYF2^2': ['de', 'CAL-22'], 'DEBYF3^2': ['de', 'CAL-23'], 'DEBYF4': ['de', 'CAL-24'], 'DEBYF5': ['de', 'CAL-25'] }
def create_dfs(*args): start_date = '2018-01-01' end_date = datetime.now() dfs = [] for dictionary in args: df = ek.get_timeseries(list(dictionary.keys())[0:], interval='daily', fields='CLOSE', start_date=start_date, end_date=end_date, calendar='native')
column_names = {col: dictionary[col][1] for col in df.columns} for old_col, new_col in column_names.items(): df.rename(columns={old_col: new_col}, inplace=True) dfs.append(df) return dfs de, fr, ttf = create_dfs(ric_de, ric_fr, ric_ttf)
de['CAL-24'].dropna() Out[26]: Date 2023-10-24 127.56 2023-10-25 124.96 2023-10-26 125.24 2023-10-27 125.41 2023-10-30 125.06 2023-10-31 117.85 2023-11-01 117.12 2023-11-02 118.47 2023-11-03 119.26 2023-11-06 113.41 2023-11-07 114.14 2023-11-08 112.38 2023-11-09 116.9 2023-11-10 115.22 2023-11-13 116.08 2023-11-14 117.98 2023-11-15 117.14 2023-11-16 114.31 2023-11-17 112.88 2023-11-20 113.15 2023-11-21 110.18 2023-11-22 109.48 2023-11-23 112.59 2023-11-24 112.05 2023-11-27 108.35 Name: CAL-24, dtype: Float64
WHILE IF I DIRECTLY REQUEST A SINGLE RIC LIKE THIS: start_date = '2018-01-01' end_date = datetime.now() ek.get_timeseries('DEBMF3^2', interval='daily', fields='CLOSE', start_date=start_date, end_date=end_date, calendar='native')
INTERNAL
I GET THE WHOLE TIME SERIES DEBMF3^2 CLOSE Date 2022-03-31 276.54 2022-04-01 278.31 2022-04-04 260.43 2022-04-05 264.99 2022-04-06 267.41 ... 2023-01-24 118.05 2023-01-25 116.34 2023-01-26 116.08 2023-01-27 116.07 2023-01-30 117.83 [215 rows x 1 columns]