Hi TR tech team,
I would like to know if it would be possible to access programatically (i.e. via your APIs, more specifically via the Python API) some specific data:
Asset classes: ETFs like SPY and Futures like ES, EUROSTOXX, DAX, YM...
Data needs: We need REAL-TIME tick-by-tick times and sales data (executed orders size, timestamp, price and direction). An example would be: at 10:22:23.313 a SELL order with lot size 5 was executed at price 230 > 10:22:23.213 - SELL - 5 - 230. Some vendors display this information BUT they don't have the SIDE flag (i.e. SELL or BUY).
API: We would primarily want to do all in python and linux (data retrieval, data processing, orders sending — we know that you have a Python API). Our business model is pure consultancy, so we need to know if the requested "data type and feed" is available in order to then create a solution based on the client requirements.
¿Is this doable? Please, if you could confirm that this kind and type of data is accesible via the python API and for the majority of the assets gathered into the asset classes noted above it would be awesome.
Also, ¿is there any other option or product like WebSockets via Python to access this kind of data? Help to dig more is much appreciated.
Many thanks in advance,
@Ezar11, just a few more details that you might find useful:
Nature of the TRTH API, programming languages
The TRTH API is a RESTful API. As such, it is language agnostic, you can use any language you want to access it. We do not have a "Python API" per se, but Python can be used to interface with TRTH, and we deliver a few samples to illustrate this. We also deliver samples in Java, as well as C# (they use the TRTH .Net SDK, which is the only language specific extension we deliver). We also have a set of samples in pure HTTP (using Postman); these show the API calls, which you can then recreate in the language of your choice. There are also some articles on using Go and R.
"Real-time" tick data
TRTH allows requesting tick data, as described in REST API tutorial 4. This is historical tick data, i.e. you get all the ticks (quotes, trades) for a date range in the past. TRTH does not deliver streaming data in real-time (i.e. events as and when they occur on the market), for that you'd need to look at the Elektron APIs.
Available TRTH tick data fields
The REST API tutorial 4 sample only shows a few fields out of a wide range of available ones. To find out exactly which fields are available, and for which asset classes, you can refer to the TRTH data dictionary. In tab "Field Descriptions", filter column C on "Tick History Time and Sales" (that is the tick data). Column D lists all the available fields, columns O to AH list availability by asset class.
BUY and SELL
I'm not a financial specialist, but I am a bit intrigued by the notion of side for a trade. For a quote the notion of buy / sell is obvious, but for every trade there is a seller and a buyer, so having a side flag on a trade implies a referential. In the TRTH data dictionary I filtered column D on fields containing either "sell" or "buy"; in the fields we deliver you will find the Seller and Buyer IDs, as well as the total sell and buy value and volume:
Would that be of help for your use case ?
As suggested by Alex, this topic should be discussed with a financial product specialist, as this is beyond the (mainly) technical expertise of the forum moderators.
Based on your data requirements and technology stack it appears that Refinitiv product that best suits your use case is TRTH. You may want to look at this tutorial for an idea of what the interface looks like. However data requirements and technology stack are not the only variables. Other variables one needs to consider when selecting a product include data licensing and commercials.
I suggest you reach out to Refinitiv Sales Team, who will be happy to help you select the product that best fits your use case from all angles. I also suggest that you confirm with the sales team that whatever product they recommend has all the data that you require.
Thanks for your quick response.
Firstly to say, I'm here exactly because the Sales Team directed me here to get answers to my "technical" questions. Sure about that there are other variables in play, but I would like to firstly know about if the data I want is present.
I have gone through the TRTH technology but as I see, it is historical tick-data and I don't see the word real-time anywhere in the documentation. So, ¿is TRTH the product I'm looking for or might be a confusion?
Furthermore, however it seems that it is not the most optimal product, it seems that times and sales data is available. There is a flag/field called Type. As I'm not a TRTH product and I cannot pass the auth step so that I can check if there is a field that gives information about if the TRADE was a SELL or a BUY, ¿could you please give me that information or direct me to where I can find the answer and check the different fields?
This forum is indeed the best resource for technical questions related to using Refinitiv APIs. What you're asking about is the confirmation of data availability in a specific product or a product recommendation based on your data requirements. Moderators on this forum do not have deep expertise in every type of content available through various Refinitiv products to provide authoritative answers to whether very specific piece of content is or isn't available thorough a particular product. Refinitiv Sales Team can confirm this for you.
Thank you so much for the time and the detailed response.
So, to summarize what you have said:
1) REST API is perfect. My question was previous to finding the type of API you used. Furthermore, there is a WebSocket based Elektron API, which is in fact what we may need (we need real-time, no historical data).
2) Data fields. I see. You intrigue is normal. Let me state it again so that you understand it (I have already forwarded this to the Sales Team and I'm waiting for the answer). The idea with the SIDE of the trade is to know the AGGRESSOR (i.e. the participant that submitted the market order-like type) and to dissect if it is a BUYER or a SELLER. Just knowing if the aggressor side was a buy or a sell would be sufficient; no need to have an associated ID. I will explain this to the Sales Team so that we can see if that is possible actually.
As said, many thanks for trying to help as much as possible.