EikonGetData: Function to obtain data from Eikon. Based on the Eikon python...

View source: R/refinitiv.r

EikonGetDataR Documentation

Function to obtain data from Eikon. Based on the Eikon python function get_data

Description

The function automatically chunks the list of rics into chunks that comply with the api limitations and in the end rebuilds the chunks again into a single data.frame.

Usage

EikonGetData(
  EikonObject,
  rics,
  Eikonformulas,
  Parameters = NULL,
  raw_output = FALSE,
  time_out = 60,
  verbose = FALSE,
  SpaceConvertor = "."
)

Arguments

EikonObject

Eikon object created using EikonConnect function

rics

a vector containing the instrument RICS

Eikonformulas

a vector containing character string of Eikon Formulas

Parameters

a named key value list for setting parameters, Default: NULL

raw_output

to return the raw list by chunk for debugging purposes, default = FALSE

time_out

set the maximum timeout to the Eikon server, default = 60

verbose

boolean, set to true to print out the actual python call with time stamp for debugging.

SpaceConvertor

converts spaces in variables name into one of the following characters ".", "," , "-", "_", default is "."

Details

Currently there is a known bug in the reticulate package with large integers. If a request is made that returns large integers the reticulate package will return -1 for these integers. See also this issue https://github.com/rstudio/reticulate/issues/323 or try for yourself as indicated here https://community.rstudio.com/t/large-integer-conversion-from-python-to-r/82568

Value

a data.frame containing data.from Eikon

References

https://developers.refinitiv.com/eikon-apis/eikon-data-api/docs?content=49692&type=documentation_item

Examples

## Not run: 
Eikon <- Refinitiv::EikonConnect()
ex1 <- EikonGetData(EikonObject = Eikon, rics = c("MMM", "III.L"),
             Eikonformulas = c("TR.PE(Sdate=0D)/*P/E (LTM) - Diluted Excl*/"
             , "TR.CompanyName"), verbose = TRUE)

ex2 <- EikonGetData( EikonObject = Eikon, rics = "AAPL.O"
                   , Eikonformulas = "TR.CompanyMarketCap(Sdate=0D)/*Market Cap*/"
                   )

# ex2 will return -1 which is most likely not the current market cap of apple")
# a workaround is to scale back the output to millions

ex2a <- EikonGetData( EikonObject = Eikon, rics = "AAPL.O"
                   , Eikonformulas = "TR.CompanyMarketCap(Sdate=0D)/*Market Cap*/"
                   , Parameters = list("scale" = 6)
                   )
# or for more complex formula's
# scale back in the formula itself
ex2b <- EikonGetData( EikonObject = Eikon, rics = "AAPL.O"
                   , Eikonformulas = "TR.CompanyMarketCap(Sdate=0D, scale=6)/*Market Cap*/"
                   )

## End(Not run)


## Not run: 
EikonJson <- RefinitivJsonConnect()
ex1 <- EikonGetData(EikonObject = EikonJson, rics = c("MMM", "III.L"),
             Eikonformulas = c("TR.PE(Sdate=0D)/*P/E (LTM) - Diluted Excl*/"
             , "TR.CompanyName"), verbose = TRUE)


## End(Not run)



GreenGrassBlueOcean/RefinitivR documentation built on Feb. 1, 2024, 1:37 a.m.