US Options TTOB Guide                                                                                                        


US Options TTOB Guide

version 1.1 (Jan 2024)

CONTACT US

We are here to help you do great things with our market 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

OPRA DATA FEED        4

DATA ORGANIZATION AND FILE FORMAT        4

APPENDIX A. EVENT TYPE CODES        11


INTRODUCTION

algoseek’s Trade And Top Of Book Quote (TTOB) dataset for US Options on Equity, ETF, ETN, and ADRs is based on the top-of-book quotes (bids and asks) and all trades from the Options Pricing Authority (OPRA) feed, which includes the consolidated last sale and quotation information from the 16 option exchanges that the Securities and Exchange Commission has approved.

All Trade TTOB data files are organized into a single format feed where trade events are ordered by the time. The entire trading session includes market hours from 9:30:00 to 16:15:00 ET.

OPRA DATA FEED

OPRA is a securities information processor that disseminates, on a current and continuous basis, information about transactions that occurred on the options markets.

Each trade that is executed on an options exchange, as well as each price change quoted on an options exchange, is reported to OPRA. Also, OPRA calculates and identifies the National Best Bid and Best Offer (NBBO – highest bid and lowest offer). OPRA consolidates this information and disseminates it via computer-to-computer linkages to the financial community in the U.S. and abroad.

DATA ORGANIZATION AND FILE FORMAT

algoseek provides Options market data in plain-text CSV files. Data files have fixed headers on top and rows of data corresponding to individual events. Data is organized with one file per option contract per trading day. For example, all trade events for all the AAPL call and put options for every strike on the expiration date March 3, 2020, for trading date February 27, 2020, are consolidated in one file. Due to the large dataset size, each CSV file is gzip-compressed, so the uncompressed data is on average 7 times larger than the compressed.

Table 1 (below) provides the name, description, and data type for each data field (column) in Options Trade Only data file.

Table 1: CSV File Fields Schema

Field

Type (Format)

Description

Date

string (yyyymmdd)

Trading date in yyyymmdd format (optional)

Timestamp

string (HHMMSSmmm)

Event timestamp in milliseconds


Excel Note: Excel displays incorrect timestamps unless the Timestamp column is imported as text.

Ticker

string

Symbol name

CallPut

string

Option type (Call or Put) displayed as “C” or “P”

StrikePrice

decimal

Fixed price for buying or selling an option contract

ExpirationDate

string (yyyymmdd)

Expiration date of option contract in yyyymmdd format

EventType

string

Byte code. See “EventType” section for details

Side

string

B (Bid) or A (Ask) of the book. Empty field for trade events

Action

string

EventType and Side as text. See “Action” section for details

Price

decimal

Option contract pricing

Quantity

integer

Underlying asset quantity

Exchange

string

Exchange code. See “Exchanges” section for details

Conditions

string

Single letter for trade or quote condition

LastNBBOBidTime

string (HHMMSSmmm)

Time of the last option NBBO bid

LastNBBOBidExchange

string

Last option NBBO bid exchange code

LastNBBOBidPrice

decimal

Price of the last option NBBO bid

LastNBBOBidSize

integer

Size of the last option NBBO bid

LastNBBOBidCondition

string

Last option NBBO bid condition

LastNBBOAskTime

string (HHMMSSmmm)

Time of the last option NBBO ask

LastNBBOAskExchange

string

Last option NBBO ask exchange code

LastNBBOAskPrice

decimal

Price of the last option NBBO ask

LastNBBOAskSize

integer

Size of the last option NBBO ask

LastNBBOAskCondition

string

Last option NBBO ask condition

ListQuoteExchange

string

List of exchanges for LastBid* and LastAsk* columns separated by a semicolon “;”

ListLastBidTime

string

List of last bid times for each exchange in the ListQuoteExchange column separated by a semicolon “;”

ListLastBidPrice

string

List of last bid prices for each exchange in the ListQuoteExchange column separated by a semicolon “;”

ListLastBidSize

string

List of last bid sizes for each exchange in the ListQuoteExchange column separated by a semicolon “;”

ListLastAskTime

string

List of last ask times for each exchange in the ListQuoteExchange column separated by a semicolon “;”

ListLastAskPrice

string

List of last ask prices for each exchange in the ListQuoteExchange column separated by a semicolon “;”

ListLastAskSize

string

List of last ask sizes for each exchange in the ListQuoteExchange column separated by a semicolon “;”

ListLastQuoteCondition

string

List of last quote conditions for each exchange in the ListQuoteExchange column separated by a semicolon “;”

ListLastBidCondition

string

List of last bid conditions for each exchange in the ListQuoteExchange column separated by a semicolon “;”

ListLastAskCondition

string

List of last ask conditions for each exchange in the ListQuoteExchange column separated by a semicolon “;”

UnderSymbol

string

Underlying symbol name

UnderBidTime

string (HHMMSSmmmuuunnn)

The bid time of the underlying security

UnderBidPrice

decimal

The bid price of the underlying security

UnderBidSize

integer

The bid size of the underlying security

UnderBidConditions

string

The bid conditions of the underlying security

UnderBidExchange

string

The bid exchange of the underlying security

UnderAskTime

string (HHMMSSmmmuuunnn)

The ask time of the underlying security

UnderAskPrice

decimal

The ask price of the underlying security

UnderAskSize

integer

The ask size of the underlying security

UnderAskConditions

string

The ask conditions of the underlying security

UnderAskExchange

string

The ask exchange of the underlying security

UnderLastTradeTime

string (HHMMSSmmmuuunnn)

The time of the last trade for the underlying security (nanosecond resolution) before the current trade. Empty if no trade price is available

UnderLastTradePrice

decimal

The last trade price for the underlying security before the current trade. Empty if no trade price is available

UnderLastTradeSize

decimal

The size of the last trade for the underlying security before the current trade. Empty if no trade price is available

UnderLastTradeConditions

string

The conditions of the last trade for the underlying security before the current trade. Empty if no trade price is available

UnderLastTradeExchange

string

The exchange of the last trade for the underlying security before the current trade. Empty if no trade price is available

UnderTotalTradeSize

integer

The total trade size of the last trade for the underlying security before the current trade. Empty if no trade price is available

UnderTotalTradeCount

integer

The total trade count of the last trade for the underlying security before the current trade. Empty if no trade price is available

Timestamp

Event timestamp is in milliseconds, ET. Field format: HHMMSS.mmm where

HH: Hour

MM: Minute

SS: Seconds

mmm: Milliseconds

For example, 093101723 corresponds to 09:31:01.723

Exchanges

The table below shows the list of exchange codes and matching exchange names.

Table 2: Exchange Codes

Exchange Code

Exchange Name

AM

AMEX

AR

ARCA

BA

BATS

BY

BATS_Y

BO

BOSTON

C2

C2

CB

CBOE

CS

CSE

EA

EDGA

EX

EDGX

FI

FINRA

IE

IEX

IS

ISE

IG

ISE_GEMINI

IM

ISE_MERCURY

LT

LTSE

MI

MIAX

MP

MIAX_PEARL

ME

MIAX_EMERALD

MS

MIAX_SAPPHIRE

MX

MEMX

NA

NASDAQ

NB

NASDAQ_BX

NP

NASDAQ_PSX

NS

NSE

NY

NYSE

OP

OPRA

SI

SIAC

TH

THOMSON

UN

UNKNOWN

Action

Table 3 lists the action codes and matching EventType. It is possible for multiple action codes to occur. For example, TI NB: Trade Interest NBBO.

Table 3: Action Codes

Action

EventType

H

Halted

HB

Heartbeat

I

Indicative Value

IN

Invalid

NB

NBBO

OI

OpenInterest

R

Rotation

T

Trade

TI

TradeInterest

UQ

UnderlyingValueQuote

US

UnderlyingValueSale

Conditions

Conditions are displayed as a single character to represent a normal trade or quote. Table 4 lists Category a (Equity and Index Last Sale) messages and their descriptions.

Table 4. Trade Message Types

Code

Type

Value

Description

Space Filled

Regular

Indicates that the transaction was a regular sale and was made without stated conditions.

A

CANC

Transaction previously reported (other than as the last or opening report for the particular option contract) is now to be canceled.

B

OSEQ

Transaction is being reported late and is out of sequence. (i.e., later transactions have been reported for the particular option contract)

C

CNCL

Transaction is the last reported for the particular option contract and is now canceled.

D

LATE

Transaction is being reported late, but is in the correct sequence. (i.e., no later transactions have been reported for the particular option contract)

E

CNCO

Transaction was the first one (opening) reported this day for the particular option contract. Although later transactions have been reported, this transaction is now to be canceled.

F

OPEN

Transaction is a late report of the opening trade and is out of sequence. (i.e., other transactions have been reported for the particular option contract)

G

CNOL

Transaction was the only one reported this day for the particular option contract and is now to be canceled.

H

OPNL

Transaction is a late report of the opening trade, but is in the correct sequence. (i.e., no other transactions have been reported for the particular option contract)

I

AUTO

Transaction was executed electronically. Prefix appears solely for information; process as a regular transaction.

J

REOP

Transaction is a reopening of an option contract in which trading has been previously halted. Prefix appears solely for information; process as a regular transaction.

S

ISOI

Transaction was the execution of an order identified as an Intermarket Sweep Order. Process like normal transaction.

a

SLAN

Single Leg Auction Non-ISO

Transaction was the execution of an electronic order which was stopped at a price and traded in a two-sided auction mechanism that goes through an exposure period. Such auction mechanisms include and are not limited to price improvement, facilitation, or solicitation mechanism.

b

SLAI

Single Leg Auction ISO

Transaction was the execution of an Intermarket Sweep electronic order which was stopped at a price and traded in a two-sided auction mechanism that goes through an exposure period. Such auction mechanisms include and are not limited to price improvement facilitation or solicitation mechanisms marked as ISO.

c

SLCN

Single Leg Cross Non-ISO

Transaction was the execution of an electronic order which was stopped at a price and traded in a two-sided crossing mechanism that does not go through an exposure period. Such crossing mechanisms include and are not limited to Customer to Customer Cross and QCC with a single option leg.

d

SCLI

Single Leg Cross ISO

Transaction was the execution of an Intermarket Sweep electronic order which was stopped at a price and traded in a two-sided crossing mechanism that does not go through an exposure period. Such crossing mechanisms include and are not limited to Customer to Customer Cross.

e

SLFT

Single Leg Floor Trade

Transaction represents a non-electronic trade executed on a trading floor. Execution of paired and unpaired auctions and cross orders on an exchange floor are also included in this category.

f

MLET

Multi-Leg Auto-Electronic Trade

Transaction represents an electronic execution of a multi-leg order traded in a complex order book.

g

MLAT

Multi-Leg Auction

Transaction was the execution of an electronic multi-leg order which was “stopped” at a price and traded in a two-sided auction mechanism that goes through an exposure period in a complex order book. Such auction mechanisms include and are not limited to price improvement, facilitation or solicitation mechanism.

h

MLCT

Multi-Leg Cross

Transaction was the execution of an electronic multi-leg order which was stopped at a price and traded in a two-sided crossing mechanism that does not go through an exposure period. Such crossing mechanisms include and are not limited to customer to customer cross and QCC with two or more options legs.

i

MLFT

Multi-Leg Floor Trade

Transaction represents a non-electronic multi-leg order trade executed against other multi-leg order(s) on a trading floor. Execution of paired and unpaired auctions and cross orders on an exchange floor are also included in this category.

j

MESL

Multi-Leg Auto-Electronic Trade against Single Leg(s)

Transaction represents an electronic execution of a multi-leg order traded against single-leg orders/quotes.

k

TLAT

Stock Options Auction

Transaction was the execution of an electronic multi-leg stock/options order which was stopped at a price and traded in a two-sided auction mechanism that goes through an exposure period in a complex order book. Such auction mechanisms include and are not limited to price improvement, facilitation or solicitation mechanism.

l

MASL

Multi-Leg Auction against Single Leg(s)

Transaction was the execution of an electronic multi-leg order which was stopped at a price and traded in a two-sided auction mechanism that goes through an exposure period and trades against single-leg orders/ quotes. Such auction mechanisms include and are not limited to price improvement, facilitation or solicitation mechanism.

m

MFSL

Multi-Leg Floor Trade against Single Leg(s)

Transaction represents a non-electronic multi-leg order trade executed on a trading floor against single-leg orders/quotes. Execution of paired and unpaired auctions on an exchange floor is also included in this category.

n

TLET

Stock Options Auto-Electronic Trade

Transaction represents an electronic execution of a multi-leg stock/options order traded in a complex order book.

o

TLCT

Stock Options Cross

Transaction was the execution of an electronic multi-leg stock/options order which was “stopped” at a price and traded in a two-sided crossing mechanism that does not go through an exposure period. Such crossing mechanisms include and are not limited to customer to customer cross.

p

TLFT

Stock Options Floor Trade

Transaction represents a non-electronic multi-leg order stock/options trade executed on a trading floor in a Complex order book. Execution of paired and unpaired auctions and cross orders on an exchange floor are also included in this category.

q

TESL

Stock Options Auto-Electronic Trade against Single Leg(s)

Transaction represents an electronic execution of a multi-leg stock/options order traded against single leg orders/quotes.

r

TASL

Stock Options Auction against Single Leg(s)

Transaction was the execution of an electronic multi-leg stock/options order which was stopped at a price and traded in a two-sided auction mechanism that goes through an exposure period and trades against single-leg orders/quotes. Such auction mechanisms include and are not limited to price improvement, facilitation, or solicitation mechanism.

s

TFSL

Stock Options Floor Trade against Single Leg(s)

Transaction represents a non-electronic multi-leg stock/options order trade executed on a trading floor against single-leg orders/quotes. Execution of paired and unpaired auctions on an exchange floor is also included in this category.

t

CBMO

Multi-Leg Floor Trade of Proprietary Products

Transaction represents the execution of a proprietary product non-electronic multi-leg order with at least 3 legs. The trade price may be outside the current NBBO.

u

MCTP

Multilateral

Compression Trade

of Proprietary

Products

Transaction represents an execution in a proprietary product done as part of a multilateral compression. Trades are executed outside of regular trading hours at prices derived from end of day markets. Trades do not update Open, High, Low, and Closing Prices.

v

EXHT

Extended Hours

Trade

Transaction represents a trade that was executed outside of regular market hours. Trades do not update Open, High, Low, and Closing Prices.

Quote Conditions

The Message Type character for the following categories is Space

Category C (Administrative)

Category f (Equity and Index End of Day Summary)

Category d (Open Interest)

For other categories, refer to Table 5.

Table 5:  Quote Message Types

Code

Value

Description

Category H (Control)

A

Start of test cycle

transmitted to signal the start of the transmission of a

Test Cycle

B

End of test cycle

transmitted to signal the end of the transmission of a Test

Cycle message

C

Start of day

signals the start of normal data recipient processing of messages received over a line

D

Good morning

transmitted by a Participant to signal the beginning of

transaction processing by that Participant

E

Start of summary

transmitted by a Participant to signal the beginning of

transmission of one or more End of Day Summary messages by that Participant

F

End of summary

transmitted by a Participant to signal the end of

transmission of one or more End of Day Summary messages by that Participant

G

Early market close

transmitted by a Participant to signal that the

Participant originating the message is closing prior to normal market close time

H

End of transaction reporting

transmitted by a Participant to signify that the

Participant has terminated reporting of transactions

I

Good night

transmitted by a Participant to advise all data recipients that

there are no further messages of any type transmitted for the day by that Participant

J

End of day

signals the end of transmission of original data over the lines

K

Reset block sequence number

transmitted when the block sequence number requires resetting

L

Start of open interest

signals the beginning of transmission of a series of one

or more Open Interest messages

M

End of open interest

signals the end of transmission of a series of one or more

Open Interest messages

N

Line integrity

Generated automatically at intervals of approximately one minute to verify continued integrity of multicast transmission

P

Disaster recovery data center

disseminated from the Disaster Recovery site to signify that OPRA has switched processing from the Primary Data Center to the Disaster Recovery Center

Category k (Long Equity and Index Quote) and Category q (Short Equity and Index Quote)

Space

Regular trading

F

Non-firm quote

I

Indicative value

R

Rotation

T

Trading halted

A

Eligible for automatic execution

B

Bid contains customer trading interest

O

Offer contains customer trading interest

C

Both bid and offer contain customer trading interest

X

Offer side of quote not firm; bid side firm

Y

Bid side of quote not firm; offer side firm

Category Y (Underlying Value)

 Space

Index based on last sale

I

Index based on bid and offer

APPENDIX A. EVENT TYPE CODES

Event types are represented by a one-byte (8 bits) mask. The “EventType” column has the event as a byte, and the corresponding text is in the Action column. The bit position 0 corresponds to the rightmost bit and 7 is the leftmost bit. Tables 6 and 7 summarize Event Type codes and their descriptions.
Note: Most clients do not need to concern themselves with the “EventType” field, as it is translated into text in the Action column.

Table 6: EventType Flags

Bit Position

Description

0-3

Message type (integer 3-bit value). See Message Type Table

4

Set if the previous trade/quote canceled

5

Option type: 1 for call, 0 for put

6

Indicates NBBO

7

Indicates buy or sell side. Buy side if set and sell side otherwise

Table 7: Message Type (Bits 0-3)

Value

Message

Value

 Message

0

Heartbeat (not in use)

6

Rotation

1

Trade

7

Halted

2

OpenInterest

8

NoQuote

3

TradeInterest

9

SessionEnd (not in use)

4

FirmQuote

10

UnderlyingValueSell

5

NonFirmQuote

11

UnderlyingValueQuote