Mariner Backtesting - MUTS

Time in CloudQuant is kept in MUTS (Microsecond Unix TimeStamp)

(microseconds unix timestamp) Overview:

Time in CloudQuant is kept in MUTS (Microsecond Unix TimeStamp). It's a timestamp with microsecond precision that can be compared directly to other timestamps, and passed to other CloudQuant functions that want a timestamp.

What is Unix (Epoch) Time (and UTC)?

Unix time (or "epoch time") is the number of seconds that have elapsed since the Unix epoch, January 1, 1970, 00:00:00, Universal Coordinated Time (UTC, similar to GMT) not counting the 37+ leap seconds that have been added since the epoch. The curious can experiment with it directly, and Linux users can see it by running date +%s

Epoch times are always in UTC rather than in a geographically specific timezone like US/Eastern. Like UTC they do not observe daylight savings time, and are commonly used to homogenize timestamps for events that occur across time zones so that they can be compared directly, such as stock trading timestamps across international exchanges.

Working with seconds is unfamiliar to some; so here are some examples:

Human readable time Seconds Those seconds as epoch time would mean
1 hour 3,600 1970-01-01 01:00:00 UTC
1 day 86,400 1970-01-02 00:00:00 UTC
1 week 604,800 1970-01-08 00:00:00 UTC
1 month (30.44 days) 2,629,743 1970-01-31 10:29:03 UTC
1 year (365.24 days) 31,556,926 1971-01-01 05:48:46 UTC
How is MUTS different from epoch time?

MUTS is the number of microseconds since the epoch and so has six more digits on the end.

  • 1483250400 -- 2017-01-01, 00:00:00 (US/Central) in epoch time.
  • 1483250400000000 -- The same, in MUTS.
Examples
 service.system_time # change md.now

md.market_open_time # replace  - _muts with _time from function to read only
md.market_open_time = 1438373015868000
md.market_close_time # replace  - _muts with _time from function to read only

md.L1.timestamp # event_time
md.L1.minute_start_timestamp

md.nyse_imb.timestamp # change if they exist .event_time
md.arca_imb.timestamp # change .event_time
md.nasdaq_imb.timestamp # change .event_time

event.timestamp
Related Links: Remarks:
  • Examples - md.L1.timestamp, service.system_time
  • All named as .timestamp except for service.system_time