Skip to main content

parse_spread_instrument_id_to_legs

Function parse_spread_instrument_id_to_legs 

Source
pub fn parse_spread_instrument_id_to_legs(
    instrument_id: &InstrumentId,
) -> Result<Vec<(InstrumentId, i32)>>
Expand description

Parse a spread instrument ID back into leg tuples.

This implements the same logic as Python’s InstrumentId.to_list():

  • Parses symbol string like (1)SYMBOL1_((2))SYMBOL2
  • Positive ratios: (ratio)SYMBOL
  • Negative ratios: ((abs(ratio)))SYMBOL
  • Returns sorted list of (instrument_id, ratio) tuples

§Arguments

  • instrument_id - The spread instrument ID to parse

§Returns

Returns a vector of (instrument_id, ratio) tuples, sorted alphabetically by symbol.

§Errors

Returns an error if the symbol format is invalid.