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" } ] }





