...es data?
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)