Skip to main content

Finding Spreads

Use strike selectors to build spreads that target a width, credit, or ratio. MesoSim selects legs in order and updates the available leg and position variables as it builds the structure.

Open the AI Editor to try the examples. Each JSON block supplies a Legs array for the Structure section. Keep the remaining Strategy Definition fields, including an expiration named exp1.

Fixed-width spread​

Target the first put's strike at the underlying price, then target the second put 50 points above the selected first strike. See fixed strike distances for more detail.

Example run: Fixed-width spread

"Legs": [
{
"Name": "long",
"Qty": "1",
"ExpirationName": "exp1",
"StrikeSelector": {
"StrikePrice": "underlying_price"
},
"OptionType": "Put"
},
{
"Name": "short",
"Qty": "-1",
"ExpirationName": "exp1",
"StrikeSelector": {
"StrikePrice": "leg_long_strike + 50"
},
"OptionType": "Put"
}
]

Credit targeting​

We target a 1.5-point credit for a Put Credit Spread, with the short options having a delta of 10. The MidPrice Strike Selector uses the credit received from the short options to determine the price at which the long options are bought. Subtracting 1.5 from the short leg's price sets the target price for the long leg. The target is 1.5 option-price points per spread, before applying the contract multiplier. Selected contracts, fills, slippage, and commissions determine the resulting credit.

Example run: Credit Targeting

"Legs": [
{
"Name": "short",
"Qty": "-1",
"ExpirationName": "exp1",
"StrikeSelector": {
"Delta": "10"
},
"OptionType": "Put"
},
{
"Name": "long",
"Qty": "1",
"ExpirationName": "exp1",
"StrikeSelector": {
"MidPrice": "leg_short_price - 1.5"
},
"OptionType": "Put"
}
]

Spread based on Delta/Theta ratio​

Options strategies are often defined and monitored using Greeks. Some traders like to combine Delta and Theta to obtain a relative measure of the directionality of their trades.

We can construct spreads using this metric by utilizing the Complex Strike Selector. The short options are targeted at Delta=30, while the long options are selected in such a way that the Delta/Theta of the spread gets closest to 0.5.

Example run: Delta to Theta

"Legs": [
{
"Name": "short",
"Qty": "-1",
"ExpirationName": "exp1",
"StrikeSelector": {
"Delta": "30"
},
"OptionType": "Put"
},
{
"Name": "long",
"Qty": "1",
"ExpirationName": "exp1",
"StrikeSelector": {
"Complex": {
"Statement": "pos_delta / pos_theta",
"Target": "0.5",
"Constraints": [
"leg_long_strike < leg_short_strike"
]
}
},
"OptionType": "Put"
}
]

Spread based on Risk/Reward ratio​

When dealing with vertical spreads, one important metric to consider is the Risk / Reward ratio. Here, risk/reward means maximum loss divided by maximum potential profit.

In case of a Bull Call Spread the Risk/Reward ratio can be calculated using:

risk_reward = debit_paid / (spread_width - debit_paid)

The following snippet selects the long leg 20 points higher than the underlying, while short leg is chosen to get closest to Risk/Reward=1.0

Example run: SuperBull

"Legs": [
{
"Name": "long",
"Qty": "1",
"ExpirationName": "exp1",
"StrikeSelector": {
"Complex": {
"Statement": "leg_long_strike",
"Target": "underlying_price + 20",
"Constraints": [
"leg_long_strike > underlying_price"
]
}
},
"OptionType": "Call"
},
{
"Name": "short",
"Qty": "-1",
"ExpirationName": "exp1",
"StrikeSelector": {
"Complex": {
"Statement": "(leg_long_price * leg_long_qty + leg_short_price * leg_short_qty) / ((leg_short_strike - leg_long_strike) * leg_long_qty - (leg_long_price * leg_long_qty + leg_short_price * leg_short_qty))",
"Target": "1",
"Constraints": [
"leg_short_strike > leg_long_strike"
]
}
},
"OptionType": "Call"
}
]

Review and compare​

Targets guide contract selection; available strikes and prices determine how closely a spread matches them. Review the selected legs and trading-cost assumptions, then validate and run the strategy.

Use Clone to change one target at a time. For more examples, explore the Strategy Library and the SuperBull research article on the Deltaray blog.