Blue Ocean ATS Multicast MEMOIR Depth
Dataset ID: OCEA.MEMOIR
Blue Ocean ATS disseminates full depth-of-book data through their Multicast MEMOIR Depth feed, which Databento receives over UDP multicast in our NY4 data center.
This dataset captures the Blue Ocean Session for US equities, which operates from 8:00 PM to 4:00 AM ET, Sunday through Thursday.
Timestamps
OCEA MEMOIR messages received by Databento include one exchange timestamp with nanosecond precision.
As with all of our datasets, we also collect a ts_recv timestamp when the packet was received by our capture server.
For normalized MBO and trades records, ts_in_delta is left at 0.
| Databento Field | OCEA MEMOIR Field | Description |
|---|---|---|
ts_recv |
N/A | The capture-server-received timestamp. |
ts_event |
Timestamp | The matching-engine-received timestamp. |
ts_in_delta |
N/A | Set to 0 for normalized MBO and trades records. |
More details about our timestamps are available in our timestamping guide.
MBO normalization
There are six MEMOIR message types that directly affect displayed book state or trade prints. Databento normalizes these messages to MBO records as follows:
| MEMOIR Message | Databento Message(s) | Description |
|---|---|---|
| Order Added | Add | Adds a new displayed order with order_id, side, price, and size. |
| Order Deleted | Cancel | Removes a displayed order. size is the remaining displayed size removed from the book. |
| Order Reduced | Cancel | Reduces a displayed order without changing time priority. size is the reduced quantity. |
| Order Executed | Trade, Fill, Cancel | Executes a displayed order; updates displayed quantity by the executed amount. |
| Trade | Trade | Non-displayed execution; does not modify displayed book state. |
| Clear Book | CleaR | Clears all displayed orders for the specified instrument. |
For Order Executed messages, the aggressing order is not included in MEMOIR, so normalized Trade records have order_id set to 0.
Normalized records from a single native message share the same sequence.
For Order Executed and Trade, the normalizer also publishes records in the trades schema.
Trades schema normalization
Trades schema records are emitted from:
| MEMOIR Message | Trades Record | Side derivation |
|---|---|---|
| Order Executed | Trade | Opposite of resting order side |
| Trade | Trade | NONE |
Both forms use the normalized event timestamp and have ts_in_delta = 0.
Messages currently not normalized
The normalizer currently does not emit MBO/trades/status/definition output from these native message types:
- Broken Trade
- Corrected Trade
- Snapshot Complete
Status normalization
Status records are normalized from three MEMOIR messages:
- Security Trading Status
- Trading Session Status
- Reg SHO Restriction
Security Trading Status
MEMOIR SecurityTradingStatus |
action |
is_trading |
is_quoting |
|---|---|---|---|
H (Halted) |
HALT |
No | No |
P (Paused) |
PAUSE |
No | No |
Q (Quoting) |
QUOTING |
No | Yes |
T (Trading) |
TRADING |
Yes | Yes |
MEMOIR SecurityTradingStatusReason is normalized to status reason:
| MEMOIR Reason | Status reason |
|---|---|
X (None) |
NONE |
R (Regulatory) |
REGULATORY |
A (Administrative) |
ADMINISTRATIVE |
Trading Session Status
MEMOIR TradingSession |
action |
is_trading |
is_quoting |
|---|---|---|---|
1 (Opening) |
PRE_OPEN |
No | Yes |
2 (Trading) |
TRADING |
Yes | Yes |
3 (PostTrading) |
POST_CLOSE |
Yes | Yes |
4 (Closed) |
CLOSE |
No | No |
Reg SHO Restriction
RegSHORestriction is normalized with action SSR_CHANGE and updates is_short_sell_restricted from the source ShortSaleRestriction flag.
Status publication is gated until both system-level state (Trading Session Status) and per-instrument state (Security Trading Status) are known.
Definition normalization
Definition records are sourced from Instrument Directory messages.
| MEMOIR Field | Databento Field(s) | Description |
|---|---|---|
Timestamp |
ts_event |
Exchange event timestamp. |
SecurityID |
instrument_id |
Session-scoped native instrument identifier. |
Symbol + SymbolSfx |
raw_symbol |
CMS root and suffix combined into Databento raw symbol. |
RoundLot |
min_lot_size_round_lot |
Round lot size. |
IsTestSymbol |
not normalized | Test-flag is not currently exposed as a dedicated definition field. |
MPV |
min_price_increment_amount |
Minimum price variation scaled by the normalizer. |
If a security is updated intraday, the corresponding definition is republished with updated values.
The normalizer also sets exchange = OCEA and match_algorithm = F (FIFO).
Imbalance and statistics
OCEA MEMOIR does not currently emit imbalance or statistics records.