question

Upvotes
Accepted
56.3k 145 45 65

In RFA and UPA, can we check if the time field contains high precision timestamp before decoding? (from MiFID II Webinar Sep 27)

In RFA and UPA, can we check if the time field contains high precision timestamp before decoding? Therefore, I can skip decoding that field. Using try/catch will hurt performance of the application.

elektronrefinitiv-realtimetreprfarfa-apimifidupa
icon clock
10 |1500

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

Upvotes
Accepted
478 4 2 3

To add to this, here are different valid encoded lengths:

2 bytes: hour, minute

3 bytes: hour, minute, second

5 bytes: hour, minute, second, millisecond

Everything above (2, 3, 5 byte encodings) can be handled by all supported versions of RFA, UPA/ETA, and EMA.

7 bytes: hour, minute, second, millisecond, and microsecond

8 byte: hour, minute, second, millisecond, microsecond, and nanosecond.

7 and 8 byte encodings can be handled by RFA8, UPA8 or higher, and all versions of Elektron SDK (ETA and EMA)

icon clock
10 |1500

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

Upvotes
11.3k 25 8 14

You can verify the type of field and its encoded length. If the field is time and its encoded length is 8, the time will contain nanoseconds precision. Then, the application can skip decoding this field.

This question was first asked in a MiFID IIwebinar (27th of Sep). Please see here: Introduction to MiFID II for Developers

icon clock
10 |1500

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