Why Are Rate Changes Sent as Refresh Messages on EMA for Low-Frequency RICs?

Options
SquadTreasury
SquadTreasury Newcomer
edited July 14 in EMA

We are analyzing FX rate data by comparing what we receive from the EMA and SSL channels. During this process, we noticed a difference for some low-frequency RICs, which are updated only a few times a day.

For example, for the RIC 'TRYTDR=CBTA':

  • On the SSL channel, when the rate changes, we receive it as an Update message.Example: On 07-07-2025, for VALUTS1: 12:00:00.0000000, an Update event (ID 316) delivered a BID value of 39.98500. Previous BID: 39.97620
  • On the EMA channel, the same rate change is received through the OnRefreshMsg method.Should we consider this a Refresh message?Example: On 07-07-2025, for VALUTS1: 12:00:00.0000000, a RefreshMsg event delivered a BID value of 39.98500. Previous BID: 39.97620

Our question is:Why are rate changes for low-frequency RICs delivered as Refresh messages on EMA instead of Update messages? Could you help us understand the technical reason for this behavior?

We are open to any guidance or clarification you can provide based on this example.

Answers

  • Hello @SquadTreasury

    The messages are sent by the infrastructure (ADS) and there might be a difference in how RSSL messages are delivered vs the SSL.

    Refresh is a synchronization message, where the application is expected to overwrite its cache contents, while the update message are the deltas to be applied to the existing cache. The infrastructure can send an unsolicited Refresh message at any time if it feels the need to re-synchronize with the subscriber and it should be handled by the application just like a regular refresh message.

  • Jirapongse
    Jirapongse ✭✭✭✭✭

    @SquadTreasury

    In SSL, you need to the check the Marketfeed Message Types in the SSL update messages.

    image.png image.png
    • 340 = Record Response
    • 316 = Update Record
    • 317 = Correct Record
    • 312 = Close Record
    • 318 = Verify Record
  • Thanks for the previous responses. We'd like to clarify our focus:

    We are specifically asking about the EMA channel behavior for low-frequency RICs such as 'TRYTDR=CBTA'.

    In these cases, when a rate change occurs, we observe that the message is delivered via the OnRefreshMsg method, and not as an Update message.

    Is it normal for EMA to send Refresh messages instead of Update messages for such rate changes, even though the price has changed?
    If this is expected behavior, could you please help us understand the technical reasoning behind it?

    Additionally, if this behavior is by design, is there any specific configuration or condition—either in ADS or the source system—that causes EMA to prefer sending a Refresh instead of an Update for these types of RICs?