AVRO Templates

AVRO uses schemas (templates) defined in JSON to describe the structure of the data being serialized. Sample AVRO templates for the "TrueSize" (Quote), Trade, and Refresh messages are provided below to illustrate the structure and field definitions.

  • Frame_header

    { 
     "namespace": "cboe.options_lite", 
     "name": "frame_header", 
     "type": "record", 
     "fields": [ 
      {"name": "sequence", "type": "long" }, 
      {"name": "version", "type": "int" } 
     ] 
    } 
  • Msg_payload

    { 
     "namespace": "cboe.options_lite", 
     "name": "msg_payload", 
     "type": "record", 
     "fields": [ 
      {"name": "message_type", "type": "long" }, 
      {"name": "payload", "type": "bytes" } 
     ] 
    }
  • TrueSize

    { 
       "namespace": "Cboe.options_lite", 
       "name": "truesize", 
       "type": "record", 
       "fields": [ 
          { "name": "symbol", "type": "string" }, 
          {"name": "sequence_number", "type": "long" }, 
          {"name": "source_sequence_number", "type": "long" }, 
          {"name": "publish_timestamp", "type": "long" }, 
          {"name": "source_timestamp", "type": "long" }, 
     	 {"name": "message_flags", "type": "int" }, 
          {"name": "bid_price", "type": { "type": "long", "logicalType": "decimal", "precision": 14, "scale": 4  } }, 
          {"name": "bid_size", "type": "int" }, 
          {"name": "ask_price", "type": { "type": "long", "logicalType": "decimal", "precision": 14, "scale": 4  } }, 
          {"name": "ask_size", "type": "int" } 
       ] 
    }  
  • Trade

    { 
       "namespace": "Cboe.options_lite", 
       "name": "trade", 
       "type": "record", 
       "fields": [ 
          { "name": "symbol", "type": "string" }, 
          {"name": "sequence_number", "type": "long" }, 
          {"name": "source_sequence_number", "type": "long" }, 
          {"name": "publish_timestamp", "type": "long" }, 
          {"name": "source_timestamp", "type": "long" }, 
          {"name": "message_flags", "type": "int" }, 
          {"name": "eligibility_flags", "type": "int" }, 
          {"name": "trade_price", "type": { "type": "long", "logicalType": "decimal", "precision": 14, "scale": 4 } }, 
          {"name": "trade_size", "type": "int" }, 
          {"name": "trade_exchange", "type": "string" }, 
          {"name": "trade_condition", "type": "string" } 
       ] 
    } 
  • Refresh / Summary

    { 
       "namespace": "Cboe.options_lite", 
       "name": "refresh", 
       "type": "record", 
       "fields": [ 
          {"name": "symbol", "type": "string" }, 
          {"name": "sequence_number", "type": "long" }, 
          {"name": "publish_timestamp", "type": "long" }, 
          {"name": "message_flags", "type": "int" }, 
          {"name": "open_price", "type": { "type": "long", "logicalType": "decimal", "precision": 14, "scale": 4 } }, 
          {"name": "high_price", "type": { "type": "long", "logicalType": "decimal", "precision": 14, "scale": 4 } }, 
          {"name": "low_price", "type": { "type": "long", "logicalType": "decimal", "precision": 14, "scale": 4 } }, 
          {"name": "last_sequence_number", "type":"long"}, 
          {"name": "last_timestamp", "type": "long" }, 
          {"name": "last_price", "type": { "type": "long", "logicalType": "decimal", "precision": 14, "scale": 4 } }, 
          {"name": "last_size", "type": "int" }, 
          {"name": "last_exchange", "type": "string" }, 
          {"name": "last_condition", "type": "string" }, 
          {"name": "total_volume", "type": "long" }, 
          {"name": "quote_timestamp", "type":"long"}, 
          {"name": "quote_sequence_number", "type":"long"}, 
          {"name": "bid_price", "type": { "type": "long", "logicalType": "decimal", "precision": 14, "scale": 4 } }, 
          {"name": "bid_size", "type": "int" }, 
          {"name": "ask_price", "type": { "type": "long", "logicalType": "decimal", "precision": 14, "scale": 4 } }, 
          {"name": "ask_size", "type": "int" } 
          {"name": "open_interest", "type": "long" } 
       ] 
    } 
  • Reference

    { 
        "namespace": "Cboe.options_lite", 
        "name": "reference", 
        "type": "record", 
        "fields": [ 
            {"name": "symbol", "type": "string" }, 
            {"name": "sequence_number", "type": "long" }, 
            {"name": "publish_timestamp", "type": "long" }, 
            {"name": "message_flags", "type": "int" }, 
            {"name": "option_root", "type": "string" }, 
            {"name": "expiration", "type": "long" }, 
            {"name": "strike_price", "type": { "type": "long", "logicalType": "decimal", "precision": 14, "scale": 4  } 
    }, 
            {"name": "call_put", "type": "string" }, 
            {"name": "exercise_style", "type": "string" }, 
            {"name": "multiplier", "type": { "type": "long", "logicalType": "decimal", "precision": 14, "scale": 4  } 
    }, 
            {"name": "units", "type": { "type": "long", "logicalType": "decimal", "precision": 14, "scale": 4  } }, 
            {"name": "cash", "type": { "type": "long", "logicalType": "decimal", "precision": 14, "scale": 4  } }, 
            {"name": "type", "type": "string" }, 
            {"name": "currency", "type": "string" }, 
            {"name": "underlyer_ticker", "type": "string" }, 
            {"name": "underlyer_type", "type": "string" }, 
            {"name": "underlyer_description", "type": "string" }, 
            {"name": "published_topic", "type": "string" } 
        ] 
    } 
Cboe Titanium U.S. Options Lite Feed Specification - AVRO Templates | Cboe