I am looking to write an application that reads Nasdaq and NYSE imbalances. I am completely new to TR APIs. Ideally sample code would be tremendously helpful. How do I subscribe to those data and where do I get list of fields/etc. I downloaded "DaatApiUsageExampleRealtimeData" Can libraries in this sample used to accomplish what I am trying to do?
The two example you mention above consume Elektron realtime data from a realtime service. To access an Elektron real time service you need to connect to a server. This is normally an ADS (Advanced Distribution Server) which is a TREP (Thomson Reuters Enterprise Platform) component - either onsite at your organisation or a hosted remote location.
We are also moving to offering Elektron Realtime in the Cloud.
So for the above EMA Java sample you would need to connect to an ADS server. With the Websocket API you currently have the option to connect to an ADS server or ERT in the Cloud as described on the Websocket Quick Start page.
In terms of Eikon APIs for example, the Eikon .NET API does also allow you to access realtime data (as well as other content type) as demonstrated on the Eikon .NET APIs Tutorials page - this is done (behind the scenes) using your Eikon connectivity.
The DataApiUsageExampleRealtimeData you mention is associated with our Eikon API. You would require an Eikon desktop installation and licence in order to develop + run your the Eikon API based application.
You have, however, posted this question in the Elektron EMA section. EMA is an API used to consume data from our realtime Elektron data feed.
If your intention is to write a standalone application that consumes realtime data from our Elektron feed, then EMA is the recommended API.
The first step, would be to identify which RIC codes (symbol names) will provide you with the required data from the Elektron feed. For this, I would recommend you contact our Content Helpdesk do discuss your data requirements where a content specialist will help you identify which RIC codes you need to consume and also which Fields you would need to focus on.
Once you have identified which Elektron RICs (and Fields) you need to consume, I would recommend you work through our EMA tutorials Elektron SDK Java Tutorials
IF C++ is your language of choice, you will also find similar tutorials under the Elektron SDK C++ section. If, however, you are interested in other web type technologies, you should navigate to the interactive documentation and examples for the Websocket API from the link below:
For all the above APIs, I would recommend you work through the relevant Quick Start section before proceeding to the Tutorials / examples / documentation.
Finally, if your intention is to develop an Eikon application, please respond and we can move this query to the Eikon API section.
Thank you for your detailed response. Here's some clarification.
1. I will be the main user/developer. I need something that is reliable and works and hopefully EASY to build.
2. I'd like to use C# for API if possible (or JAVA but C# is preferred)
3. The user running this application will have Eikon terminal.
4. I am thinking of simple desktop application that reads/analyzes and displays data.
Which API will be easier/preferable in this case?
What would be pros and cons of choosing Eikon api vs Elektron api?
Is there any extra cost for running Elektron Api application over Eikon api app?
If the users running your application will be Eikon users then it would make sense to use one of our Eikon APIs - for better integration with Eikon desktop etc.
If you refer to our Eikon APIs overview page - you will note that we have a .NET and COM API which would a meet your C# preference.
The other thing to bear in mind is that the Elektron APIs can consume realtime tick data - whereas the Eikon APIs can access more of the richer content available via the Eikon desktop.
If however, you want to develop a standalone application which runs as a separate process then Elektron SDK would be a better choice.
The Elektron APIs are more performant than the Eikon APIs - but in the context of a front end application, user interaction times often make this a moot point.
I could move this question over to the Eikon forum, but think it would be better create a new post on the Eikon forum with any Eikon specific questions - in case you need to come back with any Elektron related questions.
There is no charge for developing and running Elektron API based products - other than the cost of the data consumed (and the optional Premium Support service for you as the developer).
Does Elektron require some services for it to work? (I have eikon terminal locally and nothing else)
1. SpeedGuide.exe flashes window and disappear.
SpeedGuide --host=elektron:14002 --service=ELEKTRON_AD --user=testuser
Error: Could not find or load main class SpeedGuide.jar
Caused by: java.lang.ClassNotFoundException: SpeedGuide.jar
2. c:\Elektron\emaj-consumer>runConsumer.bat 2
Running tutorial 2...
Dec 20, 2018 9:22:09 AM com.thomsonreuters.ema.access.ChannelCallbackClient reactorChannelEventCallback
Text: Received ChannelDownReconnecting event on channel Channel
RsslReactor Channel is null
Error Id 0
Internal sysError 0
Error Location null
Error text java.nio.channels.UnresolvedAddressException
I don't know exactly which data you require so it could well be that particular content it is not available via Eikon API. Also, there are licensing restrictions as to what you can do with data accessed via Eikon API - so it could be that.
For C# we recommend you use the Websocket API - it is pretty much language agnostic - as long the language has Websocket support. Once you download the Websocket Examples - you will see there is a folder with some C# examples.
Also, as mentioned above - with the Websocket API you can use our ERT in the Cloud offering - if you don't have a local or hosted TREP environment available to you.