Typed components of a unified extended symbol from Bourse.Symbol.parse_extended/1.
Fields mirror the Bourse unified derivative grammar:
BASE/QUOTE[:SETTLE[-EXPIRY[-STRIKE-OPTION_TYPE]]]Spot pairs leave settle/expiry/strike/option_type as nil. Swap fills
settle; futures add expiry; options add strike and option_type ("C"/"P").