Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save architectureman/ee591f8afacd1d60aea2603b00119cc1 to your computer and use it in GitHub Desktop.

Select an option

Save architectureman/ee591f8afacd1d60aea2603b00119cc1 to your computer and use it in GitHub Desktop.
CBOE PITCH Protocol for Business Analysts - Beginner's Guide

CBOE PITCH Protocol for Business Analysts - Beginner's Guide

Introduction

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.

What is PITCH and Why Does It Matter?

The Basics

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)

Why It Matters

For business people, PITCH matters because:

  1. Speed: In modern markets, information needs to travel fast (in nanoseconds!)
  2. Completeness: Traders need to see ALL orders, not just some
  3. Reliability: Missing even one message could mean making bad trading decisions
  4. Transparency: Everyone gets the same information at roughly the same time

How Information Flows Through PITCH

The Big Picture

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.

Message Flow Visualization

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

Key Concepts Explained

Order Book

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.

Order Types

There are different types of orders in the market:

  1. Visible Orders: Everyone can see these orders in the book.

    [VISIBLE ORDER]  Buy 100 shares at $10.25
    
  2. 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)
    
  3. 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
    

Trading Status

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

Key Message Types in Plain English

1. Add Order Message

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.

2. Modify Order Message

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.

3. Delete Order Message

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.

4. Order Executed Message

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.

5. Trading Status Message

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 Explained

Auctions are special times when buy and sell orders are collected and then matched at a single price.

Opening Auction Visualization

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

How Data Recovery Works

What happens if you miss some messages? PITCH has two ways to get back on track:

1. Gap Recovery

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."

2. Spin Recovery

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."

Business Implications

For Business Analysts, understanding PITCH matters because:

  1. System Requirements: Your trading systems must be able to process these messages quickly and accurately

  2. Business Rules: Different messages trigger different business processes

  3. Monitoring Needs: You need to know when the system is falling behind or missing messages

  4. Compliance: Regulations often require you to store and analyze this market data

  5. Testing Scenarios: You'll need to test how your systems handle each message type

Glossary for Non-Financial People

  • 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

Common Questions Business Analysts Might Ask

"Why do we need multiple feeds (A, B, E)?"

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.

"What happens if our system can't keep up with the message rate?"

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.

"How do we know if we've missed messages?"

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.

"What's the difference between a trade and an execution?"

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment