question

Upvotes
Accepted
1 0 0 1

How do we use Eikon API or RDP to pull the ICE TTF forward curve for any given settlement date please?

For example, it seemed like RDP is the easier option as it works if we use rd.get_history('0#.FTSE'), but if it is rd.get_history('0#TFMBM:') then I get error "No data to return"...


Asking on behalf of client, thanks.

eikon-data-apirefinitiv-dataplatform-eikonrdp
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.

Upvotes
Accepted
56.1k 145 45 65

@candice.ting

It looks like the rd.get_history method is unable to expand this chain RIC (0#TFMBM:). We need to find a way to expand this RIC. If the client uses a desktop session, the client can use ek.get_data method to expand this chain RIC.

import refinitive.data.icon as ek
 ek.set_app_key('<app key>')
df, err = ek.get_data(['0#TFMBM:'], ['DSPLY_NAME']);

The output is:

1657162123516.png

Then, I removed '/' from RICs and sent the list to the rd.get_history method.

instrument_list = df["Instrument"]
instrument_list = map( lambda x: x if x[0]!='/' else x[1:], instrument_list)
instrument_list = list(instrument_list)
rd.get_history(universe=instrument_list)

The output is:

1657162311748.png



1657162123516.png (9.3 KiB)
1657162311748.png (33.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.

Hi Jirapongse,

Thank you for your answer. Can you also help incorporate the function to include start/end date parameters so user can specify the date range himself?


Thank you again,

Candice

Upvotes
56.1k 145 45 65

@candice.ting

The client can run help(rd.get_history) to see the available parameters of this method.

Parameters
    ----------
        universe: str | list
            instruments to request.
        fields: str | list, optional
            fields to request.
        interval: str, optional
            The consolidation interval. Supported intervals are:
            tick, tas, taq, minute, 1min, 5min, 10min, 30min, 60min, hourly, 1h, daily,
            1d, 1D, 7D, 7d, weekly, 1W, monthly, 1M, quarterly, 3M, 6M, yearly, 1Y
        start: str or date or datetime or timedelta, optional
            The start date and timestamp of the query in ISO8601 with UTC only
        end: str or date or datetime or timedelta, optional
            The end date and timestamp of the query in ISO8601 with UTC only
        adjustments : str, optional
            The adjustment
        count : int, optional
            The maximum number of data returned. Values range: 1 - 10000
        use_field_names_in_headers : bool, optional
            Return field name in headers instead of title
    
    Returns
    -------
    pandas.DataFrame
    
     Examples
    --------
    >>> get_history(universe="GOOG.O")
    >>> get_history(universe="GOOG.O", fields="tr.Revenue", interval="1Y")
    >>> get_history(
    ...     universe="GOOG.O",
    ...     fields=["BID", "ASK", "tr.Revenue"],
    ...     interval="1Y",
    ...     start="2015-01-01",
    ...     end="2020-10-01",
    ... )

To specify the date range, the client can use the start and end parameters. For example:

rd.get_history(universe=instrument_list, start="2022-06-01", end="2022-06-30")

The output is:

1657247654974.png


1657247654974.png (41.9 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.