US Futures Multiple Depth Guide                                                                                        


US Futures Multiple Depth Guide

version 2.2 (Jul 2021)

CONTACT US

We are here to help you do great things with our market and reference data. For questions, feedback, and other concerns, you may reach our team of experts using the following contact information:

algoseek customer support

support@algoseek.com

(+1) 646 583 1832

algoseek sales

sales@algoseek.com

(+1) 646 583 1832

TABLE OF CONTENTS

INTRODUCTION        4

DATA ORGANIZATION AND FILE FORMAT        4

TIMESTAMP AND MAINTENANCE PERIODS        7


INTRODUCTION

This document describes the format for algoseek’s Futures and Spreads Market Depth data from US exchanges. The data includes 10 levels of the order book for all bids and asks (including sizes).

The contract specifications such as underlying asset, the quantity of the asset or contract size, expiration months, delivery location, and the delivery date upon execution can be found on the US futures products list, which is available at the following link: http://www.cmegroup.com/trading/products/.

Market Depth Data

algoseek's service allows clients to query data by date for each trading session which spans an entire week. The dates of the session are cut using UTC time. For example, all messages with UTC timestamp for 2014-03-12 will be posted under the 2014-03-12 date.

It is also possible to have multiple snapshots for the same millisecond resolution of very actively traded instruments as updates are delivered upon completion of the incremental FIX batch book update transaction. The book snapshots allow the seamless carryover of the previous day’s book into the new day past midnight in UTC. Hence, if a client wishes to download the session for the whole week, they will get a consistent book spanning the entire week.

DATA ORGANIZATION AND FILE FORMAT

algoseek provides Futures market data in plain-text CSV files. The first row of the CSV file is a fixed header, and then rows of data corresponding to individual events (see Table 1). By default, data is organized into one file per symbol per trading day. For example, all events for ticker GEH3 on Sep 9, 2019, are stored in one CSV file.

Due to the large data size, CSV files are gzip-compressed (having a csv.gz extension) with a compression ratio of about 8:1.

Table 1. Sample Futures Multiple Depth Data

LocalDate

Local Time

Ticker

Side

Flags

Depth

L1

Price

L1

Size

L1

Orders

L2

Price

L2

Size

L2

Orders

2019

0922

190000000

GEH3

B

1

2

98.490

1204

0

98.485

2973

0

2019

0922

190000000

GEH3

S

1

2

98.500

163

0

98.505

5479

0

2019

0922

190000116

GEH3

S

1

2

98.500

163

0

98.505

5480

0

2019

0922

190001217

GEH3

S

1

2

98.500

163

0

98.505

5483

0

2019

0922

190001224

GEH3

S

1

2

98.5000

163

0

98.505

5482

0

2019

0922

190016609

GEH3

S

1

2

98.500

163

0

98.505

5478

0

2019

0922

190016609

GEH3

S

1

2

98.500

163

0

98.505

5474

0

2019

0922

190016609

GEH3

S

1

2

98.500

163

0

98.505

5470

0

Note: SecurityID and data fields for levels 3-10 are not shown on the table.

Each row has 10 levels for Price, Size and Orders columns but there will only be data for the number of Depth levels. In means that if Depth = 5, then columns for levels 6-10 will be filled with zeros.

Table 2 (below) provides the name, description, and data type for each data field (column) in a Futures Multiple Depth dataset.

Table 2: CSV File Fields Schema

Field

Type (Format)

Description

UTCDate

string (yyyymmdd)

the month, day, and year that the transaction has been made

UTCTime

string (HHMMSSmmm)

the trade time in Coordinated Universal Time (UTC) format

LocalTime

string (yyyymmdd)

the trade time in Central Standard Time (CST) format

LocalDate

string (HHMMSSmmm)

the trade date based on the current local time

Ticker

string

the name of the instrument with a maximum of 20 characters

SecurityID

integer

CME security identifier

Side

string

B (Buy) or S (Sell) side of the book

Flags

integer

may be implied (1) or regular book (0)

Depth

integer

number of levels being shown in the book for this instrument

L1Price

decimal

level 1 price

L1Size

integer

number of contracts on level 1

L1Orders

integer

number of orders on level 1

L2Price

decimal

level 2 price

L2Size

integer

number of contracts on level 2

L2Orders

integer

number of orders on level 2

L3Price

decimal

level 3 price

L3Size

integer

number of contracts on level 3

L3Orders

integer

number of orders on level 3

L4Price

decimal

level 4 price

L4Size

integer

number of contracts on level 4

L4Orders

integer

number of orders on level 4

L4Price

decimal

level 4 price

L4Size

integer

number of contracts on level 4

L4Orders

integer

number of orders on level 4

L4Price

decimal

level 5 price

L4Size

integer

number of contracts on level 5

L4Orders

integer

number of orders on level 5

L6Price

decimal

level 6 price

L6Size

integer

number of contracts on level 6

L6Orders

integer

number of orders on level 6

L7Price

decimal

level 7 price

L7Size

integer

number of contracts on level 7

L7Orders

integer

number of orders on level 7

L8Price

decimal

level 8 price

L8Size

integer

number of contracts on level 8

L8Orders

integer

number of orders on level 8

L9Price

decimal

level 9 price

L9Size

integer

number of contracts on level 9

L9Orders

integer

number of orders on level 9

L10Price

decimal

level 10 price

L10Size

integer

number of contracts on level 10

L10Orders

integer

number of orders on level 10

The “Flags” field marks a regular or implied event. An Implied Quote is based on relationships between futures contracts. It is not the actual price of the Futures' bid or ask but is rather implied from another trade (e.g., as part of a spread). It is often away from the current regular bid or ask value. To learn more about implied orders, see for example http://www.cmegroup.com/confluence/display/EPICSANDBOX/Implied+Orders

The field “Depth” or the number of levels shown in algoseek’s Futures Multiple Depth dataset depends on the type of instrument. It may contain the value  1, 2, 5, or 10 wherein 10 is the maximum depth, the standard number of possible levels in all instruments. However, the field will be filled with 0 if a level is left unused.

Ticker

The ticker represents the name of the instrument with a maximum of 20 characters. It is a combination of the product code and an expiration month and year code. It may also include a code for spread type.

The general symbology scheme for Futures is ZZZMY, where ZZZ is the base symbol, M is the expiration month code and Y is the last digit of the expiration year.

Some sample tickers:

Use the link below to match the expiration month code with the corresponding month https://www.cmegroup.com/month-codes.html. The expiration year code corresponds to the last digit of the year.  

TIMESTAMP AND MAINTENANCE PERIODS

Daily File

Each symbol has one file per contract on each trading day containing quotes,  trades, open interest, settlement prices, etc. A trading day means UTC time from 00:00 to 24:00.

UTC Timestamps

The field “UTCTime'' contains timestamps based on a 24-hour system and follows an HHMMSSZZZ format wherein HHMMSS represents 2-digit values for hours, minutes, and seconds, while ZZZ indicates a 3-digit millisecond value.

Local Timestamps

The field “LocalTime” reflects the current time in Chicago (CST). During winter, the local timestamp is adjusted to UTC –6 and is changed to UTC –5 during daylight saving time (DST). For example, an algoseek Futures timestamp of 181514415 is 18:15:14.415 UTC. During daylight saving time, this converts to 13:15:14.415 CST.