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

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
1 0 1 2

Defining Color output StreamingPrices

I would like to know how I could apply color definitions to my StreamingPrices function. for example if the field MKT_HIGH gets updated I want the update to display in green and if MKT_LOW gets updated I want the display to be shown in red. I have seen some information around ASPI color codes but I can't seem to get into the StreamingPrices far enough to adjust it myself.


streaming_prices = rdp.StreamingPrices(

universe = dowjones_constituents,

fields = ['MKT_HIGH','MKT_LOW'],

on_refresh = lambda streaming_price, instrument_name, fields:

display_refreshed_fields(streaming_price, instrument_name, fields),

on_update = lambda streaming_price, instrument_name, fields,:

display_updated_fields(streaming_price, instrument_name, fields),

on_status = lambda streaming_price, instrument_name, status :

display_status(streaming_price, instrument_name, status),

on_complete = lambda streaming_price :

display_complete_snapshot(streaming_price)

)

eikoneikon-data-apiworkspaceworkspace-data-apirefinitiv-dataplatform-eikonpythonstreaming-pricescodebook
icon clock
10 |1500

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

1 Answer

Upvotes
Accepted
20.3k 73 10 20

Hi @simone.da.costa

The StreamingPrices class will just return data back - the format and container type of the data depending on how you access the data.

In terms of how you display the data - that is up to you using python code.

e.g. the display_complete_snapshot() callback I am guessing is the same as in the official examples - so that calls get_snapshot() which returns a Pandas Dataframe - which is then displayed using the display() method. If you want to change the colours on certain conditions, you could use conditional formatting of the Pandas datagram - for example as described in this 3rd party tutorial.

The other callback methods in the above example such as the on_update() callback above, receive a Python dict containing the field values - which are then dumped out to the console.

If you want to update the dataframe each time you get an update, you could map those fields to the existing dataframe and update the relevant cells. OR you could just call get_snapshot() again to get the full dataframe, compare to the existing dataframe and use conditional formatting to change the colours - not tried anything of this - just thinking of the approaches I would consider.

The above is on the assumption that you are using our RDP Examples and want to keep code changes to a minimum.

You could always explore other Data visualisation frameworks to show your data .e.g. Dash or ipysheets - just two of the frameworks I covered in my recent Webinar - see the examples here.

icon clock
10 |1500

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

Click below to post an Idea Post Idea