investfly.models.strategy.OptionStructureSpec

Standard and custom multi-leg option structure specifications.

@dataclass
class OptionStructureSpec:

Base contract for a runtime-selected option structure.

@dataclass
class LongCallSpec(OptionStructureSpec):

One long call selected by expiration and strike rules.

@dataclass
class LongPutSpec(OptionStructureSpec):

One long put selected by expiration and strike rules.

@dataclass
class CoveredCallSpec(OptionStructureSpec):

Covered call composed of underlying shares and a short call.

@dataclass
class CashSecuredPutSpec(OptionStructureSpec):

Cash-secured short put structure.

@dataclass
class BullPutCreditSpreadSpec(OptionStructureSpec):

Bullish put credit spread with short and protective long puts.

@dataclass
class BearCallCreditSpreadSpec(OptionStructureSpec):

Bearish call credit spread with short and protective long calls.

@dataclass
class BullCallDebitSpreadSpec(OptionStructureSpec):

Bullish call debit spread with long and short calls.

@dataclass
class BearPutDebitSpreadSpec(OptionStructureSpec):

Bearish put debit spread with long and short puts.

@dataclass
class IronCondorSpec(OptionStructureSpec):

Four-leg iron condor with call and put credit spreads.

@dataclass
class CallButterflySpec(OptionStructureSpec):

Three-strike call butterfly structure.

@dataclass
class PutButterflySpec(OptionStructureSpec):

Three-strike put butterfly structure.

@dataclass
class LongStraddleSpec(OptionStructureSpec):

Long call and put at the same strike and expiration.

@dataclass
class ShortStraddleSpec(OptionStructureSpec):

Short call and put at the same strike and expiration.

@dataclass
class LongStrangleSpec(OptionStructureSpec):

Long out-of-the-money call and put structure.

@dataclass
class ShortStrangleSpec(OptionStructureSpec):

Short out-of-the-money call and put structure.

@dataclass
class LongCallCalendarSpreadSpec(OptionStructureSpec):

Call calendar spread using near and far expirations.

@dataclass
class LongPutCalendarSpreadSpec(OptionStructureSpec):

Put calendar spread using near and far expirations.

@dataclass
class LongCallDiagonalSpreadSpec(OptionStructureSpec):

Call diagonal spread using different strikes and expirations.

@dataclass
class LongPutDiagonalSpreadSpec(OptionStructureSpec):

Put diagonal spread using different strikes and expirations.

@dataclass
class ProtectivePutSpec(OptionStructureSpec):

Underlying shares protected by a long put.

@dataclass
class CollarSpec(OptionStructureSpec):

Underlying shares protected by a put and financed by a short call.

@dataclass
class IronButterflySpec(OptionStructureSpec):

Four-leg iron butterfly centered on a shared short strike.

@dataclass
class LongCallCondorSpec(OptionStructureSpec):

Four-strike long call condor structure.

@dataclass
class CustomComboSpec(OptionStructureSpec):

Custom multi-leg option structure assembled from explicit leg specifications.