Methodology

How a Structure Is Chosen: Signal, Volatility, VIX

By Rohan Fernandes, Founder, Optionscanner · Updated 2026-09-22 · Educational reference, not investment advice

Structure selection is a lookup, not a judgment. The directional signal (buy, sell or hold) and the volatility regime (rich, neutral or cheap, from the ratio of implied to realized volatility) index a fixed matrix that names one structure: a bull put spread, a call debit spread, a bear call spread, a put debit spread, an iron condor, or a long straddle or strangle. A VIX regime layer then annotates the pick with a lean toward credit structures when the index is elevated and a smaller-size note in panic, without changing the matrix result.

How these pages were written: from the engine source as deployed in September 2026, with thresholds quoted as the code holds them. Thresholds change with releases and the changelog records each change. This is a description of arithmetic, not advice about what to trade.

Source modules: strategy/selector.py (choose_strategy, vol_regime_from_iv_hv) and strategy/vix_bias.py.

What are the inputs to structure selection?

Two. The first is the directional signal from the composite technical score: BUY, SELL or HOLD. The second is the volatility regime, which comes from one ratio: at-the-money implied volatility divided by realized volatility over a matched window. A ratio above 1.20 is rich, below 0.85 is cheap, and anything between is neutral. The same thresholds are used by the volatility surface module and the conviction score, from one function, so no caller can drift.

What does the selection matrix say?

SignalVolatility regimeStructure
BUYrichBull put spread
BUYcheapCall debit spread
BUYneutralBull put spread
SELLrichBear call spread
SELLcheapPut debit spread
SELLneutralBear call spread
HOLDrichIron condor
HOLDcheapLong straddle or strangle
HOLDneutralIron condor

The logic behind the table is the same in every row: a directional view on rich premium is expressed by selling a spread on the side the view says will not be visited, a directional view on cheap premium is expressed by buying a spread, and no view at all is expressed by selling both sides when premium is rich or buying both sides when it is cheap. Neutral premium leans to selling, because the volatility premium persists on average even when the ratio reads near one.

Once a structure is named, the screener builds it from the live chain: short strikes in a delta band, a long strike a fixed width away, and a hard rule that if a tradeable structure cannot be built from the chain, the answer is no structure, never a substitute. The name of the resulting structure is then derived from its legs, so the label on the card always matches what the legs actually are.

How does the VIX regime change the pick?

It does not change the matrix result; it annotates it. The VIX regime layer reads the index level and adds a hint:

The lean is applied as a rebias on a directional view: a bullish view in a credit regime leans to the bull put spread, a bearish view to the bear call spread. When the VIX feed is degraded and reports zero, the layer treats the regime as unknown rather than reading zero as the calmest market on record.

Why is the matrix fixed rather than learned?

Because the structure is the part of the decision that has to be explainable on the card in one sentence: "rich premium and a bullish signal, so a bull put spread." A learned selector could pick better on average and be unable to say why on any given day. The parts of the pipeline that are allowed to be statistical, the meta-label model, sit after selection and can only veto or downsize, never create.

Frequently asked questions

How does Optionscanner choose between a credit spread and a debit spread?

From a fixed matrix indexed by the directional signal and the volatility regime. A rich or neutral regime, where implied volatility runs above realized, maps a directional view to a credit spread on the side the view says will not be visited; a cheap regime maps it to a debit spread. No view at all maps to an iron condor on rich premium or a long straddle or strangle on cheap premium.

What counts as rich or cheap volatility?

The ratio of at-the-money implied volatility to realized volatility over a matched window. Above 1.20 is rich, below 0.85 is cheap, and anything between is neutral. One function holds the thresholds and every caller imports it.

Does the VIX change which structure is chosen?

No. The VIX regime annotates the pick rather than replacing it: no lean below 20, a slight lean toward credit structures from 20 to 25, credit preferred from 25 to 30, and credit with a smaller-size note at 30 and above. A degraded feed that reports zero is treated as unknown, not as calm.

Sources

More in Methodology: how the engine computes: How Probability of Profit Is Computed and Checked · How an Expiration Is Scored · How Tape Fit Scores a Strike Against the Chart

Educational reference. Optionscanner is a software tool. It is not a broker-dealer, an investment adviser, or a fiduciary, and nothing on this page is investment advice or a recommendation to buy or sell any security. Options involve risk and are not suitable for every investor; read the Characteristics and Risks of Standardized Options before trading. Examples use hypothetical numbers for illustration only.