This document explains the Cboe Australia Titanium Multicast Depth of Book (PITCH) protocol in simple terms for Business Analysts who may not have experience with financial trading systems. We'll use plain language and visual examples to help you understand how market data flows through the system.
PITCH is like a news broadcast for the stock market. It tells everyone:
- What stocks are available for trading
- Who wants to buy or sell these stocks
- At what prices people want to buy or sell
- When trades actually happen
Imagine a marketplace where people hold up signs showing what they want to buy or sell. PITCH is the system that takes photos of all those signs and broadcasts them to everyone who's interested.
MARKET ANNOUNCER (PITCH)
|
| "Company ABC: Someone wants to buy 100 shares at $10.50!"
| "Company XYZ: Someone just sold 50 shares at $25.75!"
| "Company ABC: That buy order was just canceled!"
▼
MARKET PARTICIPANTS (Traders, Banks, Investors)
For business people, PITCH matters because:
- Speed: In modern markets, information needs to travel fast (in nanoseconds!)
- Completeness: Traders need to see ALL orders, not just some
- Reliability: Missing even one message could mean making bad trading decisions
- Transparency: Everyone gets the same information at roughly the same time
Think of PITCH as a sports broadcaster with three camera crews (Feeds A, B, and E) all filming the same game from different angles:
MARKET ACTIVITY
|
▼
┌─────────────┐
│ CBOE SYSTEM│
└─────────────┘
|
┌────┼────┐
| | |
▼ ▼ ▼
Feed A Feed B Feed E (Same content, different delivery paths)
| | |
└────┼────┘
|
▼
MARKET PARTICIPANTS
These feeds contain identical information but travel through different network paths. This redundancy ensures that if one path has problems, the others can still deliver the information.
Time CBOE Market PITCH Feed Participant Systems
---- ----------- ---------- -------------------
9:00AM Market Opens Trading Status "Market is open!"
Message
|
▼
9:01AM New Buy Order Add Order "New order in the book"
Message /
| /
▼ ▼
9:02AM Order Executes Order Executed "Order executed!"
Message /
| /
▼ ▼
9:03AM Order Changes Modify Order "Order changed!"
Message
The "order book" is like a set of waiting lists - one for buyers and one for sellers.
Here's a simple visualization of an order book for a stock called "DEMO":
DEMO STOCK ORDER BOOK
┌─────────────────────┐ ┌─────────────────────┐
│ BUY ORDERS │ │ SELL ORDERS │
├─────────┬───────────┤ ├─────────┬───────────┤
│ Price │ Quantity │ │ Price │ Quantity │
├─────────┼───────────┤ ├─────────┼───────────┤
│ $10.25 │ 200 │ │ $10.30 │ 150 │ ◄── Smallest gap between
│ $10.20 │ 350 │ │ $10.35 │ 300 │ buy and sell prices
│ $10.15 │ 500 │ │ $10.40 │ 200 │ is called the "spread"
│ $10.10 │ 100 │ │ $10.45 │ 250 │
└─────────┴───────────┘ └─────────┴───────────┘
Best Bid: $10.25 Best Ask: $10.30
In this example:
- The highest buy price (best bid) is $10.25
- The lowest sell price (best ask) is $10.30
- The "spread" is the difference: $0.05
PITCH messages constantly update this book as orders are added, changed, or removed.
There are different types of orders in the market:
-
Visible Orders: Everyone can see these orders in the book.
[VISIBLE ORDER] Buy 100 shares at $10.25 -
Undisclosed (Hidden) Orders: Orders that exist but aren't visible to others.
[HIDDEN ORDER] Buy 500 shares at $10.25 (Quantity shows as 0 in PITCH) -
Iceberg Orders: Like icebergs, most of the order is hidden underwater.
[ICEBERG ORDER] Buy 1000 shares at $10.25 Visible portion: 100 shares Hidden portion: 900 shares
Stocks can be in different states throughout the day:
┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐
│ CLOSED │ ──→ │ PRE-MARKET │ ──→ │ TRADING │ ──→ │ POST-MARKET│
└───────────┘ └───────────┘ └───────────┘ └───────────┘
Overnight 7:00-10:00 10:00-16:00 16:00-17:00
Additional states include:
- Halted: Trading temporarily stopped (perhaps due to news)
- Pre-Open/Pre-Close: Getting ready for an auction
- MOC Trading: Market-on-Close only trading period
This says: "Someone has placed a new order in the market."
ADD ORDER
Time: 09:15:30.123456789
Order ID: ABC123
Side: Buy
Quantity: 100
Symbol: DEMO
Price: $10.25
This adds a new row to the order book.
This says: "Someone has changed their existing order."
MODIFY ORDER
Time: 09:16:45.123456789
Order ID: ABC123 (same order as before)
NEW Quantity: 150
NEW Price: $10.30
This updates the existing row in the order book.
This says: "Someone has canceled their order."
DELETE ORDER
Time: 09:17:30.123456789
Order ID: ABC123
This removes the row from the order book.
This says: "Someone's buy/sell order has been matched with another order."
ORDER EXECUTED
Time: 09:18:15.123456789
Order ID: ABC123
Executed Quantity: 100
Execution ID: EX12345
This means a trade has occurred and the order needs to be updated or removed.
This says: "The trading status for this stock has changed."
TRADING STATUS
Time: 10:00:00.000000000
Symbol: DEMO
Status: T (Trading)
This tells everyone that the stock is now available for regular trading.
Auctions are special times when buy and sell orders are collected and then matched at a single price.
Pre-Market Opening Auction Regular Trading
----------- --------------- ---------------
┌─────────────────────────┐
│ Orders accumulate but │
│ don't execute right away│
└─────────────────────────┘
│
▼
┌─────────────────────────┐
│ System calculates the │
│ price that matches most │
│ buy and sell orders │
└─────────────────────────┘
│
▼
┌─────────────────────────┐
│ At auction end, all │
│ matched orders execute │
│ at the same price │
└─────────────────────────┘
Auction messages tell you:
- The indicative price (where the auction might happen)
- How many shares could trade at that price
- The final auction results
What happens if you miss some messages? PITCH has two ways to get back on track:
If you miss a few messages, you can ask for them specifically:
YOU: "I received message #1001, then message #1005.
I missed #1002, #1003, and #1004!"
GAP REQUEST PROXY: "Let me send you those missing ones."
*sends the missing messages*
YOU: "Thanks! Now I'm caught up."
If you miss a lot of messages or just joined, you can get a snapshot of the current state:
YOU: "I just connected. What's the current state of everything?"
SPIN SERVER: "Let me send you a snapshot of the entire order book."
*sends all active orders*
YOU: "Thanks! Now I know what orders are active right now."
For Business Analysts, understanding PITCH matters because:
-
System Requirements: Your trading systems must be able to process these messages quickly and accurately
-
Business Rules: Different messages trigger different business processes
-
Monitoring Needs: You need to know when the system is falling behind or missing messages
-
Compliance: Regulations often require you to store and analyze this market data
-
Testing Scenarios: You'll need to test how your systems handle each message type
- Bid: The price someone is willing to pay to buy
- Ask/Offer: The price someone is willing to accept to sell
- Spread: The difference between best bid and best ask
- Order Book: The collection of all buy and sell orders
- Depth of Book: How many price levels are visible in the order book
- Execution: When a buy and sell order match, creating a trade
- Auction: A process to match multiple buyers and sellers at a single price
- Market Data: Information about orders and trades
- Feed: A continuous stream of market data messages
- Multicast: A way to send the same data to multiple recipients simultaneously
Think of it like having multiple routes to work. If there's a traffic jam on one route, you can take another. Similarly, if one network path has issues, the other feeds can still deliver the data.
This is like falling behind in taking notes during a fast lecture. You miss information, which could lead to bad trading decisions. This is why systems need to be designed to handle peak message rates with room to spare.
Each message has a sequence number, like pages in a book. If you go from page 10 to page 12, you know page 11 is missing. PITCH works the same way - if you see sequence numbers 1005 then 1007, you know you missed 1006.
All executions are trades, but not all trades are reported as executions in PITCH. An execution happens when two orders match on the exchange. However, trades can also happen off-exchange and just be reported to CBOE afterward.