Lean  $LEAN_TAG$
QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions Class Reference

Provides a listing of pre-defined OptionStrategyDefinition These definitions are blueprints for OptionStrategy instances. Factory functions for those can be found at OptionStrategies More...

Properties

static ImmutableList< OptionStrategyDefinitionAllDefinitions [get]
 Collection of all OptionStrategyDefinitions More...
 
static OptionStrategyDefinition CoveredCall [get]
 Hold 1 lot of the underlying and sell 1 call contract More...
 
static OptionStrategyDefinition ProtectiveCall [get]
 Hold -1 lot of the underlying and buy 1 call contract More...
 
static OptionStrategyDefinition CoveredPut [get]
 Hold -1 lot of the underlying and sell 1 put contract More...
 
static OptionStrategyDefinition ProtectivePut [get]
 Hold 1 lot of the underlying and buy 1 put contract More...
 
static OptionStrategyDefinition ProtectiveCollar [get]
 Hold 1 lot of the underlying, sell 1 call contract and buy 1 put contract. The strike price of the short call is below the strike of the long put with the same expiration. More...
 
static OptionStrategyDefinition Conversion [get]
 Hold 1 lot of the underlying, sell 1 call contract and buy 1 put contract. The strike price of the call and put are the same, with the same expiration. More...
 
static OptionStrategyDefinition ReverseConversion [get]
 Hold 1 lot of the underlying, sell 1 call contract and buy 1 put contract. The strike price of the call and put are the same, with the same expiration. More...
 
static OptionStrategyDefinition NakedCall [get]
 Sell 1 call contract without holding the underlying More...
 
static OptionStrategyDefinition NakedPut [get]
 Sell 1 put contract without holding the underlying More...
 
static OptionStrategyDefinition BearCallSpread [get]
 Bear Call Spread strategy consists of two calls with the same expiration but different strikes. The strike price of the short call is below the strike of the long call. This is a credit spread. More...
 
static OptionStrategyDefinition BearPutSpread [get]
 Bear Put Spread strategy consists of two puts with the same expiration but different strikes. The strike price of the short put is below the strike of the long put. This is a debit spread. More...
 
static OptionStrategyDefinition BullCallSpread [get]
 Bull Call Spread strategy consists of two calls with the same expiration but different strikes. The strike price of the short call is higher than the strike of the long call. This is a debit spread. More...
 
static OptionStrategyDefinition BullPutSpread [get]
 Method creates new Bull Put Spread strategy, that consists of two puts with the same expiration but different strikes. The strike price of the short put is above the strike of the long put. This is a credit spread. More...
 
static OptionStrategyDefinition Straddle [get]
 Straddle strategy is a combination of buying a call and buying a put, both with the same strike price and expiration. More...
 
static OptionStrategyDefinition ShortStraddle [get]
 Short Straddle strategy is a combination of selling a call and selling a put, both with the same strike price and expiration. More...
 
static OptionStrategyDefinition Strangle [get]
 Strangle strategy consists of buying a call option and a put option with the same expiration date. The strike price of the call is above the strike of the put. More...
 
static OptionStrategyDefinition ShortStrangle [get]
 Strangle strategy consists of selling a call option and a put option with the same expiration date. The strike price of the call is above the strike of the put. More...
 
static OptionStrategyDefinition ButterflyCall [get]
 Short Butterfly Call strategy consists of two short calls at a middle strike, and one long call each at a lower and upper strike. The upper and lower strikes must both be equidistant from the middle strike. More...
 
static OptionStrategyDefinition ShortButterflyCall [get]
 Butterfly Call strategy consists of two long calls at a middle strike, and one short call each at a lower and upper strike. The upper and lower strikes must both be equidistant from the middle strike. More...
 
static OptionStrategyDefinition ButterflyPut [get]
 Butterfly Put strategy consists of two short puts at a middle strike, and one long put each at a lower and upper strike. The upper and lower strikes must both be equidistant from the middle strike. More...
 
static OptionStrategyDefinition ShortButterflyPut [get]
 Short Butterfly Put strategy consists of two long puts at a middle strike, and one short put each at a lower and upper strike. The upper and lower strikes must both be equidistant from the middle strike. More...
 
static OptionStrategyDefinition CallCalendarSpread [get]
 Call Calendar Spread strategy is a short one call option and long a second call option with a more distant expiration. More...
 
static OptionStrategyDefinition ShortCallCalendarSpread [get]
 Short Call Calendar Spread strategy is long one call option and short a second call option with a more distant expiration. More...
 
static OptionStrategyDefinition PutCalendarSpread [get]
 Put Calendar Spread strategy is a short one put option and long a second put option with a more distant expiration. More...
 
static OptionStrategyDefinition ShortPutCalendarSpread [get]
 Short Put Calendar Spread strategy is long one put option and short a second put option with a more distant expiration. More...
 
static OptionStrategyDefinition IronButterfly [get]
 Iron Butterfly strategy consists of a short ATM call, a short ATM put, a long OTM call, and a long OTM put. The strike spread between ATM and OTM call and put are the same. All at the same expiration date. More...
 
static OptionStrategyDefinition ShortIronButterfly [get]
 Short Iron Butterfly strategy consists of a long ATM call, a long ATM put, a short OTM call, and a short OTM put. The strike spread between ATM and OTM call and put are the same. All at the same expiration date. More...
 
static OptionStrategyDefinition IronCondor [get]
 Iron Condor strategy is buying a put, selling a put with a higher strike price, selling a call and buying a call with a higher strike price. All at the same expiration date More...
 
static OptionStrategyDefinition ShortIronCondor [get]
 Short Iron Condor strategy is selling a put, buying a put with a higher strike price, buying a call and selling a call with a higher strike price. All at the same expiration date More...
 
static OptionStrategyDefinition BoxSpread [get]
 Long Box Spread strategy is long 1 call and short 1 put with the same strike, while short 1 call and long 1 put with a higher, same strike. All options have the same expiry. expiration. More...
 
static OptionStrategyDefinition ShortBoxSpread [get]
 Short Box Spread strategy is short 1 call and long 1 put with the same strike, while long 1 call and short 1 put with a higher, same strike. All options have the same expiry. expiration. More...
 
static OptionStrategyDefinition JellyRoll [get]
 Jelly Roll is short 1 call and long 1 call with the same strike but further expiry, together with long 1 put and short 1 put with the same strike and expiries as calls. More...
 
static OptionStrategyDefinition ShortJellyRoll [get]
 Short Jelly Roll is long 1 call and short 1 call with the same strike but further expiry, together with short 1 put and long 1 put with the same strike and expiries as calls. More...
 
static OptionStrategyDefinition BearCallLadder [get]
 Bear Call Ladder strategy is short 1 call and long 2 calls, with ascending strike prices in order, All options have the same expiry. More...
 
static OptionStrategyDefinition BearPutLadder [get]
 Bear Put Ladder strategy is long 1 put and short 2 puts, with descending strike prices in order, All options have the same expiry. More...
 
static OptionStrategyDefinition BullCallLadder [get]
 Bull Call Ladder strategy is long 1 call and short 2 calls, with ascending strike prices in order, All options have the same expiry. More...
 
static OptionStrategyDefinition BullPutLadder [get]
 Bull Put Ladder strategy is short 1 put and long 2 puts, with descending strike prices in order, All options have the same expiry. More...
 

Detailed Description

Provides a listing of pre-defined OptionStrategyDefinition These definitions are blueprints for OptionStrategy instances. Factory functions for those can be found at OptionStrategies

Definition at line 28 of file OptionStrategyDefinitions.cs.

Property Documentation

◆ AllDefinitions

ImmutableList<OptionStrategyDefinition> QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.AllDefinitions
staticget

Collection of all OptionStrategyDefinitions

Definition at line 44 of file OptionStrategyDefinitions.cs.

◆ CoveredCall

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.CoveredCall
staticget

Hold 1 lot of the underlying and sell 1 call contract

Inverse of the ProtectiveCall

Definition at line 75 of file OptionStrategyDefinitions.cs.

◆ ProtectiveCall

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.ProtectiveCall
staticget
Initial value:
= OptionStrategyDefinition.Create("Covered Call", 1,
OptionStrategyDefinition.CallLeg(-1)
)

Hold -1 lot of the underlying and buy 1 call contract

Inverse of the CoveredCall

Definition at line 84 of file OptionStrategyDefinitions.cs.

◆ CoveredPut

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.CoveredPut
staticget
Initial value:
= OptionStrategyDefinition.Create("Protective Call", -1,
OptionStrategyDefinition.CallLeg(1)
)

Hold -1 lot of the underlying and sell 1 put contract

Inverse of the ProtectivePut

Definition at line 93 of file OptionStrategyDefinitions.cs.

◆ ProtectivePut

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.ProtectivePut
staticget
Initial value:
= OptionStrategyDefinition.Create("Covered Put", -1,
OptionStrategyDefinition.PutLeg(-1)
)

Hold 1 lot of the underlying and buy 1 put contract

Inverse of the CoveredPut

Definition at line 102 of file OptionStrategyDefinitions.cs.

◆ ProtectiveCollar

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.ProtectiveCollar
staticget
Initial value:
= OptionStrategyDefinition.Create("Protective Put", 1,
OptionStrategyDefinition.PutLeg(1)
)

Hold 1 lot of the underlying, sell 1 call contract and buy 1 put contract. The strike price of the short call is below the strike of the long put with the same expiration.

Combination of CoveredCall and ProtectivePut

Definition at line 112 of file OptionStrategyDefinitions.cs.

◆ Conversion

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.Conversion
staticget
Initial value:
= OptionStrategyDefinition.Create("Protective Collar", 1,
OptionStrategyDefinition.CallLeg(-1),
OptionStrategyDefinition.PutLeg(1, (legs, p) => p.Strike < legs[0].Strike,
(legs, p) => p.Expiration == legs[0].Expiration)
)

Hold 1 lot of the underlying, sell 1 call contract and buy 1 put contract. The strike price of the call and put are the same, with the same expiration.

A special case of ProtectiveCollar

Definition at line 124 of file OptionStrategyDefinitions.cs.

◆ ReverseConversion

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.ReverseConversion
staticget
Initial value:
= OptionStrategyDefinition.Create("Conversion", 1,
OptionStrategyDefinition.CallLeg(-1),
OptionStrategyDefinition.PutLeg(1, (legs, p) => p.Strike == legs[0].Strike,
(legs, p) => p.Expiration == legs[0].Expiration)
)

Hold 1 lot of the underlying, sell 1 call contract and buy 1 put contract. The strike price of the call and put are the same, with the same expiration.

Inverse of Conversion

Definition at line 136 of file OptionStrategyDefinitions.cs.

◆ NakedCall

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.NakedCall
staticget
Initial value:
= OptionStrategyDefinition.Create("Reverse Conversion", -1,
OptionStrategyDefinition.CallLeg(1),
OptionStrategyDefinition.PutLeg(-1, (legs, p) => p.Strike == legs[0].Strike,
(legs, p) => p.Expiration == legs[0].Expiration)
)

Sell 1 call contract without holding the underlying

Definition at line 146 of file OptionStrategyDefinitions.cs.

◆ NakedPut

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.NakedPut
staticget
Initial value:
= OptionStrategyDefinition.Create("Naked Call",
OptionStrategyDefinition.CallLeg(-1)
)

Sell 1 put contract without holding the underlying

Definition at line 154 of file OptionStrategyDefinitions.cs.

◆ BearCallSpread

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.BearCallSpread
staticget
Initial value:
= OptionStrategyDefinition.Create("Naked Put",
OptionStrategyDefinition.PutLeg(-1)
)

Bear Call Spread strategy consists of two calls with the same expiration but different strikes. The strike price of the short call is below the strike of the long call. This is a credit spread.

Definition at line 163 of file OptionStrategyDefinitions.cs.

◆ BearPutSpread

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.BearPutSpread
staticget
Initial value:
= OptionStrategyDefinition.Create("Bear Call Spread",
OptionStrategyDefinition.CallLeg(-1),
OptionStrategyDefinition.CallLeg(+1, (legs, p) => p.Strike > legs[0].Strike,
(legs, p) => p.Expiration == legs[0].Expiration)
)

Bear Put Spread strategy consists of two puts with the same expiration but different strikes. The strike price of the short put is below the strike of the long put. This is a debit spread.

Definition at line 174 of file OptionStrategyDefinitions.cs.

◆ BullCallSpread

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.BullCallSpread
staticget
Initial value:
= OptionStrategyDefinition.Create("Bear Put Spread",
OptionStrategyDefinition.PutLeg(1),
OptionStrategyDefinition.PutLeg(-1, (legs, p) => p.Strike < legs[0].Strike,
(legs, p) => p.Expiration == legs[0].Expiration)
)

Bull Call Spread strategy consists of two calls with the same expiration but different strikes. The strike price of the short call is higher than the strike of the long call. This is a debit spread.

Definition at line 185 of file OptionStrategyDefinitions.cs.

◆ BullPutSpread

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.BullPutSpread
staticget
Initial value:
= OptionStrategyDefinition.Create("Bull Call Spread",
OptionStrategyDefinition.CallLeg(+1),
OptionStrategyDefinition.CallLeg(-1, (legs, p) => p.Strike > legs[0].Strike,
(legs, p) => p.Expiration == legs[0].Expiration)
)

Method creates new Bull Put Spread strategy, that consists of two puts with the same expiration but different strikes. The strike price of the short put is above the strike of the long put. This is a credit spread.

Definition at line 197 of file OptionStrategyDefinitions.cs.

◆ Straddle

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.Straddle
staticget
Initial value:
= OptionStrategyDefinition.Create("Bull Put Spread",
OptionStrategyDefinition.PutLeg(-1),
OptionStrategyDefinition.PutLeg(+1, (legs, p) => p.Strike < legs[0].Strike,
(legs, p) => p.Expiration == legs[0].Expiration)
)

Straddle strategy is a combination of buying a call and buying a put, both with the same strike price and expiration.

Definition at line 208 of file OptionStrategyDefinitions.cs.

◆ ShortStraddle

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.ShortStraddle
staticget
Initial value:
= OptionStrategyDefinition.Create("Straddle",
OptionStrategyDefinition.CallLeg(+1),
OptionStrategyDefinition.PutLeg(+1, (legs, p) => p.Strike == legs[0].Strike,
(legs, p) => p.Expiration == legs[0].Expiration)
)

Short Straddle strategy is a combination of selling a call and selling a put, both with the same strike price and expiration.

Inverse of the Straddle

Definition at line 220 of file OptionStrategyDefinitions.cs.

◆ Strangle

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.Strangle
staticget
Initial value:
= OptionStrategyDefinition.Create("Short Straddle",
OptionStrategyDefinition.CallLeg(-1),
OptionStrategyDefinition.PutLeg(-1, (legs, p) => p.Strike == legs[0].Strike,
(legs, p) => p.Expiration == legs[0].Expiration)
)

Strangle strategy consists of buying a call option and a put option with the same expiration date. The strike price of the call is above the strike of the put.

Definition at line 231 of file OptionStrategyDefinitions.cs.

◆ ShortStrangle

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.ShortStrangle
staticget
Initial value:
= OptionStrategyDefinition.Create("Strangle",
OptionStrategyDefinition.CallLeg(+1),
OptionStrategyDefinition.PutLeg(+1, (legs, p) => p.Strike < legs[0].Strike,
(legs, p) => p.Expiration == legs[0].Expiration)
)

Strangle strategy consists of selling a call option and a put option with the same expiration date. The strike price of the call is above the strike of the put.

Inverse of the Strangle

Definition at line 243 of file OptionStrategyDefinitions.cs.

◆ ButterflyCall

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.ButterflyCall
staticget
Initial value:
= OptionStrategyDefinition.Create("Short Strangle",
OptionStrategyDefinition.CallLeg(-1),
OptionStrategyDefinition.PutLeg(-1, (legs, p) => p.Strike < legs[0].Strike,
(legs, p) => p.Expiration == legs[0].Expiration)
)

Short Butterfly Call strategy consists of two short calls at a middle strike, and one long call each at a lower and upper strike. The upper and lower strikes must both be equidistant from the middle strike.

Definition at line 254 of file OptionStrategyDefinitions.cs.

◆ ShortButterflyCall

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.ShortButterflyCall
staticget
Initial value:
= OptionStrategyDefinition.Create("Butterfly Call",
OptionStrategyDefinition.CallLeg(+1),
OptionStrategyDefinition.CallLeg(-2, (legs, p) => p.Strike >= legs[0].Strike,
(legs, p) => p.Expiration == legs[0].Expiration),
OptionStrategyDefinition.CallLeg(+1, (legs, p) => p.Strike >= legs[1].Strike,
(legs, p) => p.Expiration == legs[0].Expiration,
(legs, p) => p.Strike - legs[1].Strike == legs[1].Strike - legs[0].Strike)
)

Butterfly Call strategy consists of two long calls at a middle strike, and one short call each at a lower and upper strike. The upper and lower strikes must both be equidistant from the middle strike.

Definition at line 268 of file OptionStrategyDefinitions.cs.

◆ ButterflyPut

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.ButterflyPut
staticget
Initial value:
= OptionStrategyDefinition.Create("Short Butterfly Call",
OptionStrategyDefinition.CallLeg(-1),
OptionStrategyDefinition.CallLeg(+2, (legs, p) => p.Strike >= legs[0].Strike,
(legs, p) => p.Expiration == legs[0].Expiration),
OptionStrategyDefinition.CallLeg(-1, (legs, p) => p.Strike >= legs[1].Strike,
(legs, p) => p.Expiration == legs[0].Expiration,
(legs, p) => p.Strike - legs[1].Strike == legs[1].Strike - legs[0].Strike)
)

Butterfly Put strategy consists of two short puts at a middle strike, and one long put each at a lower and upper strike. The upper and lower strikes must both be equidistant from the middle strike.

Definition at line 282 of file OptionStrategyDefinitions.cs.

◆ ShortButterflyPut

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.ShortButterflyPut
staticget
Initial value:
= OptionStrategyDefinition.Create("Butterfly Put",
OptionStrategyDefinition.PutLeg(+1),
OptionStrategyDefinition.PutLeg(-2, (legs, p) => p.Strike >= legs[0].Strike,
(legs, p) => p.Expiration == legs[0].Expiration),
OptionStrategyDefinition.PutLeg(+1, (legs, p) => p.Strike >= legs[1].Strike,
(legs, p) => p.Expiration == legs[0].Expiration,
(legs, p) => p.Strike - legs[1].Strike == legs[1].Strike - legs[0].Strike)
)

Short Butterfly Put strategy consists of two long puts at a middle strike, and one short put each at a lower and upper strike. The upper and lower strikes must both be equidistant from the middle strike.

Definition at line 297 of file OptionStrategyDefinitions.cs.

◆ CallCalendarSpread

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.CallCalendarSpread
staticget
Initial value:
= OptionStrategyDefinition.Create("Short Butterfly Put",
OptionStrategyDefinition.PutLeg(-1),
OptionStrategyDefinition.PutLeg(+2, (legs, p) => p.Strike >= legs[0].Strike,
(legs, p) => p.Expiration == legs[0].Expiration),
OptionStrategyDefinition.PutLeg(-1, (legs, p) => p.Strike >= legs[1].Strike,
(legs, p) => p.Expiration == legs[0].Expiration,
(legs, p) => p.Strike - legs[1].Strike == legs[1].Strike - legs[0].Strike)
)

Call Calendar Spread strategy is a short one call option and long a second call option with a more distant expiration.

Definition at line 311 of file OptionStrategyDefinitions.cs.

◆ ShortCallCalendarSpread

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.ShortCallCalendarSpread
staticget
Initial value:
= OptionStrategyDefinition.Create("Call Calendar Spread",
OptionStrategyDefinition.CallLeg(-1),
OptionStrategyDefinition.CallLeg(+1, (legs, p) => p.Strike == legs[0].Strike,
(legs, p) => p.Expiration > legs[0].Expiration)
)

Short Call Calendar Spread strategy is long one call option and short a second call option with a more distant expiration.

Inverse of the CallCalendarSpread

Definition at line 323 of file OptionStrategyDefinitions.cs.

◆ PutCalendarSpread

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.PutCalendarSpread
staticget
Initial value:
= OptionStrategyDefinition.Create("Short Call Calendar Spread",
OptionStrategyDefinition.CallLeg(+1),
OptionStrategyDefinition.CallLeg(-1, (legs, p) => p.Strike == legs[0].Strike,
(legs, p) => p.Expiration > legs[0].Expiration)
)

Put Calendar Spread strategy is a short one put option and long a second put option with a more distant expiration.

Definition at line 334 of file OptionStrategyDefinitions.cs.

◆ ShortPutCalendarSpread

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.ShortPutCalendarSpread
staticget
Initial value:
= OptionStrategyDefinition.Create("Put Calendar Spread",
OptionStrategyDefinition.PutLeg(-1),
OptionStrategyDefinition.PutLeg(+1, (legs, p) => p.Strike == legs[0].Strike,
(legs, p) => p.Expiration > legs[0].Expiration)
)

Short Put Calendar Spread strategy is long one put option and short a second put option with a more distant expiration.

Inverse of the PutCalendarSpread

Definition at line 346 of file OptionStrategyDefinitions.cs.

◆ IronButterfly

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.IronButterfly
staticget
Initial value:
= OptionStrategyDefinition.Create("Short Put Calendar Spread",
OptionStrategyDefinition.PutLeg(+1),
OptionStrategyDefinition.PutLeg(-1, (legs, p) => p.Strike == legs[0].Strike,
(legs, p) => p.Expiration > legs[0].Expiration)
)

Iron Butterfly strategy consists of a short ATM call, a short ATM put, a long OTM call, and a long OTM put. The strike spread between ATM and OTM call and put are the same. All at the same expiration date.

Definition at line 357 of file OptionStrategyDefinitions.cs.

◆ ShortIronButterfly

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.ShortIronButterfly
staticget
Initial value:
= OptionStrategyDefinition.Create("Iron Butterfly",
OptionStrategyDefinition.PutLeg(-1),
OptionStrategyDefinition.PutLeg(+1, (legs, p) => p.Strike < legs[0].Strike,
(legs, p) => p.Expiration == legs[0].Expiration),
OptionStrategyDefinition.CallLeg(-1, (legs, c) => c.Strike == legs[0].Strike,
(legs, c) => c.Expiration == legs[0].Expiration),
OptionStrategyDefinition.CallLeg(+1, (legs, c) => c.Strike == legs[0].Strike * 2 - legs[1].Strike,
(legs, c) => c.Expiration == legs[0].Expiration)
)

Short Iron Butterfly strategy consists of a long ATM call, a long ATM put, a short OTM call, and a short OTM put. The strike spread between ATM and OTM call and put are the same. All at the same expiration date.

Definition at line 372 of file OptionStrategyDefinitions.cs.

◆ IronCondor

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.IronCondor
staticget
Initial value:
= OptionStrategyDefinition.Create("Short Iron Butterfly",
OptionStrategyDefinition.PutLeg(+1),
OptionStrategyDefinition.PutLeg(-1, (legs, p) => p.Strike < legs[0].Strike,
(legs, p) => p.Expiration == legs[0].Expiration),
OptionStrategyDefinition.CallLeg(+1, (legs, c) => c.Strike == legs[0].Strike,
(legs, c) => c.Expiration == legs[0].Expiration),
OptionStrategyDefinition.CallLeg(-1, (legs, c) => c.Strike == legs[0].Strike * 2 - legs[1].Strike,
(legs, c) => c.Expiration == legs[0].Expiration)
)

Iron Condor strategy is buying a put, selling a put with a higher strike price, selling a call and buying a call with a higher strike price. All at the same expiration date

Definition at line 387 of file OptionStrategyDefinitions.cs.

◆ ShortIronCondor

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.ShortIronCondor
staticget
Initial value:
= OptionStrategyDefinition.Create("Iron Condor",
OptionStrategyDefinition.PutLeg(+1),
OptionStrategyDefinition.PutLeg(-1, (legs, p) => p.Strike > legs[0].Strike,
(legs, p) => p.Expiration == legs[0].Expiration),
OptionStrategyDefinition.CallLeg(-1, (legs, p) => p.Strike > legs[1].Strike,
(legs, p) => p.Expiration == legs[0].Expiration),
OptionStrategyDefinition.CallLeg(1, (legs, p) => p.Strike > legs[2].Strike,
(legs, p) => p.Expiration == legs[0].Expiration)
)

Short Iron Condor strategy is selling a put, buying a put with a higher strike price, buying a call and selling a call with a higher strike price. All at the same expiration date

Definition at line 402 of file OptionStrategyDefinitions.cs.

◆ BoxSpread

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.BoxSpread
staticget
Initial value:
= OptionStrategyDefinition.Create("Short Iron Condor",
OptionStrategyDefinition.PutLeg(-1),
OptionStrategyDefinition.PutLeg(+1, (legs, p) => p.Strike > legs[0].Strike,
(legs, p) => p.Expiration == legs[0].Expiration),
OptionStrategyDefinition.CallLeg(+1, (legs, p) => p.Strike > legs[1].Strike,
(legs, p) => p.Expiration == legs[0].Expiration),
OptionStrategyDefinition.CallLeg(-1, (legs, p) => p.Strike > legs[2].Strike,
(legs, p) => p.Expiration == legs[0].Expiration)
)

Long Box Spread strategy is long 1 call and short 1 put with the same strike, while short 1 call and long 1 put with a higher, same strike. All options have the same expiry. expiration.

Definition at line 418 of file OptionStrategyDefinitions.cs.

◆ ShortBoxSpread

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.ShortBoxSpread
staticget
Initial value:
= OptionStrategyDefinition.Create("Box Spread",
OptionStrategyDefinition.PutLeg(+1),
OptionStrategyDefinition.PutLeg(-1, (legs, p) => p.Strike < legs[0].Strike,
(legs, p) => p.Expiration == legs[0].Expiration),
OptionStrategyDefinition.CallLeg(+1, (legs, c) => c.Strike == legs[1].Strike,
(legs, c) => c.Expiration == legs[0].Expiration),
OptionStrategyDefinition.CallLeg(-1, (legs, c) => c.Strike == legs[0].Strike,
(legs, c) => c.Expiration == legs[0].Expiration)
)

Short Box Spread strategy is short 1 call and long 1 put with the same strike, while long 1 call and short 1 put with a higher, same strike. All options have the same expiry. expiration.

Definition at line 434 of file OptionStrategyDefinitions.cs.

◆ JellyRoll

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.JellyRoll
staticget
Initial value:
= OptionStrategyDefinition.Create("Short Box Spread",
OptionStrategyDefinition.PutLeg(-1),
OptionStrategyDefinition.PutLeg(+1, (legs, p) => p.Strike < legs[0].Strike,
(legs, p) => p.Expiration == legs[0].Expiration),
OptionStrategyDefinition.CallLeg(-1, (legs, c) => c.Strike == legs[1].Strike,
(legs, c) => c.Expiration == legs[0].Expiration),
OptionStrategyDefinition.CallLeg(+1, (legs, c) => c.Strike == legs[0].Strike,
(legs, c) => c.Expiration == legs[0].Expiration)
)

Jelly Roll is short 1 call and long 1 call with the same strike but further expiry, together with long 1 put and short 1 put with the same strike and expiries as calls.

Definition at line 449 of file OptionStrategyDefinitions.cs.

◆ ShortJellyRoll

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.ShortJellyRoll
staticget
Initial value:
= OptionStrategyDefinition.Create("Jelly Roll",
OptionStrategyDefinition.CallLeg(-1),
OptionStrategyDefinition.CallLeg(+1, (legs, c) => c.Strike == legs[0].Strike,
(legs, c) => c.Expiration > legs[0].Expiration),
OptionStrategyDefinition.PutLeg(+1, (legs, p) => p.Strike == legs[0].Strike,
(legs, p) => p.Expiration == legs[0].Expiration),
OptionStrategyDefinition.PutLeg(-1, (legs, p) => p.Strike == legs[0].Strike,
(legs, p) => p.Expiration == legs[1].Expiration)
)

Short Jelly Roll is long 1 call and short 1 call with the same strike but further expiry, together with short 1 put and long 1 put with the same strike and expiries as calls.

Definition at line 464 of file OptionStrategyDefinitions.cs.

◆ BearCallLadder

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.BearCallLadder
staticget
Initial value:
= OptionStrategyDefinition.Create("Short Jelly Roll",
OptionStrategyDefinition.CallLeg(+1),
OptionStrategyDefinition.CallLeg(-1, (legs, c) => c.Strike == legs[0].Strike,
(legs, c) => c.Expiration > legs[0].Expiration),
OptionStrategyDefinition.PutLeg(-1, (legs, p) => p.Strike == legs[0].Strike,
(legs, p) => p.Expiration == legs[0].Expiration),
OptionStrategyDefinition.PutLeg(+1, (legs, p) => p.Strike == legs[0].Strike,
(legs, p) => p.Expiration == legs[1].Expiration)
)

Bear Call Ladder strategy is short 1 call and long 2 calls, with ascending strike prices in order, All options have the same expiry.

Definition at line 479 of file OptionStrategyDefinitions.cs.

◆ BearPutLadder

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.BearPutLadder
staticget
Initial value:
= OptionStrategyDefinition.Create("Bear Call Ladder",
OptionStrategyDefinition.CallLeg(-1),
OptionStrategyDefinition.CallLeg(+1, (legs, c) => c.Strike > legs[0].Strike,
(legs, c) => c.Expiration == legs[0].Expiration),
OptionStrategyDefinition.CallLeg(+1, (legs, c) => c.Strike > legs[1].Strike,
(legs, c) => c.Expiration == legs[0].Expiration)
)

Bear Put Ladder strategy is long 1 put and short 2 puts, with descending strike prices in order, All options have the same expiry.

Definition at line 492 of file OptionStrategyDefinitions.cs.

◆ BullCallLadder

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.BullCallLadder
staticget
Initial value:
= OptionStrategyDefinition.Create("Bear Put Ladder",
OptionStrategyDefinition.PutLeg(+1),
OptionStrategyDefinition.PutLeg(-1, (legs, p) => p.Strike < legs[0].Strike,
(legs, p) => p.Expiration == legs[0].Expiration),
OptionStrategyDefinition.PutLeg(-1, (legs, p) => p.Strike < legs[1].Strike,
(legs, p) => p.Expiration == legs[0].Expiration)
)

Bull Call Ladder strategy is long 1 call and short 2 calls, with ascending strike prices in order, All options have the same expiry.

Definition at line 505 of file OptionStrategyDefinitions.cs.

◆ BullPutLadder

OptionStrategyDefinition QuantConnect.Securities.Option.StrategyMatcher.OptionStrategyDefinitions.BullPutLadder
staticget
Initial value:
= OptionStrategyDefinition.Create("Bull Call Ladder",
OptionStrategyDefinition.CallLeg(+1),
OptionStrategyDefinition.CallLeg(-1, (legs, c) => c.Strike > legs[0].Strike,
(legs, c) => c.Expiration == legs[0].Expiration),
OptionStrategyDefinition.CallLeg(-1, (legs, c) => c.Strike > legs[1].Strike,
(legs, c) => c.Expiration == legs[0].Expiration)
)

Bull Put Ladder strategy is short 1 put and long 2 puts, with descending strike prices in order, All options have the same expiry.

Definition at line 518 of file OptionStrategyDefinitions.cs.


The documentation for this class was generated from the following file: