How can I tell which fields are available for the given RICs using the Eikon API to pull timeseries

Hello API Experts,

We have a client asking how can he tell which fields are available for a given RIC using the Eikon API to pull timeseries data. Client said he is using the eikonapir package in R. Please see the attached sample code that the client sent.


Thank you and looking forward to your feedback on this.


Regards,

Kristopher Latonero

Specialist, Trading & Banking Workflow Support

Refinitiv



library(tidyverse)

library(eikonapir)


eikonapir::set_proxy_port(9001L)


readRenviron("~/.Renviron")

eikon_key <- Sys.getenv("eikon_key")

eikonapir::set_app_id(eikon_key)


eikon_start_date <- function(num_years) {

format(floor_date(Sys.Date() - years({{ num_years }}), unit = "year"), "%Y-%m-%dT00:00:00")

}

eikon_end_date <- format(Sys.Date(), "%Y-%m-%dT00:00:00")


make_df_eikon <- function(RIC) {

eikonapir::get_timeseries(

rics = list({{ RIC }}),

fields = select(filter(rics_to_load, RIC == {{ RIC }}), fields)[[1]] |> list_flatten(),

start_date = rics_to_load |> filter(RIC == {{ RIC }}) |> pull(hist_start_date),

end_date = eikon_end_date,

interval = rics_to_load |> filter(RIC == {{ RIC }}) |> pull(interval),

normalize = TRUE

)

}


rics_to_load <-

tribble(

~RIC, ~description, ~hist_start_date, ~interval, ~fields,

"SOY-CTILL-US", "Soybean.Oil.Basis.CBOT.Central.Illinois.US.FOB", eikon_start_date(2), "daily", list("TIMESTAMP", "CLOSE", "CONTR_MNTH"),

"SOY-USGNL-US", "US Cash Soyoil Basis US Gulf, NOLA Cash Prices", eikon_start_date(2), "daily",list("TIMESTAMP", "CLOSE", "CONTR_MNTH"),

"S-BRZPAR-H", "Yellow Soybean FOB Paranagua Mar", eikon_start_date(1), "daily", list("TIMESTAMP", "CLOSE", "ASK-BASIS","BID_BASIS","COM_BASIS","ORTS_ASK","ORTS_BID","ORTS_BID"),

"SYB-2YNOLAF-P4", "Yellow Soybean No 2 New Orleans US FOB Position 4", eikon_start_date(1), "daily", list("TIMESTAMP", "CLOSE", "CONTR_MNTH")

)


raw_px_eikon <- map_dfr(

set_names(rics_to_load$RIC),

~ make_df_eikon(.x),

.id = "RIC"

) |>

left_join(rics_to_load |> select(RIC, description), by = "RIC") |>

arrange(desc(Date))


View(raw_px_eikon)


Best Answer

  • Jirapongse
    Answer ✓

    @Kristopher

    Thank you for reaching out to us.

    If you specify list("*") to the field property, the API will return all available fields. 1692582378200.png

    Typically, the get_timeseries method returns the Open, High, Low, and Close fields.