For a deeper look into our Elektron API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles


1 0 2 6

What are the meaning of the fields "SALTIM_MS", "QUOTIM_MS"

I saw the below link.

But I can't understand the difference between "SALTIM_MS" and "QUOTIM_MS".

I find out that the "SALTIM_MS", "QUOTIM_MS" seems to be appeared together at each trade data.

Can you explain these fields clearly??

I wrote a test code

import java.time.Instant;
import java.time.OffsetDateTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;

import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;

public class JustTestTest {

private final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS.ZZZ");

public void test1(){

// test case 1)
// "SALTIM_MS":"74190165" "QUOTIM_MS":"59062944"
OffsetDateTime saltim_ms1 = processMilliSecondField("74190165");
OffsetDateTime quotim_ms1 = processMilliSecondField("59062944");
String string1 = formatString(saltim_ms1.format(formatter), quotim_ms1.format(formatter));

// test case 2)
// "SALTIM_MS":"75014899" "QUOTIM_MS":"75017913"
OffsetDateTime saltim_ms2 = processMilliSecondField("75014899");
OffsetDateTime quotim_ms2 = processMilliSecondField("75017913");
String string2 = formatString(saltim_ms2.format(formatter), quotim_ms2.format(formatter));

// test case 3)
// "SALTIM_MS":"74828357" "QUOTIM_MS":"75000573"
OffsetDateTime saltim_ms3 = processMilliSecondField("74828357");
OffsetDateTime quotim_ms3 = processMilliSecondField("75000573");
String string3 = formatString(saltim_ms3.format(formatter), quotim_ms3.format(formatter));


public  OffsetDateTime processMilliSecondField(String timeStr){
OffsetDateTime serverTodayUTCMilli ="Etc/UTC"))

long timeMilli = Long.parseLong(timeStr);
Long tradeMilli = serverTodayUTCMilli.toInstant().toEpochMilli() + timeMilli;
OffsetDateTime offsetDateTime = OffsetDateTime.ofInstant(Instant.ofEpochMilli(tradeMilli), ZoneOffset.UTC);
return offsetDateTime;

public String formatString (String saltim_ms, String quotim_ms){
StringBuilder builder = new StringBuilder();
builder.append("SALTIM_MS = ").append(saltim_ms).append(", ")
.append("QUOTIM_MS = ").append(quotim_ms).append(".");
return builder.toString();


And. I ran it, the result is like below text.

SALTIM_MS = 2022-03-01T20:36:30.165.+0000, QUOTIM_MS = 2022-03-01T16:24:22.944.+0000.

SALTIM_MS = 2022-03-01T20:50:14.899.+0000, QUOTIM_MS = 2022-03-01T20:50:17.913.+0000.

SALTIM_MS = 2022-03-01T20:47:08.357.+0000, QUOTIM_MS = 2022-03-01T20:50:00.573.+0000.

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.

47.2k 110 44 60


The followings are the definitions of SALTIM_MS and QUOTIM_MS in the data dictionary file (RDMFieldDictionary)

SALTIM_MS  "SALTIM MS"           3854  NULL        INTEGER            15  UINT64           4
! Time of the last trade with precision in milliseconds - the time of the last update 
! to the field TRDPRC_1 (FID 6).
QUOTIM_MS  "QUOTIM MS"           3855  NULL        INTEGER            15  UINT64           4
! Time of best bid/ask quote update in milliseconds

However, the usages may be different among exchanges. You can contact the content support team directly via MyRefinitiv to verify the definitions in each exchange.

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.

15.1k 28 8 12

Hello @goodsgjung

There is a Data Model Discovery tool (or you can access it via this link) that lets you search the fields and fids detail of each market. However, you can contact the content support team directly as mentioned by my colleague to get more detail too.

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.