I am new here, trying to implement EMA to get market pricing data for a list of securities. This list will be updated daily. We will be using Solace topics to subscribe. Can we subscribe to a dynamic list of securities and not currency, if yes, how? Also, can we refresh this list dynamically or will we need to restart the process every morning with a new itemlist?
EMA uses RICs for the symbology when consuming Refinitiv Real-Time data.
From your post, can I assume you are consuming data from a Solace feed - via a Refinitiv RTDS system?
Whilst all of our EMA examples specify the required RIC/RICs at startup - you are free to subscribe to instruments (available on your feed) - as and when required.
You can also close all or individual instruments as and when required.
You can subscribe to an instrument by calling registerClient for one or more instruments
For each valid instrument you subscribe to, a stream is created and each stream is assigned a unique handle.
You will need to store the handle for each item:
UInt64 handle = consumer.registerClient( ReqMsg().serviceName( "MY_FEED" ).name( "IBM.N" ), client )
and then use the handle to unsubscribe each item you no longer require it. e.g.
for Batch requests, the handle would have to be extracted from the on onRefreshMsg() callback for each subscribed instrument, as the handle returned for a batch request will be closed as soon as the batch request is accepted.
EMA Consumer Example 300 demonstrates close for a subscribed item.
You can either