ITCHCPP 1.6.0
High-Performance NASDAQ TotalView-ITCH 5.0 Parser & Market-Data Platform
Loading...
Searching...
No Matches
messages.hpp File Reference

Defines every ITCH 5.0 message struct, the Message variant, and the stream-printing helpers used to format them. More...

#include <cstdint>
#include <iostream>
#include <string>
#include <variant>
#include <vector>
+ Include dependency graph for messages.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  itch::SystemEventMessage
 System Event (S): signals a market or data-feed handler event. More...
 
struct  itch::StockDirectoryMessage
 Stock Directory (R): the trading and listing reference data for a security, disseminated at the start of each trading day. More...
 
struct  itch::StockTradingActionMessage
 Stock Trading Action (H): a change in the trading status of a security (halted, paused, quotation-only, or trading). More...
 
struct  itch::RegSHOMessage
 Reg SHO Short Sale Price Test Restriction (Y): the Reg SHO short-sale restriction state for a security. More...
 
struct  itch::MarketParticipantPositionMessage
 Market Participant Position (L): a market participant's (market maker's) status in a security. More...
 
struct  itch::MWCBDeclineLevelMessage
 MWCB Decline Level (V): the Market-Wide Circuit Breaker breach points for the day. More...
 
struct  itch::MWCBStatusMessage
 MWCB Status (W): notification that a Market-Wide Circuit Breaker level has been breached. More...
 
struct  itch::IPOQuotingPeriodUpdateMessage
 IPO Quoting Period Update (K): the anticipated IPO quotation release time and price for a security. More...
 
struct  itch::LULDAuctionCollarMessage
 LULD Auction Collar (J): the auction collar thresholds for a security in a Limit-Up Limit-Down trading pause. More...
 
struct  itch::OperationalHaltMessage
 Operational Halt (h): an operational halt or resumption for a security on a specific market center. More...
 
struct  itch::AddOrderMessage
 Add Order, No MPID Attribution (A): a new displayable order has been accepted and placed on the book. More...
 
struct  itch::AddOrderMPIDAttributionMessage
 Add Order, With MPID Attribution (F): like Add Order, but attributed to a market participant. More...
 
struct  itch::OrderExecutedMessage
 Order Executed (E): a resting order was executed in whole or in part at its display price. More...
 
struct  itch::OrderExecutedWithPriceMessage
 Order Executed With Price (C): a resting order was executed at a price different from its display price (and may be non-printable). More...
 
struct  itch::OrderCancelMessage
 Order Cancel (X): a partial cancellation reduced the shares of a resting order. More...
 
struct  itch::OrderDeleteMessage
 Order Delete (D): a resting order was cancelled in its entirety and removed from the book. More...
 
struct  itch::OrderReplaceMessage
 Order Replace (U): a resting order was replaced with a new order at a new reference number, size, and/or price (same side and security). More...
 
struct  itch::NonCrossTradeMessage
 Trade, Non-Cross (P): an execution of a non-displayable order. More...
 
struct  itch::CrossTradeMessage
 Cross Trade (Q): the result of a cross (opening, closing, halt/IPO cross) for a security. More...
 
struct  itch::BrokenTradeMessage
 Broken Trade (B): a previously disseminated execution has been broken and should be removed from any trade record. More...
 
struct  itch::NOIIMessage
 Net Order Imbalance Indicator (I): the imbalance and price-discovery data disseminated during the opening and closing crosses. More...
 
struct  itch::RetailPriceImprovementIndicatorMessage
 Retail Price Improvement Indicator (N): the presence of retail price improvement interest on the bid, the offer, or both. More...
 
struct  itch::DLCRMessage
 Direct Listing with Capital Raise Price Discovery (O): price-discovery data for a Direct Listing with a Capital Raise (DLCR) security. More...
 

Namespaces

namespace  itch
 

Typedefs

using itch::Message = std::variant< SystemEventMessage, StockDirectoryMessage, StockTradingActionMessage, RegSHOMessage, MarketParticipantPositionMessage, MWCBDeclineLevelMessage, MWCBStatusMessage, IPOQuotingPeriodUpdateMessage, LULDAuctionCollarMessage, OperationalHaltMessage, AddOrderMessage, AddOrderMPIDAttributionMessage, OrderExecutedMessage, OrderExecutedWithPriceMessage, OrderCancelMessage, OrderDeleteMessage, OrderReplaceMessage, NonCrossTradeMessage, CrossTradeMessage, BrokenTradeMessage, NOIIMessage, RetailPriceImprovementIndicatorMessage, DLCRMessage >
 A variant able to hold any one of the ITCH 5.0 message structs.
 

Functions

auto itch::to_string (const char *source, size_t size) -> std::string
 Converts a fixed-width character array to a string, trimming trailing spaces and NUL characters.
 
auto itch::print_impl (std::ostream &out, const SystemEventMessage &msg) -> void
 Per-message-type stream formatter family, used internally by print_message to dispatch to the correct overload for whichever alternative of Message it is given.
 
auto itch::print_impl (std::ostream &out, const StockDirectoryMessage &msg) -> void
 
auto itch::print_impl (std::ostream &out, const StockTradingActionMessage &msg) -> void
 
auto itch::print_impl (std::ostream &out, const RegSHOMessage &msg) -> void
 
auto itch::print_impl (std::ostream &out, const MarketParticipantPositionMessage &msg) -> void
 
auto itch::print_impl (std::ostream &out, const MWCBDeclineLevelMessage &msg) -> void
 
auto itch::print_impl (std::ostream &out, const MWCBStatusMessage &msg) -> void
 
auto itch::print_impl (std::ostream &out, const IPOQuotingPeriodUpdateMessage &msg) -> void
 
auto itch::print_impl (std::ostream &out, const LULDAuctionCollarMessage &msg) -> void
 
auto itch::print_impl (std::ostream &out, const OperationalHaltMessage &msg) -> void
 
auto itch::print_impl (std::ostream &out, const AddOrderMessage &msg) -> void
 
auto itch::print_impl (std::ostream &out, const AddOrderMPIDAttributionMessage &msg) -> void
 
auto itch::print_impl (std::ostream &out, const OrderExecutedMessage &msg) -> void
 
auto itch::print_impl (std::ostream &out, const OrderExecutedWithPriceMessage &msg) -> void
 
auto itch::print_impl (std::ostream &out, const OrderCancelMessage &msg) -> void
 
auto itch::print_impl (std::ostream &out, const OrderDeleteMessage &msg) -> void
 
auto itch::print_impl (std::ostream &out, const OrderReplaceMessage &msg) -> void
 
auto itch::print_impl (std::ostream &out, const NonCrossTradeMessage &msg) -> void
 
auto itch::print_impl (std::ostream &out, const CrossTradeMessage &msg) -> void
 
auto itch::print_impl (std::ostream &out, const BrokenTradeMessage &msg) -> void
 
auto itch::print_impl (std::ostream &out, const NOIIMessage &msg) -> void
 
auto itch::print_impl (std::ostream &out, const RetailPriceImprovementIndicatorMessage &msg) -> void
 
auto itch::print_impl (std::ostream &out, const DLCRMessage &msg) -> void
 
auto itch::print_message (std::ostream &out, const Message &msg) -> void
 Dispatches to the print_impl overload matching the active alternative of msg and writes its formatted representation to out.
 
auto itch::operator<< (std::ostream &out, const Message &msg) -> std::ostream &
 Streams a formatted representation of msg to out.
 

Variables

constexpr int itch::STOCK_LEN = 8
 
constexpr double itch::PRICE_DIVISOR = 10000.0
 
constexpr double itch::MWCB_PRICE_DIVISOR = 1.0E8
 

Detailed Description

Defines every ITCH 5.0 message struct, the Message variant, and the stream-printing helpers used to format them.

The TotalView ITCH feed is composed of a series of messages that describe orders added to, removed from, and executed on Nasdaq, as well as Cross and Stock Directory information. Each message begins with a one-byte Message Type field that identifies the structure of the remainder of the message; this header defines one struct per message type, the Message variant able to hold any of them, and free functions to print a message to a stream.

Author
Bertin Balouki SIMYELI

Definition in file messages.hpp.