Message

MultiLegSpread

A detected multi leg options spread and its classification.

fields39 topicmulti-leg-spreads
Proto definition.proto
message MultiLegSpread {
  string id = 1;
  int32 ticker_id = 2;
  string ticker = 3;
  string code = 4;
  Strategy strategy = 5;
  Direction direction = 6;
  OptionTradeSide net_side = 7;
  int64 executed_at = 8;
  int32 size = 9;
  int32 leg_count = 10;
  int32 txns = 11;
  string net_price = 12;
  string net_delta = 13;
  string net_theta = 14;
  string total_premium = 15;
  string underlying_price = 16;
  int32 min_dte = 17;
  int32 max_dte = 18;
  string min_strike = 19;
  string max_strike = 20;
  bool all_otm = 21;
  bool diff_strikes = 22;
  bool diff_expirations = 23;
  bool diff_types = 24;
  repeated int32 option_chain_ids = 25;
  repeated string trade_ids = 26;
  repeated MultiLegSpreadLeg legs = 27;
  bool all_opening_legs = 28;
  string bid_ask_spread = 29;
  repeated string uniq_exchanges = 30;
  repeated string strikes = 31;
  string max_profit = 32;
  string max_loss = 33;
  repeated string breakevens = 34;
  string avg_iv = 35;
  repeated string ivs = 36;
  string net_premium = 37;
  string net_bid = 38;
  string net_ask = 39;
}
Fields
id string 1
Unique id of the spread.
ticker_id int32 2
The underlying ticker's id.
ticker string 3
The underlying ticker symbol.
code string 4
The trade code shared by the legs.
strategy Strategy 5
The classified strategy.
direction Direction 6
Whether the position is long or short.
net_side OptionTradeSide 7
Whether the spread was a net debit (ask) or a net credit (bid).
executed_at int64 8
When the spread executed.
size int32 9
The size of the spread.
leg_count int32 10
How many legs the spread has.
txns int32 11
How many separately executed transactions make up this spread.
net_price string 12
Net price paid (positive) or received (negative) for the spread.
net_delta string 13
The spread's net delta exposure.
net_theta string 14
The spread's net theta exposure.
total_premium string 15
Total premium across all legs.
underlying_price string 16
The underlying price when the spread executed.
min_dte int32 17
Shortest days to expiration among the legs.
max_dte int32 18
Longest days to expiration among the legs.
min_strike string 19
The lowest leg strike.
max_strike string 20
The highest leg strike.
all_otm bool 21
Whether every leg is out of the money.
diff_strikes bool 22
Whether the legs use different strikes.
diff_expirations bool 23
Whether the legs use different expirations.
diff_types bool 24
Whether the legs mix calls and puts.
option_chain_ids int32 repeated 25
The option chain ids of the legs.
trade_ids string repeated 26
The individual trades that make up the spread.
legs MultiLegSpreadLeg repeated 27
The legs of the spread.
all_opening_legs bool 28
Whether every leg opened new positions.
bid_ask_spread string 29
The net quoted bid ask width of the spread, empty when a leg has no quote.
uniq_exchanges string repeated 30
The distinct exchanges the legs traded on.
strikes string repeated 31
The distinct leg strikes.
max_profit string 32
Max profit at expiration; empty when unbounded or multi expiration.
max_loss string 33
Max loss at expiration; empty when unbounded or multi expiration.
breakevens string repeated 34
Underlying prices where the expiry payoff crosses zero. Ascending empty when multi expiration.
avg_iv string 35
Size weighted average implied volatility across the fills.
ivs string repeated 36
Size weighted implied volatility per distinct strike, arranged like strikes; empty entry when unknown.
net_premium string 37
Net premium paid (positive) or received (negative) across all legs. Empty when direction is unknown.
net_bid string 38
Net NBBO bid of the classified spread (buy legs at bid, sell legs at ask). Empty when direction is unknown or a leg has no quote.
net_ask string 39
Net NBBO ask of the classified spread (buy legs at ask, sell legs at bid). Empty when direction is unknown or a leg has no quote.