For a deeper look into our Elektron API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
11 1 0 4

Python WebSocket Code on RTO - Would it work on RTMDS over WebSocket

We have a client that is currently using Python API to connect to RTO on AWS and generating json files as output for real-time data. They are now evaluating to move the workflow from AWS to on prem RTMDS setup where they have access to 2 ADS servers over private comms. The RTMDS setup is WebSocket enabled.

Client wants clarification on the following:

- Whether the same python code can be used to subscribe to real-time data via ADS over WebSocket. Client would like to lift and shift the workload to on prem setup with minimal changes and no additional development.

- If they connect via WebSocket to ADS would they get full tick or still be limited to conflated (3 updates per second) data.

- Do we recommend client moving to EMA to connect to ADS or they can continue using WebSocket.

- If existing code cannot be used, would new development be needed to connect to ADS over WebSocket. Where can they start for this.

#technologytreppython apiwebsocketsrrtoADS
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
Accepted
27.2k 65 17 14

Hello @MayurC

Thank you for contacting us. The client is using the WebSocket API connects to RTO, and the client have a plan to migrate to RTMDS, am I correct?

Please see my answers below:

Question 1: Whether the same python code can be used to subscribe to real-time data via ADS over WebSocket. Client would like to lift and shift the workload to on prem setup with minimal changes and no additional development.

Question 2: If existing code cannot be used, would new development be needed to connect to ADS over WebSocket. Where can they start for this.

Answer:

These questions can be answered together.

The current code that connects with RTO cannot be used to connect to RTDS/RTMDS "as is".

  • The code needs a modification on the connection logic
  • the subscription and other logics (such as ping-pong or business logic) are the same.

In short, the RTDS/RTMDS connection does not require the HTTP authentication with RDP anymore, an application just sends the DACS username with the WebSocket JSON login request message. An application also does not need to manage the Authentication Token too.

The client can find the step-by-step tutorial of the RTDS/RTMDS connection from the following resources:

websocket-examples.png



icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
27.2k 65 17 14

Cont.

Question 3: If they connect via WebSocket to ADS, would they get full tick or still be limited to conflated (3 updates per second) data

Answer:

The RTDS can provide full tick data for consumers. However, it is also based on the feed and service that the client is subscribe to. I strongly suggest you contact the RTMDS team to confirm this information.

Question 4: Do we recommend client moving to EMA to connect to ADS or they can continue using WebSocket

Answer:

It is depending on the client's requirements.

The EMA API manages connection, subscription, and session for an application. It supports the API logging, configuration file, and much more. However, an application needs to install the EMA and its dependencies on the consumer application machine. The API also supports only C++, C#, and Java languages.

The EMA API supports the WebSocket connection and the RSSL connection to ADS. The RSSL is Refinitiv proprietary TCP-based connection that encode/decode data in binary format.

  • The RSSL connection is designed for high-performance data distribution because the message size is smaller than the JSON WebSocket API
  • The WebSocket connection is designed for easy to parse message

The pure WebSocket API supports various programming languages.

Like I said above, it is based on the client's requirements. The client can find more detail on this Choosing a Real-time Streaming API article.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
11 1 0 4

Appreciate the response @wasin.w.

You mentioned 'The RTDS can provide full tick data for consumers.' Is this applicable over WebSocket as well. I see that WebSocket port/feed on RTDS, by default is Conflated, 300ms, trade safe data (screenshot below). Is there a way to confirm if WebSocket will be able to deliver Full Tick data or client will have to move to EMA and connect via ERT.

1723015102678.png


1723015102678.png (88.3 KiB)
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Hello @MayurC

It is depending on the RTMDS, so I strongly suggest you contact the RTMDS support team.

You can contact the team via https://myaccount.lseg.com/en/productsupport website.

contact-rtmds-support.png

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.