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)

)

Best Answer

  • umer.nalla
    Answer ✓

    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.