This page documents every formula, threshold, and rule used to compute the setups published on this site. Source code is open: https://github.com/lxhkings/iron-condor-math-engine.
A 14-day Iron Condor: sell one out-of-the-money call spread and one out-of-the-money put spread on the same ticker, both expiring within a target window of 13–16 calendar days from the open date. The structure profits when the underlying closes inside the short strikes at expiration; max loss is bounded by wing width minus net credit.
For an underlying spot price S and its 14-day Wilder's ATR ATR14:
S + 1.5 * ATR14S - 1.5 * ATR14max(0.5 * ATR14, one strike spacing increment), snapped to listed strikes outside each short.TR_t = max(High_t - Low_t, |High_t - Close_{t-1}|, |Low_t - Close_{t-1}|)
Seed ATR = mean of first 14 TRs
ATR_t = (ATR_{t-1} * 13 + TR_t) / 14
Short legs are priced at the bid (worst realistic fill received). Long legs are priced at the ask (worst realistic fill paid).
Net Credit = (short_call.bid + short_put.bid) - (long_call.ask + long_put.ask)
Wing Width = long_call.strike - short_call.strike (= short_put.strike - long_put.strike)
Max Profit = Net Credit
Max Loss = Wing Width - Net Credit
Upper Break-even = short_call.strike + Net Credit
Lower Break-even = short_put.strike - Net Credit
If the computed Net Credit ≤ 0, no setup is published for that ticker that day; the ticker is logged as skipped in the public ledger.
A setup is recorded as won if and only if the underlying closing price on the target exit date satisfies:
short_put_strike <= underlying_close <= short_call_strike
Otherwise it is recorded as lost. Mid-cycle short-strike breaches are tracked but do not trigger early settlement — this is a strictly passive backtest harness, consistent with the disclaimer language in the site footer.
A leg is excluded (and therefore the entire setup is skipped) if any of the following hold:
bid <= 0(ask - bid) / mid > 0.30open_interest < 100won (inclusive on both sides).The headline paragraph on each ticker page is selected from a 9-cell matrix indexed by:
bullish if close > SMA20 × 1.005, bearish if close < SMA20 × 0.995, otherwise neutralhigh if >70, low if <30, otherwise mediumexpanding if ATR14 > ATR60 × 1.2, contracting if < ATR60 × 0.8 (rendered as a 1-sentence inline modifier)QuantOptions Data Lab. Data source: OPRA via MarketData.app. Source code (math engine only): https://github.com/lxhkings/iron-condor-math-engine.
DISCLAIMER
This content is published for educational purposes only and does not constitute financial advice, a solicitation, or a recommendation to buy or sell any security. Options trading involves substantial risk and is not suitable for all investors. Past performance — including win rates, drawdowns, and cumulative P&L figures displayed on this site — does not guarantee future results.
All setups shown are generated algorithmically and tracked live from their initiation date. Realized outcomes reflect a strictly passive hold-to-expiration assumption. The following risks are not modeled: early assignment, liquidity gaps, slippage, active stop-loss management, margin calls, and transaction costs. Actual trading results may differ materially.
Real-time options market data is provided by OPRA via MarketData.app. The site operator (QuantOptions Data Lab) is not a registered investment adviser, broker-dealer, or futures commission merchant.
Source code: The math engine and site generator are open-source and available at https://github.com/lxhkings/iron-condor-math-engine.