ETA Quick Start
|Last update||May 2018|
|Compilers||Tutorial demonstration: Visual Studio 2017, gcc 4.4.7 (RedHat)
Refer to the ETA Compiler Guides for a complete list
|Prerequisites||Setup your build environment as outlined in the ESDK Build System.
Access to an existing TREP or Elektron platform to retrieve content
The goal of this Getting Started tutorial is to provide the developer the steps required to execute an Elektron Transport API (ETA) sample application within their environment. The ETA API is a sub-component of the ESDK (Elektron SDK) package that includes a number of examples available to test specific functionality. For our purposes, the goal is to walk through the procedure to specify the connection details to access your market data environment to connect and retrieve market data content.
The tutorial will cover both Linux and Windows environments.
Select the consumer sample
Once you've completed the pre-requisite steps to build the necessary project files for your environment, as outlined within the ESDK Build System guide, navigate to the VAConsumer consumer sample. This sample demonstrates the retrieval of market data from Elektron.
Note: your compiler directory may differ than the selection below.
Running the consumer
To successfully run this example, the following is required:
- Server connection details
- Service providing market data
You will need to reach out to your market data team to get this required information.
The Refinitiv Enterprise Platform (TREP) or the Refinitiv Elektron platform are services that will demonstrate the retrieval of market data. The VAConsumer example is functionally very rich, providing many features of an ETA consumer. The sample does not utilize any configuration file but rather uses the command line to specify configuration. For our purposes, we simply need to specify our market data server, and the data we wish to consume. Within the project readme file, contains the details to run the example. The project readme is located under the Applications directory for both Windows and Linux, i.e.
We will be using only the minimum parameters to pull out the necessary data, i.e.
> VAConsumer -tcp <server>:<port> <service> mp:<RIC>
The server and service are values you will need to acquire from your market data team. Once determined, we specify the Reuters Instrument Code (RIC) called: AAPL.O. For example, this test is using a server called elektron on port 14002 using the service called: ELEKTRON_AD.
> VAConsumer -tcp elekron:14002 ELEKTRON_AD mp:AAPL.O
Running on either Windows or Linux, the output includes some initial information and some details related to the service we are connected followed by our market data output. The first update is our initial image containing all fields containing the latest up-to-date values. Following this image, we will begin to see updates reflecting changes in the market.
> VAConsumer.exe -tcp elektron:14002 ELEKTRON_AD mp:AAPL.O Connections: elektron:14002 ELEKTRON_AD MarketPriceItems: AAPL.O MarketByOrderItems: MarketByPriceItems: YieldCurveItems: MarketPriceItems (Private Stream): MarketByOrderItems (Private Stream): MarketByPriceItems (Private Stream): YieldCurveItems (Private Stream): Unable to load field dictionary. Will attempt to download from provider. Error Text: Can't open file: 'RDMFieldDictionary'. Unable to load enum type dictionary. Will attempt to download from provider. Error Text: Can't open file: 'enumtype.def'. Adding connection to elektron:14002... Connection up! Channel fd=500 Received Login Response State: Open/Ok/None - text: "Login accepted by host cil-ads2." Received Source Directory Response: State: Open/Ok/None - text: "" Received serviceName: DDN_SSL Received serviceName: ELEKTRON_AD Service State: Up Received serviceName: DDN_RDF Received serviceName: EZD_RSSL Received serviceName: EZD_SSL Received Dictionary Response: RWFFld Field Dictionary complete. Received Dictionary Response: RWFEnum Enumerated Types Dictionary complete. (Channel 500): AAPL.O DOMAIN: RSSL_DMT_MARKET_PRICE State: Open/Ok/None - text: "All is well" PROD_PERM 74 RDNDISPLAY 66 DSPLY_NAME APPLE INC RDN_EXCHID (0) TRDPRC_1 189.47 TRDPRC_2 189.47 TRDPRC_3 189.47 TRDPRC_4 189.465000 TRDPRC_5 189.465000 NETCHNG_1 1.32 HIGH_1 189.65 LOW_1 187.65 PRCTCK_1 (1) CURRENCY USD(840) TRADE_DATE 25 MAY 2018 TRDTIM_1 17:09:00:000:000:000 OPEN_PRC 188.23 HST_CLOSE 188.15 BID 189.47 BID_1 189.47 BID_2 189.47 ASK 189.48 ASK_1 189.48 ASK_2 189.48 NEWS YYYY NEWS_TIME 16:56:19:000:000:000 BIDSIZE 3 ASKSIZE 4 ACVOL_1 10070113 EARNINGS 10.8539 YIELD 1.5520 ... QUOTIM_MS 61780668 QUOTIM 17:09:40:000:000:000 ORDRECV_MS 17:09:40:667:000:000 ORDREC2_MS <blank data> (Channel 500): AAPL.O DOMAIN: RSSL_DMT_MARKET_PRICE UPDATE TYPE: 1 BID 189.47 ASK 189.48 BIDSIZE 4 ASKSIZE 4 BIDFINMMID <blank data> ASKFINMMID <blank data> BIDXID DEX(13) ASKXID BAT(217) BID_COND_N R ASK_COND_N R BID_MMID1 DEX ASK_MMID1 BAT GV1_TEXT A LIMIT_INDQ BOE(25) SEQNUM_QT 12173593 PRC_QL_CD (0) PRC_QL3 (0) QTE_ORIGIN GV1_FLAG NBBO_IND 6 (5) QUOTIM_MS 61780668 QUOTIM 17:09:40:000:000:000 ORDRECV_MS 17:09:40:668:000:000 ORDREC2_MS <blank data>
Once you have successfully completed the steps above, you can further your learning by following the series of ETA tutorials.