Skip to main content

create_spread_instrument_id

Function create_spread_instrument_id 

Source
pub fn create_spread_instrument_id(
    leg_tuples: &[(InstrumentId, i32)],
) -> Result<InstrumentId>
Expand description

Create a spread instrument ID from leg tuples.

This implements the same logic as Python’s InstrumentId.new_spread:

  • Creates a symbol string like (1)SYMBOL1_(-2)SYMBOL2
  • Positive ratios: (ratio)SYMBOL
  • Negative ratios: ((abs(ratio)))SYMBOL
  • Sorts legs alphabetically by symbol
  • All legs must have the same venue

§Arguments

  • leg_tuples - Vector of (instrument_id, ratio) tuples

§Errors

Returns an error if:

  • Less than 2 legs provided
  • Any ratio is zero
  • Venues don’t match across legs