# 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 tick types: * 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 #### BLUE_OCEAN - DAY Table Schema | 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 #### BLUE_OCEAN - MKT Table Schema | 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) #### BLUE_OCEAN - PRL_FULL Table Schema | 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 #### BLUE_OCEAN - QTE Table Schema | 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 #### BLUE_OCEAN - STAT Table Schema | 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 #### BLUE_OCEAN - TRD Table Schema | 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 tick types: * 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 #### BLUE_OCEAN_DAILY - DAY Table Schema | 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 #### BLUE_OCEAN_DAILY - STAT Table Schema | 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. |