Butterfly Spreads, including Call Butterflies, Put Butterflies, Iron Butterflies, etc...
For example:
var ndx = this.getInstrument ("^NDX")
// define an put butterflyval putButterfly = ndx.strategies.butterflies.PutButterfly
// select put butterfly with 1 - 4 days to expiration// and risk / reward ratio between 0.4 and 0.6
putButterfly.selectBy.
daysToExpiration(minDays=1,maxDays=4).
riskReward(min=0.4,max=0.6)
// get middle strike of butterflyval middleStrike = putButterfly.selectMiddleStrikeBy(false)
// select at-the-money (ATM) butterflies by selecting the middle strike of butterfly to be 45 - 55 delta
middleStrike.deltaAbs(minDelta=45,maxDelta=55)
// size the butterfly such that margin req is about 2000 dollars
putButterfly.sizeBy.margin(targetMargin=2000)
// select butterfly with highest risk / reward
putButterfly.rankBy.max.riskReward
// sell put butterfly
putButterfly.sell(1)
Butterfly Spreads, including Call Butterflies, Put Butterflies, Iron Butterflies, etc...
For example: