Upgrade from Eikon -> Workspace. Learn about programming differences.

For a deeper look into our Eikon Data API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
1 0 1 1

Inhouse service with StramingPrices

Hi,

I am trying to get a streaming feed from an inhouse source with the eikon.StreamingPrices function but it doesn't seem to work.

When I specify service = 'MYSOURCE' I don't get any update or data on the feed. The only service I manage to get data from is 'IDN_RDF'.

When I use RtGet in Excel I manage to get the feed from 'MYSOURCE' and the feed is updated.

Is there any limitation that I didn't understand with eikon.StreamingPrices ?

#Works fine

streaming_prices = ek.StreamingPrices(

instruments = ['EURCAD='],

fields = ['BID', 'ASK'],

service = "IDN_RDF",

on_update = lambda streaming_price, instrument_name, fields :

print("Update received for {}: {}".format(instrument_name, fields))

)

#Don't get any update while being updated when I check with RtGet in Excel

streaming_prices = ek.StreamingPrices(

instruments = ['MyRic'],

fields = ['MyField'],

service = "MYSOURCE",

on_update = lambda streaming_price, instrument_name, fields :

print("Update received for {}: {}".format(instrument_name, fields))

)

Thanks for your help,

Best,

Florent

eikoneikon-data-apipythonrefinitiv-dataplatform-eikonworkspaceworkspace-data-apistreaming-prices
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.

1 Answer

· Write an Answer
Upvotes
Accepted
81.3k 266 53 76

@Florent.E

I have verified the problem by enabling Eikon Data API Python logging.

import logging
logger = logging.getLogger('pyeikon')
logger.setLevel(5) 

When subscribing to the Inhouse service, it shows the following error ('Cannot send request to ADS'):

2020-09-25 15:46:05,563 P[14860] [MainThread 2816] Open asynchronously StreamingSinglePrice 15 to CNY=
2020-09-25 15:46:05,563 P[14860] [MainThread 2816] Open asynchronously ItemStream 15 to CNY=
2020-09-25 15:46:05,564 P[14860] [MainThread 2816] Open asynchronously Stream 15
2020-09-25 15:46:05,564 P[14860] [MainThread 2816] Subscribe to DIRET_FEED:CNY= on ['BID']
2020-09-25 15:46:05,731 P[14860] [WebSocket 0 20812] Receive message from Web Socket
2020-09-25 15:46:05,732 P[14860] [WebSocket 0 20812] Receive message for stream 15: {'ID': 15, 'State': {'Code': 'ConnectionError', 'Data': 'Suspect', 'Stream': 'Closed', 'Text': 'Cannot send request to ADS'}, 'Type': 'Status'}
2020-09-25 15:46:05,732 P[14860] [WebSocket 0 20812] Received status message:
   {'Code': 'ConnectionError', 'Data': 'Suspect', 'Stream': 'Closed', 'Text': 'Cannot send request to ADS'}

When using "IDN_RDF" service, the active item in ADS is still not the same. Therefore, I assume that Eikon Data API streaming doesn't connect to the local ADS to consume real-time data.

However, I assume you have configured Eikon to connect to the local ADS in order to consume the inhouse service. In this case, if the local ADS supports WebSocket connection, you can use the WebSocket API to consume real-time data from the local ADS.




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.

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.