Blue Ocean ATS Schemas#
Blue Ocean ATS (BOATS) is a US-based Alternative Trading System (ATS) run by Blue Ocean Technologies, enabling trading of U.S. stocks (NMS) during non-traditional hours, specifically 8 PM to 4 AM ET, Sunday to Thursday, bridging the overnight gap
BLUE_OCEAN#
Database includes the following Tables:
DAY - Daily price and statistical data, e.g. closing price, settlement price, open interest
MKT - Market phase / instrument status information
PRL_FULL - Full orderbook data, showing updates to each individual order (MBO)
QTE - Best bid / offer quotes
STAT - Static data, e.g. ISIN, description, security type
TRD - Trades
BLUE_OCEAN - DAY#
Daily price and statistical data, e.g. closing price, settlement price, open interest
Field |
Data Type |
Description |
|---|---|---|
SYMBOL_NAME |
string |
Symbol Name (Exchange Symbol for Equities & ETFs, and Starting with Exchange Product Code for Derivative Markets followed by expiry and strike as appropriate) |
TIMESTAMP |
nsectime |
Event Timestamp (typically at a nano-second resolution) |
OPEN |
double |
Open price for the current trading day |
HIGH |
double |
DAY: High price for the current trading day TRD_1M: Price of the highest-priced eligible trade in the current bar interval |
LOW |
double |
DAY: Low price for the current trading day. TRD_1M: Price of the lowest-priced eligible trade in the current bar interval |
CLOSE |
double |
Closing price |
VOLUME |
long |
DAY: Total volume traded on the current trading day TRD_1M, VWAP_1H: Total volume of eligible trades in the current bar interval |
TRADE_COUNT |
long |
Number of trades on the current trading day |
TURNOVER |
double |
Total monetary value traded on the current trading day. Note: The value will typically be rounded to the nearest integer. |
VWAP |
double |
Volume-weighted average price |
OMDSEQ |
uint |
Sequence number allowing ticks of different types at the same timestamp to be sorted into the correct chronological order. e.g. if a trade and a quote have the same timestamp, the one with the lower value of OMDSEQ arrived first. |
BLUE_OCEAN - MKT#
Market phase / instrument status information
Field |
Data Type |
Description |
|---|---|---|
SYMBOL_NAME |
string |
Symbol Name (Exchange Symbol for Equities & ETFs, and Starting with Exchange Product Code for Derivative Markets followed by expiry and strike as appropriate) |
TIMESTAMP |
nsectime |
Event Timestamp (typically at a nano-second resolution) |
EXCH_TIME |
nsectime |
Event timestamp, as provided by the exchange. For electronic trading this refers to the matching engine timestamp |
MKT_PHASE |
string[1] |
Indicates the instrument’s current market phase, as specified by the trading venue |
REASON_CODE |
string[1] |
Reason for an instrument status update |
SHORT_SALE_RESTRICTION |
string[1] |
Indicates whether short selling is permitted |
OMD_STATUS |
string[1] |
Indicates an instrument’s current trading status. Values are normalized across all DBs. |
OMDSEQ |
uint |
Sequence number allowing ticks of different types at the same timestamp to be sorted into the correct chronological order. e.g. if a trade and a quote have the same timestamp, the one with the lower value of OMDSEQ arrived first. |
BLUE_OCEAN - PRL_FULL#
Full orderbook data, showing updates to each individual order (MBO)
Field |
Data Type |
Description |
|---|---|---|
SYMBOL_NAME |
string |
Symbol Name (Exchange Symbol for Equities & ETFs, and Starting with Exchange Product Code for Derivative Markets followed by expiry and strike as appropriate) |
TIMESTAMP |
nsectime |
Event Timestamp (typically at a nano-second resolution) |
EXCH_TIME |
nsectime |
Event timestamp, as provided by the exchange. For electronic trading this refers to the matching engine timestamp |
PRICE |
double |
TRD: Trade price, IDX: Index value, IND: Indicative price, PRL: Price point to which the depth entry relates, PRL_FULL: Order price, FIXING: Fixing price, RFC: Price associated with a Request for Cross |
TIME_PRIORITY |
long |
Time priority of an order in the order queue. If two standard orders on the same side have the same price, the one with the lower value of TIME_PRIORITY will be executed first. |
OLD_PRICE |
double |
Previous price of an order |
DELETED_TIME |
nsectime |
Internal OneTick field. Usually null unless hidden ticks are requested (e.g. SHOW_HIDDEN_TICKS). |
BUY_SELL_FLAG |
int |
Orderbook side (0 - Buy, 1 - Sell) |
SIZE |
int |
TRD: Trade size, IND: Indicative size, PRL: Size at the relevant price point, PRL_FULL: Order size, RFQ: Size associated with a Request for Quote, RFC: Size associated with a Request for Cross |
FILL_SIZE |
int |
Size filled in an order execution event |
OLD_SIZE |
int |
Previous size of an order |
TICK_STATUS |
int |
Internal OneTick field. Always 0 unless hidden ticks are requested (e.g. SHOW_HIDDEN_TICKS). |
UPDATE_TYPE |
string[1] |
Type of update |
ORDER_ID |
string[20] |
Order identifier, uniquely identifying an order at any given point in time. Uniqueness depends on the exchange - e.g. may be globally unique, or unique per trading day, or per instrument per trading day. |
ORDER_TYPE |
string[1] |
Type of order. |
TRADE_ID |
string[20] |
Trade identifier, generally the ID assigned by the matching engine |
RECORD_TYPE |
string[1] |
Type of depth update. |
OMDSEQ |
uint |
Sequence number allowing ticks of different types at the same timestamp to be sorted into the correct chronological order. e.g. if a trade and a quote have the same timestamp, the one with the lower value of OMDSEQ arrived first. |
BLUE_OCEAN - QTE#
Best bid / offer quotes
Field |
Data Type |
Description |
|---|---|---|
SYMBOL_NAME |
string |
Symbol Name (Exchange Symbol for Equities & ETFs, and Starting with Exchange Product Code for Derivative Markets followed by expiry and strike as appropriate) |
TIMESTAMP |
nsectime |
Event Timestamp (typically at a nano-second resolution) |
EXCH_TIME |
nsectime |
Event timestamp, as provided by the exchange. For electronic trading this refers to the matching engine timestamp |
BID_PRICE |
double |
Best bid price. A null value is used if the bid side is empty, or if the best bid is set by unpriced orders (e.g. market orders) |
ASK_PRICE |
double |
Best ask price. A null value is used if the ask side is empty, or if the best ask is set by unpriced orders (e.g. market orders) |
BID_SIZE |
int |
Best bid size |
BID_NUM_ORDERS |
int |
Number of orders at the best bid price |
ASK_SIZE |
int |
Best ask size |
ASK_NUM_ORDERS |
int |
Number of orders at the best ask price |
OMDSEQ |
uint |
Sequence number allowing ticks of different types at the same timestamp to be sorted into the correct chronological order. e.g. if a trade and a quote have the same timestamp, the one with the lower value of OMDSEQ arrived first. |
BLUE_OCEAN - STAT#
Static data, e.g. ISIN, description, security type
Field |
Data Type |
Description |
|---|---|---|
SYMBOL_NAME |
string |
Symbol Name (Exchange Symbol for Equities & ETFs, and Starting with Exchange Product Code for Derivative Markets followed by expiry and strike as appropriate) |
TIMESTAMP |
nsectime |
Event Timestamp (typically at a nano-second resolution) |
LOT_SIZE |
double |
All standard order sizes must be an integer multiple of the Lot Size |
NAME |
string[200] |
Description of the instrument |
EXCH_SYMBOL |
string[20] |
Ticker symbol specified by the exchange |
TRADING_CODE |
string[20] |
ID used to identify the instrument in the trading system |
MIC |
string[4] |
Market Identifier Code (MIC, ISO 10383) identifying the market on which the instrument is traded |
OPERATING_MIC |
string[4] |
Market Identifier Code (MIC, ISO 10383) of the exchange that operates the market on which the instrument is traded |
SEC_TYPE |
string[40] |
Security type, e.g. Equity, ETF, Future |
CURRENCY |
string[3] |
Currency in which the instrument’s price is expressed (or nominal currency for bonds traded as a % of nominal). |
TICK_SIZE_TYPE |
string[8] |
Indicates the type of tick size carried by TICK_SIZE. Values are Static or Variable. |
TICK_SIZE |
string[80] |
Tick size / minimum price increment. All order prices must be a multiple of the tick size. |
OMDSEQ |
uint |
Sequence number allowing ticks of different types at the same timestamp to be sorted into the correct chronological order. e.g. if a trade and a quote have the same timestamp, the one with the lower value of OMDSEQ arrived first. |
BLUE_OCEAN - TRD#
Trades
Field |
Data Type |
Description |
|---|---|---|
SYMBOL_NAME |
string |
Symbol Name (Exchange Symbol for Equities & ETFs, and Starting with Exchange Product Code for Derivative Markets followed by expiry and strike as appropriate) |
TIMESTAMP |
nsectime |
Event Timestamp (typically at a nano-second resolution) |
EXCH_TIME |
nsectime |
Event timestamp, as provided by the exchange. For electronic trading this refers to the matching engine timestamp |
PRICE |
double |
TRD: Trade price, IDX: Index value, IND: Indicative price, PRL: Price point to which the depth entry relates, PRL_FULL: Order price, FIXING: Fixing price, RFC: Price associated with a Request for Cross |
SIZE |
int |
TRD: Trade size, IND: Indicative size, PRL: Size at the relevant price point, PRL_FULL: Order size, RFQ: Size associated with a Request for Quote, RFC: Size associated with a Request for Cross |
AGGRESSOR_SIDE |
string[1] |
Indicates whether a trade resulted from an incoming buy or sell order. |
TRADE_TYPE |
string[4] |
Type of trade |
TRADE_PERIOD |
string[1] |
Market period during which a trade was executed. |
BOOK_TYPE |
string[1] |
Type of order book or trading mechanism through which a trade was executed. |
TRADE_ID |
string[20] |
Trade identifier, generally the ID assigned by the matching engine |
EXECUTED_ORDER_ID |
string[20] |
ID of the resting (passive) order that was executed |
OMDSEQ |
uint |
Sequence number allowing ticks of different types at the same timestamp to be sorted into the correct chronological order. e.g. if a trade and a quote have the same timestamp, the one with the lower value of OMDSEQ arrived first. |
DELETED_TIME |
nsectime |
Internal OneTick field. Usually null unless hidden ticks are requested (e.g. SHOW_HIDDEN_TICKS). |
TICK_STATUS |
byte |
Internal OneTick field. Always 0 unless hidden ticks are requested (e.g. SHOW_HIDDEN_TICKS). |
BLUE_OCEAN_DAILY#
Database includes the following Tables:
DAY - Daily price and statistical data, e.g. closing price, settlement price, open interest
STAT - Static data, e.g. ISIN, description, security type
BLUE_OCEAN_DAILY - DAY#
Daily price and statistical data, e.g. closing price, settlement price, open interest
Field |
Data Type |
Description |
|---|---|---|
SYMBOL_NAME |
string |
Symbol Name (Exchange Symbol for Equities & ETFs, and Starting with Exchange Product Code for Derivative Markets followed by expiry and strike as appropriate) |
TIMESTAMP |
nsectime |
Event Timestamp (typically at a nano-second resolution) |
OPEN |
double |
Open price for the current trading day |
HIGH |
double |
DAY: High price for the current trading day TRD_1M: Price of the highest-priced eligible trade in the current bar interval |
LOW |
double |
DAY: Low price for the current trading day. TRD_1M: Price of the lowest-priced eligible trade in the current bar interval |
CLOSE |
double |
Closing price |
VOLUME |
long |
DAY: Total volume traded on the current trading day TRD_1M, VWAP_1H: Total volume of eligible trades in the current bar interval |
TRADE_COUNT |
long |
Number of trades on the current trading day |
TURNOVER |
double |
Total monetary value traded on the current trading day. Note: The value will typically be rounded to the nearest integer. |
VWAP |
double |
Volume-weighted average price |
OMDSEQ |
uint |
Sequence number allowing ticks of different types at the same timestamp to be sorted into the correct chronological order. e.g. if a trade and a quote have the same timestamp, the one with the lower value of OMDSEQ arrived first. |
BLUE_OCEAN_DAILY - STAT#
Static data, e.g. ISIN, description, security type
Field |
Data Type |
Description |
|---|---|---|
SYMBOL_NAME |
string |
Symbol Name (Exchange Symbol for Equities & ETFs, and Starting with Exchange Product Code for Derivative Markets followed by expiry and strike as appropriate) |
TIMESTAMP |
nsectime |
Event Timestamp (typically at a nano-second resolution) |
LOT_SIZE |
double |
All standard order sizes must be an integer multiple of the Lot Size |
NAME |
string[200] |
Description of the instrument |
EXCH_SYMBOL |
string[20] |
Ticker symbol specified by the exchange |
TRADING_CODE |
string[20] |
ID used to identify the instrument in the trading system |
MIC |
string[4] |
Market Identifier Code (MIC, ISO 10383) identifying the market on which the instrument is traded |
OPERATING_MIC |
string[4] |
Market Identifier Code (MIC, ISO 10383) of the exchange that operates the market on which the instrument is traded |
SEC_TYPE |
string[40] |
Security type, e.g. Equity, ETF, Future |
CURRENCY |
string[3] |
Currency in which the instrument’s price is expressed (or nominal currency for bonds traded as a % of nominal). |
TICK_SIZE_TYPE |
string[8] |
Indicates the type of tick size carried by TICK_SIZE. Values are Static or Variable. |
TICK_SIZE |
string[80] |
Tick size / minimum price increment. All order prices must be a multiple of the tick size. |
OMDSEQ |
uint |
Sequence number allowing ticks of different types at the same timestamp to be sorted into the correct chronological order. e.g. if a trade and a quote have the same timestamp, the one with the lower value of OMDSEQ arrived first. |