Page tree
Skip to end of metadata
Go to start of metadata

Event delivery contracts

Name Description Example

Ticker

Delivery of latest actual value, queued older events could be conflated to conserve bandwidth and resources.

Values of the latest bid/ask and last sale prices for IBM

Stream

All events are delivered in order.

Incoming tape of all trades for IBM

History

Request data history - values for certain records (groups of elements) which have arrived into QDS and have special timestamp value fitting into period requested by consumer.

Charting: daily bars for IBM from Sep 1st till Sep 10th 2011


dxFeed API event classes

dxFeed API event Corresponding QD records Description Fields Delivery contracts

Quote

Quote

Bid/Ask prices for a given instrument

Symbol, Bid Time, Bid Exchange, Bid Price, Bid Size, Ask Time, Ask Exchange, Ask Price, Ask Size

Ticker, Stream

Trade

Trade

Last Sale price for a given instrument + daily volume

Symbol, Exchange, Time, Price, Size, Volume

Ticker, Stream

TimeAndSale

TradeHistory

Trade in a tape of trades for a given instrument

Symbol, Time, Sequence, Exchange, Price, Size, Bid Price, Ask Price, Exchange Sale Conditions, Flags (e.g. isValidTick, etc)

Ticker, Stream, History

Summary

Fundamental, Summary

Open-High-Low-Close values for current day and Close for previous trading day

Symbol, Day Id, Day High Price, Day Low Price, Day Open Price, Day Close Price, Prev Day Id, Prev Day Close Price, Open Interest

Ticker, Stream

Order

MarketMaker

Market depth: Level 2 quote by market maker / regional exchange quote / element of order book

Order: Symbol, Index, Side, Level, Time, Exchange, Market Maker ID, Price, Size MarketMaker: Symbol, Exchange, Market Maker ID, Bid Price, Bid Size, Ask Price, Ask Size

Ticker, Stream, History

Profile

Profile

Instrument profile

Symbol, Description, Flags (Is Trading Halted)

Ticker, Stream

Candle

Candle

Charting OHLCV candle

Symbol, Open, High, Low, Close, Volume, BidVolume, AskVolume, VWAP, Count

Stream, History

Greeks

Greeks

Option greeks and implied volatility

Delta, Gamma, Rho, Theta, Vega, Volatility, Price

Ticker, Stream

TheoPrice

TheoPrice

Option theoretical price

Delta, Gamma, Dividend, Interest, Price, Time, UnderlyingPrice

Ticker, Stream

Underlying

Underlying

Snapshot of computed values that are available for an option underlying symbol based on the option prices on the market

Symbol, Volatility, FrontVolatility, BackVolatility, PutCallRatio

Ticker, Stream

Series

Series

Snapshot of computed values that are available for all option series for a given underlying symbol based on the option prices on the market

Symbol, Index, Expiration, Volatility, PutCallRatio, ForwardPrice, Dividend, Interest

Ticker, Stream

Events to be published for different feed types

Equities

Original Feed Event dxFeed Event

BBO Quote (bid/ask)

Quote

Regional Quote (bid/ask)

Quote, Order

Trade (last sale)

Trade, TradeETH, TimeAndSale

Trade conditions change messages

Trade, TradeETH

Volume setting events (trades, explicit volume update messages)

Trade, TradeETH

OHLC setting events: trades, explicit hi/lo update messages, explicit summary messages, etc.

Summary

Instrument definition

Profile

Trading halt/resume messages

Profile

Depth: order books, price levels, market maker quotes

Order

Charting aggregations

Candle


Indices and indicators

Original Feed Event dxFeed Event

Index value

Trade, TimeAndSale

Bid index value, Ask index value (where available, calculated by bid/ask of index components)

Quote

Volume setting events (trades, explicit volume update messages)

Trade

OHLC setting events: trades, explicit hi/lo update messages, explicit summary messages, etc.

Summary

Instrument definition

Profile

Charting aggregations

Candle


Futures

Original Feed Event dxFeed Event

Quote (bid/ask)

Quote

Trade (last sale)

Trade, TimeAndSale

Trade conditions change messages

Trade

Volume setting events (trades, explicit volume update messages)

Trade

OHLC setting events: trades, explicit hi/lo update messages, explicit summary messages, etc.

Summary

Instrument definition

Profile

Depth: order books, price levels

Order

Charting aggregations

Candle


Options

Original Feed Event dxFeed Event

BBO Quote (bid/ask)

Quote

Regional Quote (bid/ask)

Quote

Trade (last sale)

Trade, TradeETH, TimeAndSale

Trade conditions change messages

Trade, TradeETH

Volume setting events (trades, explicit volume update messages)

Trade, TradeETH

OHLC setting events: trades, explicit hi/lo update messages, explicit summary messages, etc.

Summary

Instrument definition

Profile

Charting aggregations

Candle

Greeks and IV

Greeks

Theoretical prices

TheoPrice

VIX-volatilities, P/C ratios

Underlying, Series


Spreads

Original Feed Event dxFeed Event

Quote (bid/ask)

Quote

Trade (last sale)

Trade, TimeAndSale

Volume setting events (trades, explicit volume update messages)

Trade

OHLC setting events: trades, explicit hi/lo update messages, explicit summary messages, etc.

Summary

Instrument definition

Profile

Charting aggregations

Candle

Greeks and IV

Greeks

Theoretical prices

TheoPrice


FX

Original Feed Event dxFeed Event

Quote (bid/ask)

Quote

Trade (last sale)

Trade, TimeAndSale

Volume setting events

Trade

Market depth

Order

OHLC setting events: trades, explicit hi/lo update messages, explicit summary messages, etc.

Summary

Instrument definition

Profile

Charting aggregations

Candle


Feed types and events matrix

Quote Trade TradeETH TimeAndSale Order Summary Profile Candle Greeks TheoPrice Underlying Series

Equities

o

o

o

o

o

o

o

o

o

Indexes

o

o

o

o

o

Futures

o

o

o

o

o

o

o

o

Options

o

o

o

o

o

o

o

o

o

o

Spreads

o

o

o

o

o

o

o

o

FX

o

*

*

*

o


"*" only for cryptocurrencies

Daily reset (rollover) procedures

Daily rollover can happen per-instrument (e.g. futures could have different rollover times depending on contract and venue) or could happen simultaneously for all instruments on the market during after-hours (e.g. NYSE equities). Time of the rollover is defined by trading schedules on the given market.

Rollover affects the Summary event which contains the OHLC for the current day and close value for the day the instrument traded previously. Also, rollover (reset) zeroes Volume field in Trade record and Bid.Size/Ask.Size fields in Quote record.

Info

For futures, Settlement date replaces the last trade in Close when it arrives.

Summary consists of "current" and "historical" parts:

"Current"

The fields DayId, OpenInterest, DayOpen.Price, DayHigh.Price, DayLow.Price and DayClose.Price are linked to either the current trading day or the previous trading day - when a new day has not begun yet. The day is shown in the by DayId field.

  1. These fields form a logical group linked to one trading day.

  2. These fields are linked to a trading day, not a trading session.

  3. These fields are linked to a trading days only, non-trading days are omitted (fields keep their current values during non-trading days).

  4. These fields are linked to a trading day regardless of whether the instrument was actually traded this day or not.

  5. Transition to the next trading day is done during trading pause (rollover).

Schedule is the following:

  1. Before the start of the next trading day (before the first trading session of the new trading day) these fields are prepared for a new day. DayId is set to a new day, OpenInterest retains its current value (special field), all the OHLC-fields are reset to NaN. Ideally this happens at the given time before trading starts, e.g. 1 hour. In reality, it depends on the type of instrument, exchange, and protocol specialties. E.g. stocks are reset at midnight, options - at 6am, futures - 5-10 mins before open on individual schedules.

  2. DayOpen, DayHigh, and DayLow are updated as soon as trading starts - either with official exchange values (if available) or calculated values. DayClose remains NaN.

  3. Next step is divided into a-b:

    1. After trading closes, DayClose is filled - with the official close price, if available, or the last trade price.

    2. If the given instrument did not trade this day, all fields contain NaN.

In the case where an exchange sends a ClosePrice, but we had no sign of a trade in this instrument this day, we update the close price with the official value nevertheless.

Fields keep these values until a new trading day starts, where the whole procedure starts over from the step 1.

OpenInterest is a special field used for options and futures, it’s never reset. Formally it’s in the "current" group of fields and should be read as "open interest on the start of the current day".

"Historical" part

PrevDayId and PrevDayClose.Price are linked to the last trading day before DayId when this instrument was traded. That day is identified by the PrevDayId field.

The algorithm for filling these fields is simple - DayId and DayClose.Price are copied into them when preparing for the new trading day (see p.1 above) when DayClose.Price is not NaN.