Missing Fields in EMA – TRDPRC_1, VWAP, VWAP_EXCH, WTD_AVE1

SquadTreasury
SquadTreasury Newcomer
edited April 25 in EMA

We are currently switching from the SSL library to the EMA (Elektron Message API). During this process, we noticed that the following four fields are not available through EMA.

These fields are important for our generate processes:

• TRDPRC_1

• VWAP

• VWAP_EXCH

• WTD_AVE1

We would like to ask:

1. Are these fields available in EMA under different names or field IDs?

2. If they are not available, is there any alternative way to get these values?

(Previously, I submitted a support ticket about this, and the response was to post the question here.)

Screenshot_1.jpg

Answers

  • Jirapongse
    Jirapongse ✭✭✭✭✭

    @SquadTreasury

    Thank you for reaching out to us.

    I found those fields in the data dictionary file (RDMFieldDictionary).

    TRDPRC_1   "LAST"                   6  TRDPRC_2    PRICE              17  REAL64           7
    VWAP       "VWAP"                3404  NULL        PRICE              17  REAL64           7
    VWAP_EXCH  "EXCHANGE VWAP"       4313  NULL        PRICE              17  REAL64           7
    WTD_AVE1   "WTD AVE1"             953  NULL        PRICE              17  REAL64           7
    
    

    Therefore, EMA can handle those fields.

    The availability of fields depends on Markets or Exchanges. The subscribed RICs may not provide those fields.

    What RICs is the application subscribing to?

  • We tested subscribing to the following RICs using the Speed Guide tool:
    •TR020828T0=IS
    •TR040832T10=IS

    On the dates we tested, the following four fields were not present in the EMA response:
    •TRDPRC_1
    •VWAP
    •VWAP_EXCH
    •WTD_AVE1

    However, when querying the same RICs via the SSL library, we observed that these fields were sometimes populated with values.

  • Jirapongse
    Jirapongse ✭✭✭✭✭

    @SquadTreasury

    I used the Cons100 example to subscribe to TR020828T0=IS and I can see those fields.

    RefreshMsg
    streamId="5"
    domain="MarketPrice Domain"
    Solicited
    RefreshComplete
    ClearCache
    state="Open / Ok / None / '****Request Completed'"
    itemGroup="00 01"
    permissionData="03 01 01 64 99 C0"
    qos="RealTime/JustInTimeConflated"
    seqNum="1375"
    name="TR020828T0=IS"
    nameType="1"
    serviceId="5001"
    serviceName="ELEKTRON_DD"
    Payload dataType="FieldList"
    FieldList FieldListNum="89" DictionaryId="1"
    FieldEntry fid="1" name="PROD_PERM" dataType="UInt" value="6499"
    FieldEntry fid="2" name="RDNDISPLAY" dataType="UInt" value="10"
    FieldEntry fid="3" name="DSPLY_NAME" dataType="Rmtes" value="TRSRY-2028/08/02"
    FieldEntry fid="4" name="RDN_EXCHID" dataType="Enum" value="204"
    FieldEntry fid="6" name="TRDPRC_1" dataType="Real" value="(blank data)"
    FieldEntry fid="7" name="TRDPRC_2" dataType="Real" value="(blank data)"
    FieldEntry fid="8" name="TRDPRC_3" dataType="Real" value="(blank data)" … FieldEntry fid="3404" name="VWAP" dataType="Real" value="(blank data)"FieldEntry fid="4313" name="VWAP_EXCH" dataType="Real" value="(blank data)" ... FieldEntry fid="953" name="WTD_AVE1" dataType="Real" value="(blank data)"

    The current values are blank.

    You can enable tracing in the EMA by using the XmlTraceToFile or XmlTraceToStdout configuration in a Consumer. For example:

    <DefaultConsumer value="Consumer_1"/>
    <ConsumerList>
    	<Consumer>	
    		<Name value="Consumer_1"/>		
    		<Channel value="Channel_1"/>
    		<Logger value="Logger_1"/>
    		<Dictionary value="Dictionary_1"/>
    		<XmlTraceToFile value="0"/>
    	</Consumer>
    

    We can verify the data from the trace file.