US Options Trade and Quote Continuous Minute Bar Guide                                            


US Options Trade and Quote Continuous Minute Bar Guide

version 1.1 (Nov 2022)

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        5

MINUTE BAR CALCULATIONS        5

DATA ORGANIZATION AND FILE FORMAT        7

APPENDIX A. FREQUENTLY ASKED QUESTIONS        12


INTRODUCTION

algoseek’s Trade and Quote (TAQ) Minute Bar 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 TAQ Minute Bar data files are organized into a single format feed where bars are ordered by time. The entire trading session includes market hours from 9:30:00 to 16:15:00 ET.

This version of the Options TAQ 1-minute bar dataset is continuous. This means that NBBO quotes are carried forward from the previous bars where possible (see subsections “Continuous Bars” and “Carrying Forward of Current NBBO Bid/Ask” in the next section “MINUTE BAR CALCULATIONS”).

MINUTE BAR CALCULATIONS

What’s Included

Quotes are calculated from the National Best Bid Offer (NBBO) using:

What’s Not Included

The bars do not include the following quote events:

Please see the table below for the trade events that are excluded.

Table 1: Excluded Trades

Trade Condition

Description

A

Previously reported

B

Reported late and out of sequence

C

Transaction last reported and now canceled

F

Late report of opening and out of sequence

G

Transaction only one reported for day and is to be canceled

N

Transaction is at the price agreed by the floor personal

O

Cancel of stopped transaction

T

Benchmark trade

Continuous Bars

Options activity varies from contracts with multiple events per millisecond (e.g. SPY in-the-money Options), to contracts without any bid or ask event during market hours.

algoseek’s options bars are continuous during market hours (up to 16:15:00 ET), which means there will always be a bar even if there are no events during the bar period. During pre- and post-market hours bars are event-based. It means a bar is only created when there was at least one event during the bar period.  The three types of events (bid, ask and trade) don’t always happen together during a bar period. For example, there could be three bids, but neither trades nor asks for a minute.

Carrying Forward of Current NBBO Bid/Ask

If there are no changes to the Bid/Ask in the NBBO during a bar period, the current NBBO Bid/Ask from the previous bar period will be carried forward and all Bid/Ask values will remain the same from Open to Close. For example:

OpenBidPrice = HighBidPrice = LowBidPrice = CloseBidPrice =  Current NBBO Bid price carried from the previous bar period

OpenBidSize = HighBidSize = LowBidSize = CloseBidSize =  Current NBBO Bid size carried from the previous bar period

OpenBidTime = HighBidTime = LowBidTime = CloseBidTime = Current NBBO Bid time carried from the previous bar period

Underlying Quote Event

Table 2 describes the logic for underlying security quotes.

Table 2. Underlying Bid/Ask of the First and Last Event

Field

Description

UnderOpenBidPrice

Underlying security NBBO bid price at millisecond time of the open bar

UnderOpenAskPrice

Underlying security NBBO ask price at millisecond time of the open bar

UnderCloseBidPrice

Underlying security NBBO bid price at millisecond time of the close bar

UnderCloseAskPrice

Underlying security NBBO ask price at millisecond time of the close bar

The bid/ask price is the NBBO price of the underlying asset at the millisecond time of the event.

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 bars. Data is organized with one file per ticker per trading day per ticker and per option chain (ticker+expiration date).  It means, for example, that trade and quote bars 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 compressed.

Table 3 below provides the name, base event, default value, a brief description, and data type for each data field (column) in the Options TAQ Minute Bar CSV file. Table column “Missing” indicates a default behavior in case the data field value is not present or cannot be calculated. The column value “Never” means that the data field value is always present.

Table 3:  CSV File Fields Schema

Field

Base Event

Type (Format)

Missing

Description

Date

-

string (yyyymmdd)

Never

Trading date in yyyymmdd format

TimeBarStart

-

string

(HH:MM)

Never

Start Time of the Bar. For minute bar format is HH:MM. For second bar format is HH:MM:SS.

Ticker

-

string

Never

Symbol name

CallPut

-

string

Never

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

Strike

-

decimal

Never

Fixed price for buying or selling an option contract

ExpirationDate

-

string (yyyymmdd)

Never

Expiration date of option contract in yyyymmdd format

OpenBidTime

Quote

string

(timestamp)

Blank

Time of the NBBO bid price as of bar open

OpenBidPrice

Quote

decimal

Blank

NBBO bid price as of bar open, (e.g. current price as of bar start)

OpenBidSize

Quote

integer

Blank

Open bid size

OpenAskTime

Quote

string

(timestamp)

Blank

Time of the NBBO ask price as of bar open

OpenAskPrice

Quote

decimal

Blank

NBBO ask price as of bar open, (e.g. current price as of bar start)

OpenAskSize

Quote

integer

Blank

Open ask size

OpenTradeTime

Trade

string

(timestamp)

Blank

Time of the first trade

OpenTradePrice

Trade

decimal

Blank

Price of the first trade

OpenTradeSize

Trade

integer

Blank

Number of contracts of the first trade

HighBidTime

Quote

string

(timestamp)

Blank

Time of highest NBBO bid price

HighBidPrice

Quote

decimal

Blank

The highest NBBO bid price

HighBidSize

Quote

integer

Blank

Size of the highest bid price

HighAskTime

Quote

string

(timestamp)

Blank

Time of the highest NBBO ask price

HighAskPrice

Quote

decimal

Blank

The highest NBBO ask price

HighAskSize

Quote

integer

Blank

Size of the highest ask price

HighTradeTime

Trade

string

(timestamp)

Blank

Time of the highest trade

HighTradePrice

Trade

decimal

Blank

Price of the highest trade

HighTradeSize

Trade

integer

Blank

Number of contracts of the highest trade

LowBidTime

Quote

string (timestamp)

Blank

Time of the lowest bid

LowBidPrice

Quote

decimal

Blank

The lowest NBBO bid price of bar

LowBidSize

Quote

integer

Blank

The lowest bid size

LowAskTime

Quote

string

(timestamp)

Blank

Time of the lowest ask

LowAskPrice

Quote

decimal

Blank

The lowest NBBO ask price of bar

LowAskSize

Quote

integer

Blank

The lowest ask size

LowTradeTime

Trade

string

(timestamp)

Blank

Time of the lowest trade

LowTradePrice

Trade

decimal

Blank

Price of the lowest trade

LowTradeSize

Trade

integer

Blank

The lowest trade’s number of contracts

CloseBidTime

Quote

string

(timestamp)

Blank

Time of the NBBO bid price as of bar close

CloseBidPrice

Quote

decimal

Blank

NBBO bid price at bar close

CloseBidSize

Quote

integer

Blank

Size of the last bid

CloseAskTime

Quote

string

(timestamp)

Blank

Time of the NBBO ask price as of bar close

CloseAskPrice

Quote

decimal

Blank

NBBO bid price at bar close

CloseAskSize

Quote

integer

Blank

Size of the last ask

CloseTradeTime

Trade

string

(timestamp)

Blank

Time of the last trade

CloseTradePrice

Trade

decimal

Blank

Price of the last trade

CloseTradeSize

Trade

integer

Blank

Number of contracts of the last trade

UnderOpenBidPrice

Under

lying

decimal

Blank

Underlying security NBBO bid price at millisecond time of the open bar

 UnderOpenAskPrice

Under

lying

decimal

Blank

Underlying security NBBO ask price at millisecond time of the open bar

 UnderCloseBidPrice

Under

lying

decimal

Blank

Underlying security NBBO bid price at millisecond time of the close bar

 UnderCloseAskPrice

Under

lying

decimal

Blank

Underlying security NBBO ask price at millisecond time of the close bar

MinSpread

Quote

decimal

Blank

Minimum bid-ask spread size. This may be 0 if the market was crossed during the bar. Note: This requires both a bid and an ask quote during the bar period.

MaxSpread

Quote

decimal

Blank

Maximum bid-ask spread in a bar. Note: This requires both a bid and an ask quote during the bar period.

CancelSize

Trade

integer

Blank

The total number of reported contracts canceled during this  bar. The canceled trades may have occurred at any time since the open.

VolumeWeightPrice

Trade

decimal

Blank

Trade Volume weighted average price.

NBBOQuoteCount

Quote

integer

0

The number of bid and ask NBBO quotes during the bar period.

TradeAtBid

Quote

Trade

integer

Blank

Sum of the number of contracts that occurred at or below the bid (a trade reported/printed late can be below current bid).

TradeAtBidMid

Quote

Trade

integer

Blank

Sum of the number of contracts that occurred between the bid and the mid-point: (Trade Price > NBBO Bid) & (Trade Price < NBBO Mid)

TradeAtMid

Quote

Trade

integer

Blank

Sum of the number of contracts that occurred at the mid. TradePrice = NBBO MidPoint

TradeAtMidAsk

Quote

Trade

integer

Blank

Sum of the number of contracts that occurred between the mid and the ask: (Trade Price > NBBO Mid) & (Trade Price < NBBO Ask)

TradeAtAsk

Quote

Trade

integer

Blank

Sum of the number of contracts that occurred at or above the ask.

TradeAtCrossOrLocked

Quote

Trade

integer

Blank

Sum of the number of contracts during the bar period when national best bid/offer is locked or crossed.

Locked is when bid = ask

Crossed is when bid > ask

Volume

Trade

integer

0

Total number of contracts traded

TotalTrades

Trade

integer

0

Total number of trades

FinraVolume

Trade

integer

0

Number of contracts traded off the public exchanges and these are reported as FINRA

Time Range

The data starts from the Open Interest publications by the exchanges at 9:30 to the last published information at 16:15 ET. Most options stop trading at 16:00 ET, while some indexes trade till 16:15 ET.

Timestamp

Event timestamp is in milliseconds, ET. The field format is HH:MM:SS.mmm where

HH: Hour

MM: Minute

SS: Seconds

mmm: Milliseconds

For example, 09:31:01.723

Bar Notes

Time Bar Start Format: One-second bar 13:03:01 is from time greater than 13:03:01 to 13:03:02. One-minute bar 11:04 is from time greater than 11:04 to less than 11:05.

Empty Fields: An empty field has no value and is shown as blank. For example, if there are no trades during the bar period, the field OpenTradeTime will be blank, but the field “Volume” measuring the total number of contracts traded in the bar will be “0”. Look at the “Missing” column above for each field to see if a field always has a value and if it will be zero or blank when there’s no value.

No Bid/Ask/Trade OHLC: During a bar timeframe, there may not be a change in the NBBO or an actual trade. For example, there can be a bar with open/high/low/close bid/ask but no trade open/high/low/close.

Single Event: For bars with only one trade, one NBBO bid, or one NBBO ask the open/high/low/close price, size and time will be the same.

VolumeWeightPrice: a volume-weighted price is calculated as a sum of a dollar volume for all trades divided by the total number of shares traded

((Trade1_Shares x Trade1_Price) + (Trade2_Shares x Trade2_Price) + ...) / TotalShares