{
  "schema_version": "2.10.0",
  "generated_at": "2026-10-31T00:54:20Z",
  "generated_at_utc": "2026-10-31 00:54 UTC",
  "horizon_days": 10,
  "params": {
    "horizon_days": 10,
    "history_period": "1y",
    "bb_length": 20,
    "bb_mult": 2.0,
    "kc_length": 20,
    "kc_mult": 1.5,
    "atr_length": 14,
    "vol_lookback": 20,
    "percentile_lookback": 120,
    "iv_hv_lookback": 60
  },
  "universe": {
    "scanned": 29,
    "requested": 29,
    "source": "etf",
    "requested_source": "etf",
    "fallback": null,
    "etfs": [
      "SPUS",
      "HLAL"
    ],
    "top": 30
  },
  "weights": {
    "values": {
      "compression": 0.28,
      "vol_room": 0.52,
      "squeeze": 0.2
    },
    "as_of": "2026-10-27",
    "source": "auto-calibrated"
  },
  "counts": {
    "NEUTRAL_INCOME": 2,
    "STAND_ASIDE": 13,
    "NO_DATA": 14
  },
  "screen": {
    "mode": "filter",
    "thresholds": {
      "max_debt_ratio": 0.33,
      "max_cash_ratio": 0.33,
      "max_receivables_ratio": null
    },
    "earnings_checked": 15,
    "earnings_names": 30,
    "screened": 29,
    "flagged": [],
    "flagged_count": 0,
    "unknown": [
      "MRK",
      "LLY"
    ],
    "unknown_count": 2
  },
  "long_dated": {
    "tickers": 15,
    "candidates": 72,
    "preferred": 0,
    "expiries": [
      "2027-12-17",
      "2028-01-21"
    ],
    "target_days": 395
  },
  "near_term": {
    "tickers": 15,
    "candidates": 60,
    "preferred": 0,
    "expiries": [
      "2026-11-20"
    ]
  },
  "quote_session": "closed",
  "top_actions": [
    {
      "ticker": "MSFT",
      "action": "NEUTRAL_INCOME",
      "strategy": "Calendar Spread",
      "headline": "MSFT: Collect time decay — IV rank 33, fair → Calendar Spread",
      "detail": "Sell 1× 2026-11-20 530 call; Buy 1× 2026-12-18 530 call — net debit $736.67 per spread (planned fill; $707.50 at mid, $795.00 at the natural price)",
      "confidence": 0.67
    },
    {
      "ticker": "TSLA",
      "action": "NEUTRAL_INCOME",
      "strategy": "Calendar Spread",
      "headline": "TSLA: Collect time decay — IV rank 43, fair → Calendar Spread",
      "detail": "Sell 1× 2026-11-20 405 call; Buy 1× 2026-12-18 405 call — net debit $850.00 per spread (planned fill; $840.00 at mid, $870.00 at the natural price)",
      "confidence": 0.54
    }
  ],
  "long_vol": {
    "supported": false,
    "source": "implied",
    "text": "A model straddle on coiled and cheap (the buy-premium setup) names returned -3% on average over 82 matured readings, bought at the implied move the scan logged — buying premium on this setup has not paid."
  },
  "short_vol": {
    "supported": false,
    "source": "implied",
    "text": "On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money."
  },
  "direction": {
    "proven": {
      "lean_bullish": false,
      "lean_bearish": false,
      "fired_bullish": false,
      "fired_bearish": false
    },
    "source": "backtest",
    "text": "No direction read beats the base rate over 10 days: how often the move went the way the lean or the squeeze release pointed is within noise of how often it went that way anyway. Directional trades are withheld until one does."
  },
  "portfolio": {
    "cap": 3000.0,
    "used": 1586.67,
    "capped": []
  },
  "reference": {
    "actions": {
      "BUY_PREMIUM": {
        "label": "Buy premium",
        "verb": "BUY",
        "tone": "buy",
        "blurb": "Options are cheap relative to how much this name actually moves. You want to be long optionality — pay a defined premium and let the move come to you."
      },
      "SELL_PREMIUM": {
        "label": "Sell premium",
        "verb": "SELL",
        "tone": "sell",
        "blurb": "Options are rich relative to realized movement. You want to be the seller — collect the premium and let time decay work, with the risk defined by long wings."
      },
      "NEUTRAL_INCOME": {
        "label": "Collect decay",
        "verb": "DECAY",
        "tone": "neutral",
        "blurb": "No cheap-or-rich edge outright, but the shape of the volatility curve pays you to own time in one expiry and sell it in another."
      },
      "STAND_ASIDE": {
        "label": "Stand aside",
        "verb": "WAIT",
        "tone": "wait",
        "blurb": "Nothing here is mispriced enough to pay for the risk. No trade is a position."
      },
      "NO_DATA": {
        "label": "Not priced",
        "verb": "—",
        "tone": "none",
        "blurb": "No option chain was read for this ticker in this run, so no premium call can be made."
      }
    },
    "premium_states": {
      "cheap": {
        "label": "Cheap",
        "rule": "Low IV → BUY options",
        "detail": "Implied volatility sits at the low end of this name's own range and near or below what it actually realizes. Long premium: straddles, strangles, debit spreads."
      },
      "fair": {
        "label": "Fair",
        "rule": "Mid IV → no volatility edge",
        "detail": "Options are priced about right. Any trade here has to come from the chart or the term structure, not from the level of volatility."
      },
      "rich": {
        "label": "Rich",
        "rule": "High IV → SELL premium",
        "detail": "Implied volatility is high in its own range and well above realized. Short premium: credit spreads and iron condors, with defined risk."
      },
      "unknown": {
        "label": "Unknown",
        "rule": "No IV read",
        "detail": "The option chain wasn't priced for this name this run."
      }
    },
    "glossary": {
      "score": "Setup Score, 0–100: how coiled the chart is right now — compressed Bollinger bandwidth, low realized-vol percentile, and an active TTM squeeze. It says a move is loading. It says nothing about direction.",
      "iv_rank": "IV Rank, 0–100: where today's implied volatility sits between the low and the high of the trailing year. Under ~25 is cheap, over ~65 is rich. Free data publishes no implied-vol history, so the scan keeps its own: once a name has about six months of logged readings it is ranked against those ('vs past IV'). Until then it is ranked against the name's realized-volatility range ('vs realized vol') — a proxy that reads a little high, because implied vol carries a persistent premium over realized.",
      "iv_percentile": "The share of the trailing year's volatility readings that sit below today's implied volatility. Same proxy caveat as IV Rank.",
      "premium_score": "0–100 blend of IV rank (45%), the IV/HV risk premium (40%) and the term structure (15%). This is the number the buy-or-sell call is actually made on.",
      "iv_hv_ratio": "Implied volatility divided by realized. Around 1.1–1.2× is the normal risk premium; well above that is the market paying you to sell, well below it is a discount to buy.",
      "vrp": "Volatility risk premium: implied minus realized, in volatility points.",
      "implied_move_pct": "How far the option market is pricing this name to travel over the horizon, as a percentage of spot.",
      "hist_move_pct": "The same move estimated from realized volatility instead. The gap between the two is the edge.",
      "term_structure": "Front-expiry IV against a later one. Contango (later is pricier) is normal. Backwardation means the market expects something soon — it favours selling the front month or running a calendar.",
      "skew": "Out-of-the-money put IV minus call IV, in vol points. Fat put skew means the put side pays more to sell than the call side.",
      "liquidity": "How tradable the chain is, from the at-the-money bid/ask spread and open interest. Wide markets quietly cost more than the edge is worth, so thin names get simpler structures or none at all.",
      "pop": "Model probability of being in the profit zone if the position is held to expiry: N(d₂) under a lognormal whose expected price is today's, with each breakeven read at its own strike's implied volatility, so a put skew fattens the downside tail. Because the price rather than its logarithm is held flat, the median outcome sits slightly below spot. It does not model the management rules — closing at a profit target, a stop or a days-left cut changes the odds of the trade you actually run. An estimate, not a guarantee, and a high probability of a small win is not the same as a good trade.",
      "fill": "Every net price, max loss, breakeven, probability and size is computed at a planned fill: each leg a third of the way from its mid toward the side you would pay. The mid is the best case, the natural price (buying every ask, selling every bid) the worst; both are shown beside the order. A leg marked 'last' had no live bid/ask and is priced off its last trade.",
      "credit_to_width": "Credit collected divided by the width of the spread. Under ~20% you are being paid too little for the risk.",
      "em_pct": "One-sigma expected move over the horizon from realized volatility. Roughly 68% of outcomes land inside ±1σ, 95% inside ±2σ.",
      "squeeze": "The TTM squeeze: Bollinger Bands sitting inside the Keltner Channels. On means energy is building; fired means it just released, which is the actual entry trigger.",
      "lean": "A faint directional hint from squeeze momentum. A tiebreaker between two structures, never a reason to take a position.",
      "long_dated": "The ≈13-month expiry the Spreads tab is built on. It is whichever listed expiry sits closest to 395 days out, because exchanges list long-dated options on January cycles rather than on a rolling 13-month schedule — so the real number of days is always shown next to it.",
      "leaps_vega": "Over a year, the level of implied volatility moves a long-dated spread far more than time decay does. A 13-month debit spread is mostly a bet on direction and partly a bet on volatility rising; a 13-month credit spread earns its theta almost entirely in the final months.",
      "reward_to_risk": "Maximum profit divided by maximum loss — what the trade pays if it works, against what it costs if it does not.",
      "annualised_return": "The same reward-to-risk put on a yearly footing (× 365 ÷ days to expiry), so a thirteen-month spread can be compared with a monthly one. A 0.6× return over 409 days is not better than 0.3× over 30 days, because the monthly trade recycles the same capital twelve times. It assumes the position could be repeated, which is an assumption, not a forecast — and it says nothing about how likely either is to win. It reads n/a for a trade whose legs expire on different dates: the diagonal's maximum lands at its short leg's expiry rather than its own, so dividing by the long expiry understates it and dividing by the short one implies repeating a single assignment seventeen times a year. The structure earns by rolling that short leg, and no roll is counted in its maximum, so there is no honest yearly figure to give.",
      "risk_form": "What actually secures a position: a debit you have already paid, margin against a short option, or shares you already own. It decides how the trade can hurt you, which is a different question from how likely it is to win.",
      "earnings": "Calendar days to the next report. Inside the expiry, IV is elevated for a reason and collapses the morning after — that cuts both ways depending on which side you're on.",
      "debt_cash_ratio": "The balance-sheet screen: interest-bearing debt and cash as a share of market cap, both required under ~33%.",
      "screen": "The compliance verdict for the name: whether it passed the industry-exclusion screen and the balance-sheet ratios, and the reason if it did not. In `filter` mode a name that fails never reaches the scan; in `annotate` mode it does, carrying this flag — which is the only thing that tells it apart from a name that passed. An approximation from public fundamentals, not a certification: re-verify with a dedicated screener before trading."
    },
    "playbook": {
      "long_straddle": "Buy the at-the-money call and the at-the-money put. You win if the move is big enough, either way; you lose if it sits still. The trade for cheap options in front of a coiled chart.",
      "long_strangle": "Buy an out-of-the-money call and an out-of-the-money put. Cheaper than a straddle and needs a bigger move to pay — the budget version of the same both-ways bet.",
      "bull_call_spread": "Buy a call, sell a higher one. A capped, cheaper bullish bet — the short leg pays for part of the long one.",
      "bear_put_spread": "Buy a put, sell a lower one. A capped, cheaper bearish bet.",
      "iron_condor": "Sell an out-of-the-money call spread and an out-of-the-money put spread. You collect premium and keep it if price stays between them. Defined risk on both sides.",
      "short_strangle": "Sell an out-of-the-money call and put with no wings. Collects more than a condor, but the loss is open-ended — margin-heavy, experts only.",
      "bull_put_spread": "Sell a put, buy a lower one. You collect credit and win if the stock stays above the short put — a bullish way to be short rich premium.",
      "bear_call_spread": "Sell a call, buy a higher one. You collect credit and win if the stock stays below the short call.",
      "calendar_spread": "Sell the near expiry, buy the same strike further out. Profits when the front decays faster than the back — the trade for an inverted term structure.",
      "covered_call": "Against shares you already own, sell a call above the price. Turns rich premium into income and caps your upside at the strike.",
      "stand_aside": "No edge worth paying for. The best trade is often none.",
      "shares_only": "Trade the underlying instead of options.",
      "no_data": "No usable option chain this run — nothing to price.",
      "leaps_bull_call": "Buy a call about 13 months out, sell a higher one in the same expiry. A bullish position with a year to be right and a cost you know on day one — the short leg pays for part of the long one and caps the win.",
      "leaps_bear_put": "Buy a long-dated put, sell a lower one. The same shape pointed down: a year of room for a thesis, at a defined cost.",
      "poor_mans_covered_call": "Buy a deep in-the-money call 13 months out as a cheaper stand-in for 100 shares, then sell a near-dated call against it and roll that short leg each month. Covered-call income on a fraction of the capital — and the long call, not stock, is what secures it.",
      "leaps_bull_put": "Sell a long-dated put well below the price, buy a lower one for protection. You collect the credit up front and keep it if the stock holds up — but the capital is committed for a year and the decay arrives mostly at the end.",
      "leaps_bear_call": "Sell a long-dated call well above the price, buy a higher one. The credit is yours if the stock stays under the short strike for the year."
    }
  },
  "disclaimer": {
    "general": "Educational tool, not financial advice. Expected-move bands and probabilities are statistical estimates from past and implied volatility — not predictions. Option prices are last-known mids and will have moved; price every trade in your broker before placing it.",
    "risk": "Every position here can lose. A debit spread can expire worthless and take the whole premium with it; a credit spread can lose several times what it collected. Position sizes are computed against the risk budgets in config.yaml, not against your account or your tolerance for a losing year.",
    "method": "Indicators are computed without look-ahead: every value uses only data up to and including its own bar. IV rank and percentile are proxies ranked against realized-volatility history, because free data sources do not publish implied-volatility history."
  },
  "signals": [
    {
      "rank": 1,
      "ticker": "MSFT",
      "price": 530.14,
      "score": 91.4,
      "squeeze_on": true,
      "squeeze_days": 1,
      "squeeze_fired": false,
      "fired_dir": "",
      "bandwidth_pctile": 0.008,
      "hv_annual": 19.1,
      "hv_pctile": 0.017,
      "em_pct": 3.8,
      "horizon_days": 10,
      "down_1sigma": 509.98,
      "up_1sigma": 550.3,
      "down_2sigma": 489.83,
      "up_2sigma": 570.45,
      "lean": "Bearish",
      "note": "",
      "debt_ratio": 0.014758225418940871,
      "cash_ratio": 0.016644027482678077,
      "earnings_in_days": 88.0,
      "implied_move_pct": 5.85,
      "vol_verdict": "rich",
      "iv_annual": 29.36,
      "iv_rank": 33.2,
      "premium_score": 60.7,
      "premium_state": "fair",
      "liquidity": "good",
      "action": "NEUTRAL_INCOME",
      "strategy": "Calendar Spread",
      "options": {
        "iv_annual": 29.36,
        "hv_annual": 21.3,
        "implied_move_pct": 5.85,
        "hist_move_pct": 3.8,
        "iv_rank": 33.2,
        "iv_percentile": 14.8,
        "iv_rank_basis": "realized",
        "vrp": 8.05,
        "iv_hv_ratio": 1.38,
        "verdict": "rich",
        "premium_score": 60.7,
        "premium_state": "fair",
        "term_slope": -0.0651,
        "term_structure": "backwardation",
        "skew": 13.2,
        "skew_label": "put_skew",
        "atm_spread_pct": 6.9,
        "atm_open_interest": 9478,
        "liquidity": "good",
        "expiry": "2026-11-20",
        "days_to_expiry": 20,
        "expiries": [
          {
            "date": "2026-11-02",
            "dte": 2
          },
          {
            "date": "2026-11-04",
            "dte": 4
          },
          {
            "date": "2026-11-06",
            "dte": 6
          },
          {
            "date": "2026-11-13",
            "dte": 13
          },
          {
            "date": "2026-11-20",
            "dte": 20
          },
          {
            "date": "2026-11-27",
            "dte": 27
          },
          {
            "date": "2026-12-04",
            "dte": 34
          },
          {
            "date": "2026-12-18",
            "dte": 48
          },
          {
            "date": "2027-01-15",
            "dte": 76
          },
          {
            "date": "2027-02-19",
            "dte": 111
          },
          {
            "date": "2027-03-19",
            "dte": 139
          },
          {
            "date": "2027-04-16",
            "dte": 167
          }
        ],
        "long_expiry": "2027-12-17",
        "long_dte": 412,
        "long_iv": 30.95,
        "long_spread_pct": 3.3,
        "long_open_interest": 3118,
        "long_liquidity": "good",
        "quote_session": "closed"
      },
      "recommendation": {
        "ticker": "MSFT",
        "action": "NEUTRAL_INCOME",
        "headline": "MSFT: Collect time decay — IV rank 33, fair → Calendar Spread",
        "detail": "Sell 1× 2026-11-20 530 call; Buy 1× 2026-12-18 530 call — net debit $736.67 per spread (planned fill; $707.50 at mid, $795.00 at the natural price)",
        "confidence": 0.67,
        "premium_state": "fair",
        "premium_score": 60.7,
        "bias": "neutral",
        "bias_strength": "none",
        "plan": {
          "key": "calendar_spread",
          "name": "Calendar Spread",
          "action": "NEUTRAL_INCOME",
          "bias": "neutral",
          "thesis": "The near expiry is priced richer than the far one — sell the front, own the back. It profits while price stays near the strike and the front decays faster than the back; where exactly it stops profiting depends on implied volatility at the front expiry, which is why no breakeven or probability is quoted for it.",
          "playbook": "Sell the near expiry, buy the same strike further out. Profits when the front decays faster than the back — the trade for an inverted term structure.",
          "vega": "long",
          "theta": "positive",
          "risk": "defined",
          "legs": [
            {
              "action": "sell",
              "right": "call",
              "strike": 530.0,
              "expiry": "2026-11-20",
              "qty": 1,
              "mid": 10.825,
              "bid": 10.45,
              "ask": 11.2,
              "iv": 20.55,
              "open_interest": 9478,
              "label": "Sell 1× 2026-11-20 530 call",
              "mid_source": "quote"
            },
            {
              "action": "buy",
              "right": "call",
              "strike": 530.0,
              "expiry": "2026-12-18",
              "qty": 1,
              "mid": 17.9,
              "bid": 17.4,
              "ask": 18.4,
              "iv": 21.45,
              "open_interest": 4701,
              "label": "Buy 1× 2026-12-18 530 call",
              "mid_source": "quote"
            }
          ],
          "expiry": "2026-12-18",
          "dte": 48,
          "profit_horizon_dte": null,
          "net": 736.67,
          "net_mid": 707.5,
          "net_natural": 795.0,
          "fill_basis": "mid + 33% of the half-spread toward the natural price",
          "max_profit": null,
          "max_loss": 736.67,
          "breakevens": [],
          "profit_zone": "inside",
          "pop": null,
          "pop_basis": "",
          "credit_to_width": null,
          "manage": {
            "profit_target": "take 25–35% of the debit",
            "profit_target_pct": 30,
            "stop": "cut at −40% of the debit, or if the term structure flips back to contango",
            "stop_loss_pct": 40,
            "time_stop": "close at the front expiry — do not let the short leg go to assignment",
            "close_by_dte": 1
          },
          "sizing": {
            "risk_budget": 1000.0,
            "contracts": 1,
            "risk_per_spread": 736.67,
            "total_risk": 736.67,
            "over_budget": false,
            "note": "1× risks $737 of a $1,000 budget."
          },
          "risk_form": {
            "tier": "option_covered",
            "note": "The short call is secured by the long call, not by shares and not by margin: assignment is covered by exercising or selling the long leg. That is why the whole position can only lose the debit — and why the long leg must never be closed first."
          }
        },
        "alternatives": [],
        "avoid": [
          {
            "name": "Long straddle",
            "reason": "The front month is the expensive part — buying it fights the term structure."
          }
        ],
        "why": [
          "IV rank 33/100 (fair premium, blended score 61).",
          "Options price a 5.8% move over the horizon vs 3.8% realized (1.38× IV/HV).",
          "Squeeze on for 1 days — still building, not yet fired.",
          "Setup score 91/100, no directional edge.",
          "Term structure in backwardation (-6.5% front→back).",
          "Puts bid over calls by 13.2 vol points — the put side pays more to sell.",
          "The bearish lean is not traded on: in the backtest it did not call direction better than the base rate, so this is treated as a name with no directional read."
        ],
        "warnings": [
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything.",
          "The legs expire on different dates, so there is no single price at which this position settles: no breakeven and no probability of profit is quoted for it. What it is worth at the front expiry depends on implied volatility that day."
        ]
      },
      "long_dated": {
        "expiry": "2027-12-17",
        "dte": 412,
        "target_days": 395,
        "iv_annual": 30.95,
        "front_iv_annual": 29.36,
        "liquidity": "good",
        "atm_spread_pct": 3.3,
        "atm_open_interest": 3118,
        "premium_state": "fair",
        "bias": "neutral",
        "bias_strength": "none",
        "preferred": null,
        "summary": "5 long-dated spreads price out on the 2027-12-17 expiry, but the scanner has no directional read on this name — and every 13-month spread is a directional bet. Listed for reference, not recommended.",
        "candidates": [
          {
            "key": "leaps_bull_call",
            "name": "LEAPS Bull Call Spread",
            "action": "BUY_PREMIUM",
            "bias": "bullish",
            "thesis": "A year of room for the upside thesis, at a cost that is fixed the day you put it on.",
            "playbook": "Buy a call about 13 months out, sell a higher one in the same expiry. A bullish position with a year to be right and a cost you know on day one — the short leg pays for part of the long one and caps the win.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 530.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 75.075,
                "bid": 73.85,
                "ask": 76.3,
                "iv": 28.61,
                "open_interest": 3118,
                "label": "Buy 1× 2027-12-17 530 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 610.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 43.725,
                "bid": 42.25,
                "ask": 45.2,
                "iv": 28.48,
                "open_interest": 3143,
                "label": "Sell 1× 2027-12-17 610 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": 3225.0,
            "net_mid": 3135.0,
            "net_natural": 3405.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 4775.0,
            "max_loss": 3225.0,
            "breakevens": [
              562.25
            ],
            "profit_zone": "above",
            "pop": 0.365,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "take 50–70% of the maximum profit — the last of it takes months to arrive",
              "profit_target_pct": 60,
              "stop": "cut at −50% of the debit, or sooner if the reason you put it on stops being true",
              "stop_loss_pct": 50,
              "time_stop": "roll or close with ~90 days left; the final quarter is where a long-dated spread loses its remaining time value fastest",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "poor_mans_covered_call",
            "name": "Poor Man's Covered Call",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Own the year cheaply through a deep in-the-money call, and rent the near month out against it every cycle.",
            "playbook": "Buy a deep in-the-money call 13 months out as a cheaper stand-in for 100 shares, then sell a near-dated call against it and roll that short leg each month. Covered-call income on a fraction of the capital — and the long call, not stock, is what secures it.",
            "vega": "long",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 420.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 141.0,
                "bid": 139.0,
                "ask": 143.0,
                "iv": 27.58,
                "open_interest": 2485,
                "label": "Buy 1× 2027-12-17 420 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 565.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.98,
                "bid": 1.9,
                "ask": 2.06,
                "iv": 23.46,
                "open_interest": 4695,
                "label": "Sell 1× 2026-11-20 565 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": 20,
            "net": 13971.33,
            "net_mid": 13902.0,
            "net_natural": 14110.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 528.67,
            "max_loss": 13971.33,
            "breakevens": [
              559.71
            ],
            "profit_zone": "above",
            "pop": null,
            "pop_basis": "",
            "credit_to_width": null,
            "manage": {
              "profit_target": "roll the short call out each month for a fresh credit; take the whole position off at 50–70% of the maximum",
              "profit_target_pct": 60,
              "stop": "cut if the long call loses half its value — the thesis is gone, not just early",
              "stop_loss_pct": 50,
              "time_stop": "roll the long leg with ~90 days left. Never let the short call go to assignment while you still want the long one.",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "option_covered",
              "note": "The short call is secured by the long call, not by shares and not by margin: assignment is covered by exercising or selling the long leg. That is why the whole position can only lose the debit — and why the long leg must never be closed first."
            }
          },
          {
            "key": "leaps_bull_put",
            "name": "LEAPS Bull Put Spread",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Paid up front to be right about a direction over a year, with the loss capped by the long wing — but the capital is committed for that whole year.",
            "playbook": "Sell a long-dated put well below the price, buy a lower one for protection. You collect the credit up front and keep it if the stock holds up — but the capital is committed for a year and the decay arrives mostly at the end.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "put",
                "strike": 420.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 21.25,
                "bid": 19.0,
                "ask": 23.5,
                "iv": 34.23,
                "open_interest": 1716,
                "label": "Sell 1× 2027-12-17 420 put",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "put",
                "strike": 390.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 14.5,
                "bid": 12.5,
                "ask": 16.5,
                "iv": 34.53,
                "open_interest": 613,
                "label": "Buy 1× 2027-12-17 390 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": -533.33,
            "net_mid": -675.0,
            "net_natural": -250.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 533.33,
            "max_loss": 2466.67,
            "breakevens": [
              414.67
            ],
            "profit_zone": "above",
            "pop": 0.684,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.178,
            "manage": {
              "profit_target": "buy it back at 50% of the credit — usually long before expiry",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~90 days to expiry, before gamma starts to matter",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          },
          {
            "key": "leaps_bear_put",
            "name": "LEAPS Bear Put Spread",
            "action": "BUY_PREMIUM",
            "bias": "bearish",
            "thesis": "A year of room for the downside thesis, at a cost that is fixed the day you put it on.",
            "playbook": "Buy a long-dated put, sell a lower one. The same shape pointed down: a year of room for a thesis, at a defined cost.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "put",
                "strike": 530.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 61.575,
                "bid": 60.15,
                "ask": 63.0,
                "iv": 33.28,
                "open_interest": 1001,
                "label": "Buy 1× 2027-12-17 530 put",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "put",
                "strike": 450.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 29.5,
                "bid": 27.5,
                "ask": 31.5,
                "iv": 33.79,
                "open_interest": 1627,
                "label": "Sell 1× 2027-12-17 450 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": 3321.67,
            "net_mid": 3207.5,
            "net_natural": 3550.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 4678.33,
            "max_loss": 3321.67,
            "breakevens": [
              496.78
            ],
            "profit_zone": "below",
            "pop": 0.499,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "take 50–70% of the maximum profit — the last of it takes months to arrive",
              "profit_target_pct": 60,
              "stop": "cut at −50% of the debit, or sooner if the reason you put it on stops being true",
              "stop_loss_pct": 50,
              "time_stop": "roll or close with ~90 days left; the final quarter is where a long-dated spread loses its remaining time value fastest",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "leaps_bear_call",
            "name": "LEAPS Bear Call Spread",
            "action": "SELL_PREMIUM",
            "bias": "bearish",
            "thesis": "Paid up front to be right about a direction over a year, with the loss capped by the long wing — but the capital is committed for that whole year.",
            "playbook": "Sell a long-dated call well above the price, buy a higher one. The credit is yours if the stock stays under the short strike for the year.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "call",
                "strike": 635.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 36.75,
                "bid": 35.0,
                "ask": 38.5,
                "iv": 28.54,
                "open_interest": 162,
                "label": "Sell 1× 2027-12-17 635 call",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "call",
                "strike": 665.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 29.5,
                "bid": 27.5,
                "ask": 31.5,
                "iv": 28.5,
                "open_interest": 476,
                "label": "Buy 1× 2027-12-17 665 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": -600.0,
            "net_mid": -725.0,
            "net_natural": -350.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 600.0,
            "max_loss": 2400.0,
            "breakevens": [
              641.0
            ],
            "profit_zone": "below",
            "pop": 0.782,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.2,
            "manage": {
              "profit_target": "buy it back at 50% of the credit — usually long before expiry",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~90 days to expiry, before gamma starts to matter",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          }
        ],
        "warnings": [
          "IV rank 33 is a front-month reading. A 13-month contract is priced off a flatter part of the volatility surface, so 'cheap' or 'rich' here is a weaker signal than it is on the near expiry — this expiry's own ATM IV is 31%.",
          "About 5 earnings reports fall inside this 412-day expiry. A long-dated spread is priced through all of them; none of them is the trade.",
          "One of these credit spreads collects very little for the risk — the LEAPS Bull Put Spread takes only 18% of its width, and holds the capital for 412 days to do it. Widen the wings or pass.",
          "The Poor Man's Covered Call's max profit below is the conservative case — assigned on the very first short call. Rolling that short leg out each month is where the structure actually earns, and no figure here counts those rolls.",
          "The short legs can be assigned early — most often a short call the day before an ex-dividend date. Know the dividend calendar before you sell one.",
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything."
        ]
      },
      "near_term": {
        "expiry": "2026-11-20",
        "dte": 20,
        "iv_annual": 29.36,
        "liquidity": "good",
        "atm_spread_pct": 6.9,
        "premium_state": "fair",
        "bias": "neutral",
        "preferred": null,
        "summary": "4 one-direction spreads price out on the 2026-11-20 expiry, but the scanner has no proven directional read on this name, so none is recommended. Each one is a bet the stock goes one way; listed for reference.",
        "candidates": [
          {
            "key": "bull_call_spread",
            "name": "Bull Call Spread",
            "action": "BUY_PREMIUM",
            "bias": "bullish",
            "thesis": "Options are reasonably priced and the break is up — pay a capped premium for a capped move.",
            "playbook": "Buy a call, sell a higher one. A capped, cheaper bullish bet — the short leg pays for part of the long one.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 530.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 10.825,
                "bid": 10.45,
                "ask": 11.2,
                "iv": 20.55,
                "open_interest": 9478,
                "label": "Buy 1× 2026-11-20 530 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 565.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.98,
                "bid": 1.9,
                "ask": 2.06,
                "iv": 23.46,
                "open_interest": 4695,
                "label": "Sell 1× 2026-11-20 565 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": 899.67,
            "net_mid": 884.5,
            "net_natural": 930.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 2600.33,
            "max_loss": 899.67,
            "breakevens": [
              539.0
            ],
            "profit_zone": "above",
            "pop": 0.363,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "close at +50% to +100% of the debit",
              "profit_target_pct": 50,
              "stop": "cut at −50% of the debit",
              "stop_loss_pct": 50,
              "time_stop": "be out with ~7 days to expiry — theta accelerates into the last week",
              "close_by_dte": 7
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "bull_put_spread",
            "name": "Bull Put Spread",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Premium is rich and the lean is up — get paid to be right about a direction you don't need to nail.",
            "playbook": "Sell a put, buy a lower one. You collect credit and win if the stock stays above the short put — a bullish way to be short rich premium.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "put",
                "strike": 495.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 5.05,
                "bid": 4.8,
                "ask": 5.3,
                "iv": 36.66,
                "open_interest": 2878,
                "label": "Sell 1× 2026-11-20 495 put",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "put",
                "strike": 480.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 2.81,
                "bid": 2.65,
                "ask": 2.97,
                "iv": 37.92,
                "open_interest": 4123,
                "label": "Buy 1× 2026-11-20 480 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": -210.33,
            "net_mid": -224.0,
            "net_natural": -183.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 210.33,
            "max_loss": 1289.67,
            "breakevens": [
              492.9
            ],
            "profit_zone": "above",
            "pop": 0.79,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.14,
            "manage": {
              "profit_target": "buy it back at 50% of the credit received",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~21 days to expiry — gamma risk rises fast after that",
              "close_by_dte": 21
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          },
          {
            "key": "bear_put_spread",
            "name": "Bear Put Spread",
            "action": "BUY_PREMIUM",
            "bias": "bearish",
            "thesis": "Options are reasonably priced and the break is down — pay a capped premium for a capped move.",
            "playbook": "Buy a put, sell a lower one. A capped, cheaper bearish bet.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "put",
                "strike": 530.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 18.225,
                "bid": 17.55,
                "ask": 18.9,
                "iv": 38.17,
                "open_interest": 3310,
                "label": "Buy 1× 2026-11-20 530 put",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "put",
                "strike": 495.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 5.05,
                "bid": 4.8,
                "ask": 5.3,
                "iv": 36.66,
                "open_interest": 2878,
                "label": "Sell 1× 2026-11-20 495 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": 1348.33,
            "net_mid": 1317.5,
            "net_natural": 1410.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 2151.67,
            "max_loss": 1348.33,
            "breakevens": [
              516.52
            ],
            "profit_zone": "below",
            "pop": 0.397,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "close at +50% to +100% of the debit",
              "profit_target_pct": 50,
              "stop": "cut at −50% of the debit",
              "stop_loss_pct": 50,
              "time_stop": "be out with ~7 days to expiry — theta accelerates into the last week",
              "close_by_dte": 7
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "bear_call_spread",
            "name": "Bear Call Spread",
            "action": "SELL_PREMIUM",
            "bias": "bearish",
            "thesis": "Premium is rich and the lean is down — get paid to be right about a direction you don't need to nail.",
            "playbook": "Sell a call, buy a higher one. You collect credit and win if the stock stays below the short call.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "call",
                "strike": 565.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.98,
                "bid": 1.9,
                "ask": 2.06,
                "iv": 23.46,
                "open_interest": 4695,
                "label": "Sell 1× 2026-11-20 565 call",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "call",
                "strike": 580.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 0.795,
                "bid": 0.76,
                "ask": 0.83,
                "iv": 24.02,
                "open_interest": 27155,
                "label": "Buy 1× 2026-11-20 580 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": -114.67,
            "net_mid": -118.5,
            "net_natural": -107.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 114.67,
            "max_loss": 1385.33,
            "breakevens": [
              566.15
            ],
            "profit_zone": "below",
            "pop": 0.89,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.076,
            "manage": {
              "profit_target": "buy it back at 50% of the credit received",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~21 days to expiry — gamma risk rises fast after that",
              "close_by_dte": 21
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          }
        ],
        "warnings": [
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything.",
          "The credit spreads here collect little for the risk — the Bear Call Spread takes only 8% of its width, under the 20% this scanner treats as thin compensation. A fill worse than the one assumed here collects less still."
        ]
      },
      "screen": {
        "compliant": true,
        "industry_ok": true,
        "industry": "Software - Infrastructure",
        "debt_ratio": 0.014758225418940871,
        "cash_ratio": 0.016644027482678077,
        "receivables_ratio": null,
        "reasons": [
          "ok"
        ]
      }
    },
    {
      "rank": 2,
      "ticker": "AAPL",
      "price": 348.91,
      "score": 75.7,
      "squeeze_on": false,
      "squeeze_days": 0,
      "squeeze_fired": false,
      "fired_dir": "",
      "bandwidth_pctile": 0.108,
      "hv_annual": 13.5,
      "hv_pctile": 0.025,
      "em_pct": 2.69,
      "horizon_days": 10,
      "down_1sigma": 339.52,
      "up_1sigma": 358.3,
      "down_2sigma": 330.13,
      "up_2sigma": 367.69,
      "lean": "Bullish",
      "note": "",
      "debt_ratio": 0.01676954937077213,
      "cash_ratio": 0.012406373486086895,
      "earnings_in_days": 2.0,
      "implied_move_pct": 6.24,
      "vol_verdict": "rich",
      "iv_annual": 31.34,
      "iv_rank": 91.5,
      "premium_score": 93.9,
      "premium_state": "rich",
      "liquidity": "good",
      "action": "STAND_ASIDE",
      "strategy": "Stand aside",
      "options": {
        "iv_annual": 31.34,
        "hv_annual": 18.5,
        "implied_move_pct": 6.24,
        "hist_move_pct": 2.69,
        "iv_rank": 91.5,
        "iv_percentile": 82.0,
        "iv_rank_basis": "realized",
        "vrp": 12.84,
        "iv_hv_ratio": 1.69,
        "verdict": "rich",
        "premium_score": 93.9,
        "premium_state": "rich",
        "term_slope": -0.1347,
        "term_structure": "backwardation",
        "skew": 15.36,
        "skew_label": "put_skew",
        "atm_spread_pct": 5.1,
        "atm_open_interest": 25194,
        "liquidity": "good",
        "expiry": "2026-11-20",
        "days_to_expiry": 20,
        "expiries": [
          {
            "date": "2026-11-04",
            "dte": 4
          },
          {
            "date": "2026-11-06",
            "dte": 6
          },
          {
            "date": "2026-11-13",
            "dte": 13
          },
          {
            "date": "2026-11-20",
            "dte": 20
          },
          {
            "date": "2026-11-27",
            "dte": 27
          },
          {
            "date": "2026-12-04",
            "dte": 34
          },
          {
            "date": "2026-12-18",
            "dte": 48
          },
          {
            "date": "2027-01-15",
            "dte": 76
          },
          {
            "date": "2027-02-19",
            "dte": 111
          },
          {
            "date": "2027-03-19",
            "dte": 139
          },
          {
            "date": "2027-04-16",
            "dte": 167
          },
          {
            "date": "2027-06-17",
            "dte": 229
          }
        ],
        "long_expiry": "2027-12-17",
        "long_dte": 412,
        "long_iv": 27.88,
        "long_spread_pct": 3.3,
        "long_open_interest": 2331,
        "long_liquidity": "good",
        "quote_session": "closed"
      },
      "recommendation": {
        "ticker": "AAPL",
        "action": "STAND_ASIDE",
        "headline": "AAPL: stand aside — premium looks rich, but on this scanner's record selling it has not paid: On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money.",
        "detail": "Premium looks rich, but on this scanner's record selling it has not paid: On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money.",
        "confidence": 0.0,
        "premium_state": "rich",
        "premium_score": 93.9,
        "bias": "neutral",
        "bias_strength": "none",
        "plan": {
          "key": "stand_aside",
          "name": "Stand aside",
          "action": "STAND_ASIDE",
          "bias": "neutral",
          "thesis": "Premium looks rich, but on this scanner's record selling it has not paid: On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money.",
          "playbook": "No edge worth paying for. The best trade is often none.",
          "vega": "flat",
          "theta": "flat",
          "risk": "none",
          "legs": [],
          "expiry": null,
          "dte": null,
          "profit_horizon_dte": null,
          "net": null,
          "net_mid": null,
          "net_natural": null,
          "fill_basis": "",
          "max_profit": null,
          "max_loss": null,
          "breakevens": [],
          "profit_zone": "",
          "pop": null,
          "pop_basis": "",
          "credit_to_width": null,
          "manage": {},
          "sizing": {
            "risk_budget": 1000.0,
            "contracts": 0
          },
          "risk_form": {
            "tier": "n/a",
            "note": "No position — nothing to secure."
          }
        },
        "alternatives": [],
        "avoid": [
          {
            "name": "Long straddles / strangles",
            "reason": "IV rank 92 and the market is pricing a 6.2% move vs 2.7% realized — you'd be paying up for the move you want."
          },
          {
            "name": "Selling premium (condors, credit spreads)",
            "reason": "Not supported by the backtest: On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money."
          }
        ],
        "why": [
          "IV rank 92/100 (rich premium, blended score 94).",
          "Options price a 6.2% move over the horizon vs 2.7% realized (1.69× IV/HV).",
          "Setup score 76/100, no directional edge.",
          "Term structure in backwardation (-13.5% front→back).",
          "Puts bid over calls by 15.4 vol points — the put side pays more to sell.",
          "The bullish lean is not traded on: in the backtest it did not call direction better than the base rate, so this is treated as a name with no directional read."
        ],
        "warnings": [
          "Earnings in 2 days, inside this expiry — know the catalyst before entering.",
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything."
        ]
      },
      "long_dated": {
        "expiry": "2027-12-17",
        "dte": 412,
        "target_days": 395,
        "iv_annual": 27.88,
        "front_iv_annual": 31.34,
        "liquidity": "good",
        "atm_spread_pct": 3.3,
        "atm_open_interest": 2331,
        "premium_state": "rich",
        "bias": "neutral",
        "bias_strength": "none",
        "preferred": null,
        "summary": "5 long-dated spreads price out on the 2027-12-17 expiry, but the scanner has no directional read on this name — and every 13-month spread is a directional bet. Listed for reference, not recommended.",
        "candidates": [
          {
            "key": "leaps_bull_call",
            "name": "LEAPS Bull Call Spread",
            "action": "BUY_PREMIUM",
            "bias": "bullish",
            "thesis": "A year of room for the upside thesis, at a cost that is fixed the day you put it on.",
            "playbook": "Buy a call about 13 months out, sell a higher one in the same expiry. A bullish position with a year to be right and a cost you know on day one — the short leg pays for part of the long one and caps the win.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 350.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 45.5,
                "bid": 44.75,
                "ask": 46.25,
                "iv": 26.25,
                "open_interest": 2331,
                "label": "Buy 1× 2027-12-17 350 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 400.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 24.4,
                "bid": 24.0,
                "ask": 24.8,
                "iv": 25.16,
                "open_interest": 6063,
                "label": "Sell 1× 2027-12-17 400 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": 2148.33,
            "net_mid": 2110.0,
            "net_natural": 2225.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 2851.67,
            "max_loss": 2148.33,
            "breakevens": [
              371.48
            ],
            "profit_zone": "above",
            "pop": 0.357,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "take 50–70% of the maximum profit — the last of it takes months to arrive",
              "profit_target_pct": 60,
              "stop": "cut at −50% of the debit, or sooner if the reason you put it on stops being true",
              "stop_loss_pct": 50,
              "time_stop": "roll or close with ~90 days left; the final quarter is where a long-dated spread loses its remaining time value fastest",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "poor_mans_covered_call",
            "name": "Poor Man's Covered Call",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Own the year cheaply through a deep in-the-money call, and rent the near month out against it every cycle.",
            "playbook": "Buy a deep in-the-money call 13 months out as a cheaper stand-in for 100 shares, then sell a near-dated call against it and roll that short leg each month. Covered-call income on a fraction of the capital — and the long call, not stock, is what secures it.",
            "vega": "long",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 280.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 89.85,
                "bid": 88.25,
                "ask": 91.45,
                "iv": 27.26,
                "open_interest": 2132,
                "label": "Buy 1× 2027-12-17 280 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 375.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.15,
                "bid": 1.1,
                "ask": 1.2,
                "iv": 24.7,
                "open_interest": 10095,
                "label": "Sell 1× 2026-11-20 375 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": 20,
            "net": 8925.0,
            "net_mid": 8870.0,
            "net_natural": 9035.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 575.0,
            "max_loss": 8925.0,
            "breakevens": [
              369.25
            ],
            "profit_zone": "above",
            "pop": null,
            "pop_basis": "",
            "credit_to_width": null,
            "manage": {
              "profit_target": "roll the short call out each month for a fresh credit; take the whole position off at 50–70% of the maximum",
              "profit_target_pct": 60,
              "stop": "cut if the long call loses half its value — the thesis is gone, not just early",
              "stop_loss_pct": 50,
              "time_stop": "roll the long leg with ~90 days left. Never let the short call go to assignment while you still want the long one.",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "option_covered",
              "note": "The short call is secured by the long call, not by shares and not by margin: assignment is covered by exercising or selling the long leg. That is why the whole position can only lose the debit — and why the long leg must never be closed first."
            }
          },
          {
            "key": "leaps_bull_put",
            "name": "LEAPS Bull Put Spread",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Paid up front to be right about a direction over a year, with the loss capped by the long wing — but the capital is committed for that whole year.",
            "playbook": "Sell a long-dated put well below the price, buy a lower one for protection. You collect the credit up front and keep it if the stock holds up — but the capital is committed for a year and the decay arrives mostly at the end.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "put",
                "strike": 280.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 12.25,
                "bid": 11.4,
                "ask": 13.1,
                "iv": 31.38,
                "open_interest": 4219,
                "label": "Sell 1× 2027-12-17 280 put",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "put",
                "strike": 250.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 6.95,
                "bid": 6.4,
                "ask": 7.5,
                "iv": 32.69,
                "open_interest": 12891,
                "label": "Buy 1× 2027-12-17 250 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": -483.33,
            "net_mid": -530.0,
            "net_natural": -390.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 483.33,
            "max_loss": 2516.67,
            "breakevens": [
              275.17
            ],
            "profit_zone": "above",
            "pop": 0.705,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.161,
            "manage": {
              "profit_target": "buy it back at 50% of the credit — usually long before expiry",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~90 days to expiry, before gamma starts to matter",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          },
          {
            "key": "leaps_bear_put",
            "name": "LEAPS Bear Put Spread",
            "action": "BUY_PREMIUM",
            "bias": "bearish",
            "thesis": "A year of room for the downside thesis, at a cost that is fixed the day you put it on.",
            "playbook": "Buy a long-dated put, sell a lower one. The same shape pointed down: a year of room for a thesis, at a defined cost.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "put",
                "strike": 350.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 35.75,
                "bid": 34.8,
                "ask": 36.7,
                "iv": 29.5,
                "open_interest": 1697,
                "label": "Buy 1× 2027-12-17 350 put",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "put",
                "strike": 295.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 15.85,
                "bid": 15.0,
                "ask": 16.7,
                "iv": 30.84,
                "open_interest": 1862,
                "label": "Sell 1× 2027-12-17 295 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": 2050.0,
            "net_mid": 1990.0,
            "net_natural": 2170.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 3450.0,
            "max_loss": 2050.0,
            "breakevens": [
              329.5
            ],
            "profit_zone": "below",
            "pop": 0.49,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "take 50–70% of the maximum profit — the last of it takes months to arrive",
              "profit_target_pct": 60,
              "stop": "cut at −50% of the debit, or sooner if the reason you put it on stops being true",
              "stop_loss_pct": 50,
              "time_stop": "roll or close with ~90 days left; the final quarter is where a long-dated spread loses its remaining time value fastest",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "leaps_bear_call",
            "name": "LEAPS Bear Call Spread",
            "action": "SELL_PREMIUM",
            "bias": "bearish",
            "thesis": "Paid up front to be right about a direction over a year, with the loss capped by the long wing — but the capital is committed for that whole year.",
            "playbook": "Sell a long-dated call well above the price, buy a higher one. The credit is yours if the stock stays under the short strike for the year.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "call",
                "strike": 420.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 18.725,
                "bid": 17.95,
                "ask": 19.5,
                "iv": 25.0,
                "open_interest": 1083,
                "label": "Sell 1× 2027-12-17 420 call",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "call",
                "strike": 450.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 12.025,
                "bid": 11.5,
                "ask": 12.55,
                "iv": 24.54,
                "open_interest": 3040,
                "label": "Buy 1× 2027-12-17 450 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": -626.67,
            "net_mid": -670.0,
            "net_natural": -540.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 626.67,
            "max_loss": 2373.33,
            "breakevens": [
              426.27
            ],
            "profit_zone": "below",
            "pop": 0.813,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.209,
            "manage": {
              "profit_target": "buy it back at 50% of the credit — usually long before expiry",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~90 days to expiry, before gamma starts to matter",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          }
        ],
        "warnings": [
          "IV rank 92 is a front-month reading. A 13-month contract is priced off a flatter part of the volatility surface, so 'cheap' or 'rich' here is a weaker signal than it is on the near expiry — this expiry's own ATM IV is 28%.",
          "About 5 earnings reports fall inside this 412-day expiry. A long-dated spread is priced through all of them; none of them is the trade.",
          "One of these credit spreads collects very little for the risk — the LEAPS Bull Put Spread takes only 16% of its width, and holds the capital for 412 days to do it. Widen the wings or pass.",
          "The Poor Man's Covered Call's max profit below is the conservative case — assigned on the very first short call. Rolling that short leg out each month is where the structure actually earns, and no figure here counts those rolls.",
          "The short legs can be assigned early — most often a short call the day before an ex-dividend date. Know the dividend calendar before you sell one.",
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything."
        ]
      },
      "near_term": {
        "expiry": "2026-11-20",
        "dte": 20,
        "iv_annual": 31.34,
        "liquidity": "good",
        "atm_spread_pct": 5.1,
        "premium_state": "rich",
        "bias": "neutral",
        "preferred": null,
        "summary": "4 one-direction spreads price out on the 2026-11-20 expiry, but the scanner has no proven directional read on this name, so none is recommended. Each one is a bet the stock goes one way; listed for reference.",
        "candidates": [
          {
            "key": "bull_call_spread",
            "name": "Bull Call Spread",
            "action": "BUY_PREMIUM",
            "bias": "bullish",
            "thesis": "Options are reasonably priced and the break is up — pay a capped premium for a capped move.",
            "playbook": "Buy a call, sell a higher one. A capped, cheaper bullish bet — the short leg pays for part of the long one.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 350.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 7.9,
                "bid": 7.7,
                "ask": 8.1,
                "iv": 24.73,
                "open_interest": 25194,
                "label": "Buy 1× 2026-11-20 350 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 375.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.15,
                "bid": 1.1,
                "ask": 1.2,
                "iv": 24.7,
                "open_interest": 10095,
                "label": "Sell 1× 2026-11-20 375 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": 683.33,
            "net_mid": 675.0,
            "net_natural": 700.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 1816.67,
            "max_loss": 683.33,
            "breakevens": [
              356.83
            ],
            "profit_zone": "above",
            "pop": 0.338,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "close at +50% to +100% of the debit",
              "profit_target_pct": 50,
              "stop": "cut at −50% of the debit",
              "stop_loss_pct": 50,
              "time_stop": "be out with ~7 days to expiry — theta accelerates into the last week",
              "close_by_dte": 7
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "bull_put_spread",
            "name": "Bull Put Spread",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Premium is rich and the lean is up — get paid to be right about a direction you don't need to nail.",
            "playbook": "Sell a put, buy a lower one. You collect credit and win if the stock stays above the short put — a bullish way to be short rich premium.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "put",
                "strike": 322.5,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 3.375,
                "bid": 3.25,
                "ask": 3.5,
                "iv": 40.06,
                "open_interest": 412,
                "label": "Sell 1× 2026-11-20 322.5 put",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "put",
                "strike": 310.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.825,
                "bid": 1.7,
                "ask": 1.95,
                "iv": 42.72,
                "open_interest": 17466,
                "label": "Buy 1× 2026-11-20 310 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": -146.67,
            "net_mid": -155.0,
            "net_natural": -130.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 146.67,
            "max_loss": 1103.33,
            "breakevens": [
              321.03
            ],
            "profit_zone": "above",
            "pop": 0.8,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.117,
            "manage": {
              "profit_target": "buy it back at 50% of the credit received",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~21 days to expiry — gamma risk rises fast after that",
              "close_by_dte": 21
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          },
          {
            "key": "bear_put_spread",
            "name": "Bear Put Spread",
            "action": "BUY_PREMIUM",
            "bias": "bearish",
            "thesis": "Options are reasonably priced and the break is down — pay a capped premium for a capped move.",
            "playbook": "Buy a put, sell a lower one. A capped, cheaper bearish bet.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "put",
                "strike": 350.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 12.525,
                "bid": 12.2,
                "ask": 12.85,
                "iv": 37.94,
                "open_interest": 6078,
                "label": "Buy 1× 2026-11-20 350 put",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "put",
                "strike": 322.5,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 3.375,
                "bid": 3.25,
                "ask": 3.5,
                "iv": 40.06,
                "open_interest": 412,
                "label": "Sell 1× 2026-11-20 322.5 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": 930.0,
            "net_mid": 915.0,
            "net_natural": 960.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 1820.0,
            "max_loss": 930.0,
            "breakevens": [
              340.7
            ],
            "profit_zone": "below",
            "pop": 0.413,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "close at +50% to +100% of the debit",
              "profit_target_pct": 50,
              "stop": "cut at −50% of the debit",
              "stop_loss_pct": 50,
              "time_stop": "be out with ~7 days to expiry — theta accelerates into the last week",
              "close_by_dte": 7
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "bear_call_spread",
            "name": "Bear Call Spread",
            "action": "SELL_PREMIUM",
            "bias": "bearish",
            "thesis": "Premium is rich and the lean is down — get paid to be right about a direction you don't need to nail.",
            "playbook": "Sell a call, buy a higher one. You collect credit and win if the stock stays below the short call.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "call",
                "strike": 375.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.15,
                "bid": 1.1,
                "ask": 1.2,
                "iv": 24.7,
                "open_interest": 10095,
                "label": "Sell 1× 2026-11-20 375 call",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "call",
                "strike": 385.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 0.43,
                "bid": 0.39,
                "ask": 0.47,
                "iv": 24.8,
                "open_interest": 4613,
                "label": "Buy 1× 2026-11-20 385 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": -69.0,
            "net_mid": -72.0,
            "net_natural": -63.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 69.0,
            "max_loss": 931.0,
            "breakevens": [
              375.69
            ],
            "profit_zone": "below",
            "pop": 0.905,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.069,
            "manage": {
              "profit_target": "buy it back at 50% of the credit received",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~21 days to expiry — gamma risk rises fast after that",
              "close_by_dte": 21
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          }
        ],
        "warnings": [
          "An earnings report falls inside this 20-day expiry. The gap on the day can jump straight past either strike.",
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything.",
          "The credit spreads here collect little for the risk — the Bear Call Spread takes only 7% of its width, under the 20% this scanner treats as thin compensation. A fill worse than the one assumed here collects less still."
        ]
      },
      "screen": {
        "compliant": true,
        "industry_ok": true,
        "industry": "Consumer Electronics",
        "debt_ratio": 0.01676954937077213,
        "cash_ratio": 0.012406373486086895,
        "receivables_ratio": null,
        "reasons": [
          "ok"
        ]
      }
    },
    {
      "rank": 3,
      "ticker": "IBM",
      "price": 258.28,
      "score": 61.0,
      "squeeze_on": false,
      "squeeze_days": 0,
      "squeeze_fired": false,
      "fired_dir": "",
      "bandwidth_pctile": 0.617,
      "hv_annual": 23.5,
      "hv_pctile": 0.033,
      "em_pct": 4.68,
      "horizon_days": 10,
      "down_1sigma": 246.2,
      "up_1sigma": 270.36,
      "down_2sigma": 234.13,
      "up_2sigma": 282.43,
      "lean": "Bullish",
      "note": "",
      "debt_ratio": 0.2755460893963686,
      "cash_ratio": 0.04538261155718655,
      "earnings_in_days": null,
      "implied_move_pct": 7.06,
      "vol_verdict": "rich",
      "iv_annual": 35.43,
      "iv_rank": 13.7,
      "premium_score": 42.7,
      "premium_state": "fair",
      "liquidity": "good",
      "action": "STAND_ASIDE",
      "strategy": "Stand aside",
      "options": {
        "iv_annual": 35.43,
        "hv_annual": 28.5,
        "implied_move_pct": 7.06,
        "hist_move_pct": 4.68,
        "iv_rank": 13.7,
        "iv_percentile": 18.0,
        "iv_rank_basis": "realized",
        "vrp": 6.9,
        "iv_hv_ratio": 1.24,
        "verdict": "rich",
        "premium_score": 42.7,
        "premium_state": "fair",
        "term_slope": -0.0209,
        "term_structure": "flat",
        "skew": 7.2,
        "skew_label": "put_skew",
        "atm_spread_pct": 11.9,
        "atm_open_interest": 2773,
        "liquidity": "good",
        "expiry": "2026-11-20",
        "days_to_expiry": 20,
        "expiries": [
          {
            "date": "2026-11-06",
            "dte": 6
          },
          {
            "date": "2026-11-13",
            "dte": 13
          },
          {
            "date": "2026-11-20",
            "dte": 20
          },
          {
            "date": "2026-11-27",
            "dte": 27
          },
          {
            "date": "2026-12-04",
            "dte": 34
          },
          {
            "date": "2026-12-18",
            "dte": 48
          },
          {
            "date": "2027-01-15",
            "dte": 76
          },
          {
            "date": "2027-02-19",
            "dte": 111
          },
          {
            "date": "2027-03-19",
            "dte": 139
          },
          {
            "date": "2027-04-16",
            "dte": 167
          },
          {
            "date": "2027-05-21",
            "dte": 202
          },
          {
            "date": "2027-06-17",
            "dte": 229
          }
        ],
        "long_expiry": "2027-12-17",
        "long_dte": 412,
        "long_iv": 36.16,
        "long_spread_pct": 8.6,
        "long_open_interest": 216,
        "long_liquidity": "fair",
        "quote_session": "closed"
      },
      "recommendation": {
        "ticker": "IBM",
        "action": "STAND_ASIDE",
        "headline": "IBM: stand aside — premium is fairly priced and the chart isn't coiled enough to pay for a position.",
        "detail": "Premium is fairly priced and the chart isn't coiled enough to pay for a position.",
        "confidence": 0.0,
        "premium_state": "fair",
        "premium_score": 42.7,
        "bias": "neutral",
        "bias_strength": "none",
        "plan": {
          "key": "stand_aside",
          "name": "Stand aside",
          "action": "STAND_ASIDE",
          "bias": "neutral",
          "thesis": "Premium is fairly priced and the chart isn't coiled enough to pay for a position.",
          "playbook": "No edge worth paying for. The best trade is often none.",
          "vega": "flat",
          "theta": "flat",
          "risk": "none",
          "legs": [],
          "expiry": null,
          "dte": null,
          "profit_horizon_dte": null,
          "net": null,
          "net_mid": null,
          "net_natural": null,
          "fill_basis": "",
          "max_profit": null,
          "max_loss": null,
          "breakevens": [],
          "profit_zone": "",
          "pop": null,
          "pop_basis": "",
          "credit_to_width": null,
          "manage": {},
          "sizing": {
            "risk_budget": 1000.0,
            "contracts": 0
          },
          "risk_form": {
            "tier": "n/a",
            "note": "No position — nothing to secure."
          }
        },
        "alternatives": [],
        "avoid": [],
        "why": [
          "IV rank 14/100 (fair premium, blended score 43).",
          "Options price a 7.1% move over the horizon vs 4.7% realized (1.24× IV/HV).",
          "Setup score 61/100, no directional edge.",
          "Puts bid over calls by 7.2 vol points — the put side pays more to sell.",
          "The bullish lean is not traded on: in the backtest it did not call direction better than the base rate, so this is treated as a name with no directional read."
        ],
        "warnings": [
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything."
        ]
      },
      "long_dated": {
        "expiry": "2027-12-17",
        "dte": 412,
        "target_days": 395,
        "iv_annual": 36.16,
        "front_iv_annual": 35.43,
        "liquidity": "fair",
        "atm_spread_pct": 8.6,
        "atm_open_interest": 216,
        "premium_state": "fair",
        "bias": "neutral",
        "bias_strength": "none",
        "preferred": null,
        "summary": "5 long-dated spreads price out on the 2027-12-17 expiry, but the scanner has no directional read on this name — and every 13-month spread is a directional bet. Listed for reference, not recommended.",
        "candidates": [
          {
            "key": "leaps_bull_call",
            "name": "LEAPS Bull Call Spread",
            "action": "BUY_PREMIUM",
            "bias": "bullish",
            "thesis": "A year of room for the upside thesis, at a cost that is fixed the day you put it on.",
            "playbook": "Buy a call about 13 months out, sell a higher one in the same expiry. A bullish position with a year to be right and a cost you know on day one — the short leg pays for part of the long one and caps the win.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 260.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 40.275,
                "bid": 38.55,
                "ask": 42.0,
                "iv": 32.93,
                "open_interest": 216,
                "label": "Buy 1× 2027-12-17 260 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 295.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 27.625,
                "bid": 26.1,
                "ask": 29.15,
                "iv": 33.66,
                "open_interest": 22,
                "label": "Sell 1× 2027-12-17 295 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": 1373.33,
            "net_mid": 1265.0,
            "net_natural": 1590.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 2126.67,
            "max_loss": 1373.33,
            "breakevens": [
              273.73
            ],
            "profit_zone": "above",
            "pop": 0.366,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "take 50–70% of the maximum profit — the last of it takes months to arrive",
              "profit_target_pct": 60,
              "stop": "cut at −50% of the debit, or sooner if the reason you put it on stops being true",
              "stop_loss_pct": 50,
              "time_stop": "roll or close with ~90 days left; the final quarter is where a long-dated spread loses its remaining time value fastest",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "poor_mans_covered_call",
            "name": "Poor Man's Covered Call",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Own the year cheaply through a deep in-the-money call, and rent the near month out against it every cycle.",
            "playbook": "Buy a deep in-the-money call 13 months out as a cheaper stand-in for 100 shares, then sell a near-dated call against it and roll that short leg each month. Covered-call income on a fraction of the capital — and the long call, not stock, is what secures it.",
            "vega": "long",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 205.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 70.25,
                "bid": 68.5,
                "ask": 72.0,
                "iv": 30.5,
                "open_interest": 103,
                "label": "Buy 1× 2027-12-17 205 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 280.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.58,
                "bid": 1.41,
                "ask": 1.75,
                "iv": 32.37,
                "open_interest": 2455,
                "label": "Sell 1× 2026-11-20 280 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": 20,
            "net": 6931.0,
            "net_mid": 6867.0,
            "net_natural": 7059.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 569.0,
            "max_loss": 6931.0,
            "breakevens": [
              274.31
            ],
            "profit_zone": "above",
            "pop": null,
            "pop_basis": "",
            "credit_to_width": null,
            "manage": {
              "profit_target": "roll the short call out each month for a fresh credit; take the whole position off at 50–70% of the maximum",
              "profit_target_pct": 60,
              "stop": "cut if the long call loses half its value — the thesis is gone, not just early",
              "stop_loss_pct": 50,
              "time_stop": "roll the long leg with ~90 days left. Never let the short call go to assignment while you still want the long one.",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "option_covered",
              "note": "The short call is secured by the long call, not by shares and not by margin: assignment is covered by exercising or selling the long leg. That is why the whole position can only lose the debit — and why the long leg must never be closed first."
            }
          },
          {
            "key": "leaps_bull_put",
            "name": "LEAPS Bull Put Spread",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Paid up front to be right about a direction over a year, with the loss capped by the long wing — but the capital is committed for that whole year.",
            "playbook": "Sell a long-dated put well below the price, buy a lower one for protection. You collect the credit up front and keep it if the stock holds up — but the capital is committed for a year and the decay arrives mostly at the end.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "put",
                "strike": 205.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 14.425,
                "bid": 13.6,
                "ask": 15.25,
                "iv": 39.67,
                "open_interest": 185,
                "label": "Sell 1× 2027-12-17 205 put",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "put",
                "strike": 185.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 9.45,
                "bid": 8.45,
                "ask": 10.45,
                "iv": 40.52,
                "open_interest": 190,
                "label": "Buy 1× 2027-12-17 185 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": -436.67,
            "net_mid": -497.5,
            "net_natural": -315.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 436.67,
            "max_loss": 1563.33,
            "breakevens": [
              200.63
            ],
            "profit_zone": "above",
            "pop": 0.654,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.218,
            "manage": {
              "profit_target": "buy it back at 50% of the credit — usually long before expiry",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~90 days to expiry, before gamma starts to matter",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          },
          {
            "key": "leaps_bear_put",
            "name": "LEAPS Bear Put Spread",
            "action": "BUY_PREMIUM",
            "bias": "bearish",
            "thesis": "A year of room for the downside thesis, at a cost that is fixed the day you put it on.",
            "playbook": "Buy a long-dated put, sell a lower one. The same shape pointed down: a year of room for a thesis, at a defined cost.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "put",
                "strike": 260.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 37.3,
                "bid": 35.85,
                "ask": 38.75,
                "iv": 39.39,
                "open_interest": 220,
                "label": "Buy 1× 2027-12-17 260 put",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "put",
                "strike": 220.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 20.125,
                "bid": 19.1,
                "ask": 21.15,
                "iv": 40.3,
                "open_interest": 173,
                "label": "Sell 1× 2027-12-17 220 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": 1800.0,
            "net_mid": 1717.5,
            "net_natural": 1965.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 2200.0,
            "max_loss": 1800.0,
            "breakevens": [
              242.0
            ],
            "profit_zone": "below",
            "pop": 0.521,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "take 50–70% of the maximum profit — the last of it takes months to arrive",
              "profit_target_pct": 60,
              "stop": "cut at −50% of the debit, or sooner if the reason you put it on stops being true",
              "stop_loss_pct": 50,
              "time_stop": "roll or close with ~90 days left; the final quarter is where a long-dated spread loses its remaining time value fastest",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "leaps_bear_call",
            "name": "LEAPS Bear Call Spread",
            "action": "SELL_PREMIUM",
            "bias": "bearish",
            "thesis": "Paid up front to be right about a direction over a year, with the loss capped by the long wing — but the capital is committed for that whole year.",
            "playbook": "Sell a long-dated call well above the price, buy a higher one. The credit is yours if the stock stays under the short strike for the year.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "call",
                "strike": 310.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 22.925,
                "bid": 21.55,
                "ask": 24.3,
                "iv": 33.43,
                "open_interest": 304,
                "label": "Sell 1× 2027-12-17 310 call",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "call",
                "strike": 330.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 18.5,
                "bid": 17.65,
                "ask": 19.35,
                "iv": 33.91,
                "open_interest": 105,
                "label": "Buy 1× 2027-12-17 330 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": -368.33,
            "net_mid": -442.5,
            "net_natural": -220.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 368.33,
            "max_loss": 1631.67,
            "breakevens": [
              313.68
            ],
            "profit_zone": "below",
            "pop": 0.764,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.184,
            "manage": {
              "profit_target": "buy it back at 50% of the credit — usually long before expiry",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~90 days to expiry, before gamma starts to matter",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          }
        ],
        "warnings": [
          "IV rank 14 is a front-month reading. A 13-month contract is priced off a flatter part of the volatility surface, so 'cheap' or 'rich' here is a weaker signal than it is on the near expiry — this expiry's own ATM IV is 36%.",
          "About 5 earnings reports fall inside this 412-day expiry. A long-dated spread is priced through all of them; none of them is the trade.",
          "One of these credit spreads collects very little for the risk — the LEAPS Bear Call Spread takes only 18% of its width, and holds the capital for 412 days to do it. Widen the wings or pass.",
          "The Poor Man's Covered Call's max profit below is the conservative case — assigned on the very first short call. Rolling that short leg out each month is where the structure actually earns, and no figure here counts those rolls.",
          "The short legs can be assigned early — most often a short call the day before an ex-dividend date. Know the dividend calendar before you sell one.",
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything."
        ]
      },
      "near_term": {
        "expiry": "2026-11-20",
        "dte": 20,
        "iv_annual": 35.43,
        "liquidity": "good",
        "atm_spread_pct": 11.9,
        "premium_state": "fair",
        "bias": "neutral",
        "preferred": null,
        "summary": "4 one-direction spreads price out on the 2026-11-20 expiry, but the scanner has no proven directional read on this name, so none is recommended. Each one is a bet the stock goes one way; listed for reference.",
        "candidates": [
          {
            "key": "bull_call_spread",
            "name": "Bull Call Spread",
            "action": "BUY_PREMIUM",
            "bias": "bullish",
            "thesis": "Options are reasonably priced and the break is up — pay a capped premium for a capped move.",
            "playbook": "Buy a call, sell a higher one. A capped, cheaper bullish bet — the short leg pays for part of the long one.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 260.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 6.75,
                "bid": 6.35,
                "ask": 7.15,
                "iv": 30.25,
                "open_interest": 2773,
                "label": "Buy 1× 2026-11-20 260 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 280.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.58,
                "bid": 1.41,
                "ask": 1.75,
                "iv": 32.37,
                "open_interest": 2455,
                "label": "Sell 1× 2026-11-20 280 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": 536.0,
            "net_mid": 517.0,
            "net_natural": 574.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 1464.0,
            "max_loss": 536.0,
            "breakevens": [
              265.36
            ],
            "profit_zone": "above",
            "pop": 0.341,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "close at +50% to +100% of the debit",
              "profit_target_pct": 50,
              "stop": "cut at −50% of the debit",
              "stop_loss_pct": 50,
              "time_stop": "be out with ~7 days to expiry — theta accelerates into the last week",
              "close_by_dte": 7
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "bull_put_spread",
            "name": "Bull Put Spread",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Premium is rich and the lean is up — get paid to be right about a direction you don't need to nail.",
            "playbook": "Sell a put, buy a lower one. You collect credit and win if the stock stays above the short put — a bullish way to be short rich premium.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "put",
                "strike": 237.5,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 2.18,
                "bid": 1.8,
                "ask": 2.56,
                "iv": 39.57,
                "open_interest": 134,
                "label": "Sell 1× 2026-11-20 237.5 put",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "put",
                "strike": 230.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.2,
                "bid": 1.02,
                "ask": 1.38,
                "iv": 40.73,
                "open_interest": 1904,
                "label": "Buy 1× 2026-11-20 230 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": -79.33,
            "net_mid": -98.0,
            "net_natural": -42.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 79.33,
            "max_loss": 670.67,
            "breakevens": [
              236.71
            ],
            "profit_zone": "above",
            "pop": 0.815,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.106,
            "manage": {
              "profit_target": "buy it back at 50% of the credit received",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~21 days to expiry — gamma risk rises fast after that",
              "close_by_dte": 21
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          },
          {
            "key": "bear_put_spread",
            "name": "Bear Put Spread",
            "action": "BUY_PREMIUM",
            "bias": "bearish",
            "thesis": "Options are reasonably priced and the break is down — pay a capped premium for a capped move.",
            "playbook": "Buy a put, sell a lower one. A capped, cheaper bearish bet.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "put",
                "strike": 260.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 10.4,
                "bid": 9.6,
                "ask": 11.2,
                "iv": 40.61,
                "open_interest": 701,
                "label": "Buy 1× 2026-11-20 260 put",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "put",
                "strike": 237.5,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 2.18,
                "bid": 1.8,
                "ask": 2.56,
                "iv": 39.57,
                "open_interest": 134,
                "label": "Sell 1× 2026-11-20 237.5 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": 861.33,
            "net_mid": 822.0,
            "net_natural": 940.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 1388.67,
            "max_loss": 861.33,
            "breakevens": [
              251.39
            ],
            "profit_zone": "below",
            "pop": 0.402,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "close at +50% to +100% of the debit",
              "profit_target_pct": 50,
              "stop": "cut at −50% of the debit",
              "stop_loss_pct": 50,
              "time_stop": "be out with ~7 days to expiry — theta accelerates into the last week",
              "close_by_dte": 7
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "bear_call_spread",
            "name": "Bear Call Spread",
            "action": "SELL_PREMIUM",
            "bias": "bearish",
            "thesis": "Premium is rich and the lean is down — get paid to be right about a direction you don't need to nail.",
            "playbook": "Sell a call, buy a higher one. You collect credit and win if the stock stays below the short call.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "call",
                "strike": 280.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.58,
                "bid": 1.41,
                "ask": 1.75,
                "iv": 32.37,
                "open_interest": 2455,
                "label": "Sell 1× 2026-11-20 280 call",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "call",
                "strike": 290.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 0.73,
                "bid": 0.59,
                "ask": 0.87,
                "iv": 33.79,
                "open_interest": 961,
                "label": "Buy 1× 2026-11-20 290 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": -74.67,
            "net_mid": -85.0,
            "net_natural": -54.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 74.67,
            "max_loss": 925.33,
            "breakevens": [
              280.75
            ],
            "profit_zone": "below",
            "pop": 0.873,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.075,
            "manage": {
              "profit_target": "buy it back at 50% of the credit received",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~21 days to expiry — gamma risk rises fast after that",
              "close_by_dte": 21
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          }
        ],
        "warnings": [
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything.",
          "The credit spreads here collect little for the risk — the Bear Call Spread takes only 8% of its width, under the 20% this scanner treats as thin compensation. A fill worse than the one assumed here collects less still."
        ]
      },
      "screen": {
        "compliant": true,
        "industry_ok": true,
        "industry": "Information Technology Services",
        "debt_ratio": 0.2755460893963686,
        "cash_ratio": 0.04538261155718655,
        "receivables_ratio": null,
        "reasons": [
          "ok"
        ]
      }
    },
    {
      "rank": 4,
      "ticker": "TMO",
      "price": 709.18,
      "score": 57.7,
      "squeeze_on": false,
      "squeeze_days": 0,
      "squeeze_fired": false,
      "fired_dir": "",
      "bandwidth_pctile": 0.225,
      "hv_annual": 26.1,
      "hv_pctile": 0.308,
      "em_pct": 5.21,
      "horizon_days": 10,
      "down_1sigma": 672.25,
      "up_1sigma": 746.11,
      "down_2sigma": 635.32,
      "up_2sigma": 783.04,
      "lean": "Bullish",
      "note": "",
      "debt_ratio": 0.16052687524404616,
      "cash_ratio": 0.023518331848235742,
      "earnings_in_days": null,
      "implied_move_pct": 6.86,
      "vol_verdict": "rich",
      "iv_annual": 34.45,
      "iv_rank": 80.3,
      "premium_score": 81.8,
      "premium_state": "rich",
      "liquidity": "poor",
      "action": "STAND_ASIDE",
      "strategy": "Stand aside",
      "options": {
        "iv_annual": 34.45,
        "hv_annual": 24.9,
        "implied_move_pct": 6.86,
        "hist_move_pct": 5.21,
        "iv_rank": 80.3,
        "iv_percentile": 78.8,
        "iv_rank_basis": "realized",
        "vrp": 9.5,
        "iv_hv_ratio": 1.38,
        "verdict": "rich",
        "premium_score": 81.8,
        "premium_state": "rich",
        "term_slope": -0.0827,
        "term_structure": "backwardation",
        "skew": 9.31,
        "skew_label": "put_skew",
        "atm_spread_pct": 40.0,
        "atm_open_interest": 81,
        "liquidity": "poor",
        "expiry": "2026-11-20",
        "days_to_expiry": 20,
        "expiries": [
          {
            "date": "2026-11-06",
            "dte": 6
          },
          {
            "date": "2026-11-13",
            "dte": 13
          },
          {
            "date": "2026-11-20",
            "dte": 20
          },
          {
            "date": "2026-11-27",
            "dte": 27
          },
          {
            "date": "2026-12-04",
            "dte": 34
          },
          {
            "date": "2026-12-18",
            "dte": 48
          },
          {
            "date": "2027-01-15",
            "dte": 76
          },
          {
            "date": "2027-03-19",
            "dte": 139
          },
          {
            "date": "2027-06-17",
            "dte": 229
          },
          {
            "date": "2027-09-17",
            "dte": 321
          },
          {
            "date": "2028-01-21",
            "dte": 447
          },
          {
            "date": "2028-12-15",
            "dte": 776
          }
        ],
        "long_expiry": "2028-01-21",
        "long_dte": 447,
        "long_iv": 34.61,
        "long_spread_pct": 7.7,
        "long_open_interest": 21,
        "long_liquidity": "poor",
        "quote_session": "closed"
      },
      "recommendation": {
        "ticker": "TMO",
        "action": "STAND_ASIDE",
        "headline": "TMO: stand aside — the options are too illiquid to trade: only 81 contracts of open interest at the at-the-money strike (under 100). Premium looks rich, but you would give the edge back on the fills.",
        "detail": "The options are too illiquid to trade: only 81 contracts of open interest at the at-the-money strike (under 100). Premium looks rich, but you would give the edge back on the fills.",
        "confidence": 0.0,
        "premium_state": "rich",
        "premium_score": 81.8,
        "bias": "neutral",
        "bias_strength": "none",
        "plan": {
          "key": "stand_aside",
          "name": "Stand aside",
          "action": "STAND_ASIDE",
          "bias": "neutral",
          "thesis": "The options are too illiquid to trade: only 81 contracts of open interest at the at-the-money strike (under 100). Premium looks rich, but you would give the edge back on the fills.",
          "playbook": "No edge worth paying for. The best trade is often none.",
          "vega": "flat",
          "theta": "flat",
          "risk": "none",
          "legs": [],
          "expiry": null,
          "dte": null,
          "profit_horizon_dte": null,
          "net": null,
          "net_mid": null,
          "net_natural": null,
          "fill_basis": "",
          "max_profit": null,
          "max_loss": null,
          "breakevens": [],
          "profit_zone": "",
          "pop": null,
          "pop_basis": "",
          "credit_to_width": null,
          "manage": {},
          "sizing": {
            "risk_budget": 1000.0,
            "contracts": 0
          },
          "risk_form": {
            "tier": "n/a",
            "note": "No position — nothing to secure."
          }
        },
        "alternatives": [],
        "avoid": [
          {
            "name": "Any multi-leg spread here",
            "reason": "Only 81 contracts of open interest at the at-the-money strike (under 100) — slippage on entry and exit would cost more than the edge."
          }
        ],
        "why": [
          "IV rank 80/100 (rich premium, blended score 82).",
          "Options price a 6.9% move over the horizon vs 5.2% realized (1.38× IV/HV).",
          "Setup score 58/100, no directional edge.",
          "Term structure in backwardation (-8.3% front→back).",
          "Puts bid over calls by 9.3 vol points — the put side pays more to sell.",
          "The bullish lean is not traded on: in the backtest it did not call direction better than the base rate, so this is treated as a name with no directional read."
        ],
        "warnings": [
          "Thin options market: only 81 contracts of open interest at the at-the-money strike (under 100) — the bid/ask will eat a multi-leg spread. Use limit orders at mid, or skip it.",
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything."
        ]
      },
      "long_dated": {
        "expiry": "2028-01-21",
        "dte": 447,
        "target_days": 395,
        "iv_annual": 34.61,
        "front_iv_annual": 34.45,
        "liquidity": "poor",
        "atm_spread_pct": 7.7,
        "atm_open_interest": 21,
        "premium_state": "rich",
        "bias": "neutral",
        "bias_strength": "none",
        "preferred": null,
        "summary": "4 long-dated spreads price out on the 2028-01-21 expiry, but the scanner has no directional read on this name — and every 13-month spread is a directional bet. Listed for reference, not recommended.",
        "candidates": [
          {
            "key": "leaps_bull_call",
            "name": "LEAPS Bull Call Spread",
            "action": "BUY_PREMIUM",
            "bias": "bullish",
            "thesis": "A year of room for the upside thesis, at a cost that is fixed the day you put it on.",
            "playbook": "Buy a call about 13 months out, sell a higher one in the same expiry. A bullish position with a year to be right and a cost you know on day one — the short leg pays for part of the long one and caps the win.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 710.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 116.5,
                "bid": 112.0,
                "ask": 121.0,
                "iv": 32.58,
                "open_interest": 21,
                "label": "Buy 1× 2028-01-21 710 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 820.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 74.0,
                "bid": 69.0,
                "ask": 79.0,
                "iv": 32.42,
                "open_interest": 135,
                "label": "Sell 1× 2028-01-21 820 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2028-01-21",
            "dte": 447,
            "profit_horizon_dte": null,
            "net": 4566.67,
            "net_mid": 4250.0,
            "net_natural": 5200.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 6433.33,
            "max_loss": 4566.67,
            "breakevens": [
              755.67
            ],
            "profit_zone": "above",
            "pop": 0.361,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "take 50–70% of the maximum profit — the last of it takes months to arrive",
              "profit_target_pct": 60,
              "stop": "cut at −50% of the debit, or sooner if the reason you put it on stops being true",
              "stop_loss_pct": 50,
              "time_stop": "roll or close with ~90 days left; the final quarter is where a long-dated spread loses its remaining time value fastest",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "leaps_bull_put",
            "name": "LEAPS Bull Put Spread",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Paid up front to be right about a direction over a year, with the loss capped by the long wing — but the capital is committed for that whole year.",
            "playbook": "Sell a long-dated put well below the price, buy a lower one for protection. You collect the credit up front and keep it if the stock holds up — but the capital is committed for a year and the decay arrives mostly at the end.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "put",
                "strike": 570.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 39.0,
                "bid": 34.0,
                "ask": 44.0,
                "iv": 37.09,
                "open_interest": 12,
                "label": "Sell 1× 2028-01-21 570 put",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "put",
                "strike": 510.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 27.0,
                "bid": 22.0,
                "ask": 32.0,
                "iv": 39.5,
                "open_interest": 9,
                "label": "Buy 1× 2028-01-21 510 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2028-01-21",
            "dte": 447,
            "profit_horizon_dte": null,
            "net": -866.67,
            "net_mid": -1200.0,
            "net_natural": -200.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 866.67,
            "max_loss": 5133.33,
            "breakevens": [
              561.33
            ],
            "profit_zone": "above",
            "pop": 0.642,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.144,
            "manage": {
              "profit_target": "buy it back at 50% of the credit — usually long before expiry",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~90 days to expiry, before gamma starts to matter",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          },
          {
            "key": "leaps_bear_put",
            "name": "LEAPS Bear Put Spread",
            "action": "BUY_PREMIUM",
            "bias": "bearish",
            "thesis": "A year of room for the downside thesis, at a cost that is fixed the day you put it on.",
            "playbook": "Buy a long-dated put, sell a lower one. The same shape pointed down: a year of room for a thesis, at a defined cost.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "put",
                "strike": 710.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 95.5,
                "bid": 91.0,
                "ask": 100.0,
                "iv": 36.65,
                "open_interest": 10,
                "label": "Buy 1× 2028-01-21 710 put",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "put",
                "strike": 600.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 48.55,
                "bid": 45.0,
                "ask": 52.1,
                "iv": 36.89,
                "open_interest": 15,
                "label": "Sell 1× 2028-01-21 600 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2028-01-21",
            "dte": 447,
            "profit_horizon_dte": null,
            "net": 4963.33,
            "net_mid": 4695.0,
            "net_natural": 5500.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 6036.67,
            "max_loss": 4963.33,
            "breakevens": [
              660.37
            ],
            "profit_zone": "below",
            "pop": 0.51,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "take 50–70% of the maximum profit — the last of it takes months to arrive",
              "profit_target_pct": 60,
              "stop": "cut at −50% of the debit, or sooner if the reason you put it on stops being true",
              "stop_loss_pct": 50,
              "time_stop": "roll or close with ~90 days left; the final quarter is where a long-dated spread loses its remaining time value fastest",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "leaps_bear_call",
            "name": "LEAPS Bear Call Spread",
            "action": "SELL_PREMIUM",
            "bias": "bearish",
            "thesis": "Paid up front to be right about a direction over a year, with the loss capped by the long wing — but the capital is committed for that whole year.",
            "playbook": "Sell a long-dated call well above the price, buy a higher one. The credit is yours if the stock stays under the short strike for the year.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "call",
                "strike": 860.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 62.0,
                "bid": 58.0,
                "ask": 66.0,
                "iv": 32.28,
                "open_interest": 77,
                "label": "Sell 1× 2028-01-21 860 call",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "call",
                "strike": 920.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 48.0,
                "bid": 43.0,
                "ask": 53.0,
                "iv": 32.37,
                "open_interest": 38,
                "label": "Buy 1× 2028-01-21 920 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2028-01-21",
            "dte": 447,
            "profit_horizon_dte": null,
            "net": -1100.0,
            "net_mid": -1400.0,
            "net_natural": -500.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 1100.0,
            "max_loss": 4900.0,
            "breakevens": [
              871.0
            ],
            "profit_zone": "below",
            "pop": 0.774,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.183,
            "manage": {
              "profit_target": "buy it back at 50% of the credit — usually long before expiry",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~90 days to expiry, before gamma starts to matter",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          }
        ],
        "warnings": [
          "The long-dated chain is thin: only 21 contracts of open interest at the money. You pay the spread on the way in and again on the way out, a year apart.",
          "IV rank 80 is a front-month reading. A 13-month contract is priced off a flatter part of the volatility surface, so 'cheap' or 'rich' here is a weaker signal than it is on the near expiry — this expiry's own ATM IV is 35%.",
          "About 5 earnings reports fall inside this 447-day expiry. A long-dated spread is priced through all of them; none of them is the trade.",
          "Some of these credit spreads collect very little for the risk — the LEAPS Bull Put Spread takes only 14% of its width, and holds the capital for 447 days to do it. Widen the wings or pass.",
          "The short legs can be assigned early — most often a short call the day before an ex-dividend date. Know the dividend calendar before you sell one.",
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything."
        ]
      },
      "near_term": {
        "expiry": "2026-11-20",
        "dte": 20,
        "iv_annual": 34.45,
        "liquidity": "poor",
        "atm_spread_pct": 40.0,
        "premium_state": "rich",
        "bias": "neutral",
        "preferred": null,
        "summary": "4 one-direction spreads price out on the 2026-11-20 expiry, but the scanner has no proven directional read on this name, so none is recommended. Each one is a bet the stock goes one way; listed for reference.",
        "candidates": [
          {
            "key": "bull_call_spread",
            "name": "Bull Call Spread",
            "action": "BUY_PREMIUM",
            "bias": "bullish",
            "thesis": "Options are reasonably priced and the break is up — pay a capped premium for a capped move.",
            "playbook": "Buy a call, sell a higher one. A capped, cheaper bullish bet — the short leg pays for part of the long one.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 710.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 17.0,
                "bid": 13.6,
                "ask": 20.4,
                "iv": 25.13,
                "open_interest": 81,
                "label": "Buy 1× 2026-11-20 710 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 770.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 3.75,
                "bid": 1.7,
                "ask": 5.8,
                "iv": 31.27,
                "open_interest": 247,
                "label": "Sell 1× 2026-11-20 770 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": 1506.67,
            "net_mid": 1325.0,
            "net_natural": 1870.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 4493.33,
            "max_loss": 1506.67,
            "breakevens": [
              725.07
            ],
            "profit_zone": "above",
            "pop": 0.349,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "close at +50% to +100% of the debit",
              "profit_target_pct": 50,
              "stop": "cut at −50% of the debit",
              "stop_loss_pct": 50,
              "time_stop": "be out with ~7 days to expiry — theta accelerates into the last week",
              "close_by_dte": 7
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "bull_put_spread",
            "name": "Bull Put Spread",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Premium is rich and the lean is up — get paid to be right about a direction you don't need to nail.",
            "playbook": "Sell a put, buy a lower one. You collect credit and win if the stock stays above the short put — a bullish way to be short rich premium.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "put",
                "strike": 650.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 6.0,
                "bid": 3.1,
                "ask": 8.9,
                "iv": 40.58,
                "open_interest": 223,
                "label": "Sell 1× 2026-11-20 650 put",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "put",
                "strike": 630.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 3.0,
                "bid": 2.1,
                "ask": 3.9,
                "iv": 40.3,
                "open_interest": 92,
                "label": "Buy 1× 2026-11-20 630 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": -173.33,
            "net_mid": -300.0,
            "net_natural": 80.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 173.33,
            "max_loss": 1826.67,
            "breakevens": [
              648.27
            ],
            "profit_zone": "above",
            "pop": 0.815,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.087,
            "manage": {
              "profit_target": "buy it back at 50% of the credit received",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~21 days to expiry — gamma risk rises fast after that",
              "close_by_dte": 21
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          },
          {
            "key": "bear_put_spread",
            "name": "Bear Put Spread",
            "action": "BUY_PREMIUM",
            "bias": "bearish",
            "thesis": "Options are reasonably priced and the break is down — pay a capped premium for a capped move.",
            "playbook": "Buy a put, sell a lower one. A capped, cheaper bearish bet.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "put",
                "strike": 710.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 28.6,
                "bid": 25.0,
                "ask": 32.2,
                "iv": 43.78,
                "open_interest": 15,
                "label": "Buy 1× 2026-11-20 710 put",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "put",
                "strike": 650.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 6.0,
                "bid": 3.1,
                "ask": 8.9,
                "iv": 40.58,
                "open_interest": 223,
                "label": "Sell 1× 2026-11-20 650 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": 2476.67,
            "net_mid": 2260.0,
            "net_natural": 2910.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 3523.33,
            "max_loss": 2476.67,
            "breakevens": [
              685.23
            ],
            "profit_zone": "below",
            "pop": 0.385,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "close at +50% to +100% of the debit",
              "profit_target_pct": 50,
              "stop": "cut at −50% of the debit",
              "stop_loss_pct": 50,
              "time_stop": "be out with ~7 days to expiry — theta accelerates into the last week",
              "close_by_dte": 7
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "bear_call_spread",
            "name": "Bear Call Spread",
            "action": "SELL_PREMIUM",
            "bias": "bearish",
            "thesis": "Premium is rich and the lean is down — get paid to be right about a direction you don't need to nail.",
            "playbook": "Sell a call, buy a higher one. You collect credit and win if the stock stays below the short call.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "call",
                "strike": 770.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 3.75,
                "bid": 1.7,
                "ask": 5.8,
                "iv": 31.27,
                "open_interest": 247,
                "label": "Sell 1× 2026-11-20 770 call",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "call",
                "strike": 790.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.275,
                "bid": 0.5,
                "ask": 2.05,
                "iv": 28.87,
                "open_interest": 49,
                "label": "Buy 1× 2026-11-20 790 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": -153.33,
            "net_mid": -247.5,
            "net_natural": 35.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 153.33,
            "max_loss": 1846.67,
            "breakevens": [
              771.53
            ],
            "profit_zone": "below",
            "pop": 0.883,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.077,
            "manage": {
              "profit_target": "buy it back at 50% of the credit received",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~21 days to expiry — gamma risk rises fast after that",
              "close_by_dte": 21
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          }
        ],
        "warnings": [
          "The chain is thin: only 81 contracts of open interest at the at-the-money strike (under 100). Expect to give up a lot of the edge on the way in and out.",
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything.",
          "The credit spreads here collect little for the risk — the Bear Call Spread takes only 8% of its width, under the 20% this scanner treats as thin compensation. A fill worse than the one assumed here collects less still."
        ]
      },
      "screen": {
        "compliant": true,
        "industry_ok": true,
        "industry": "Diagnostics & Research",
        "debt_ratio": 0.16052687524404616,
        "cash_ratio": 0.023518331848235742,
        "receivables_ratio": null,
        "reasons": [
          "ok"
        ]
      }
    },
    {
      "rank": 5,
      "ticker": "INTC",
      "price": 92.07,
      "score": 55.4,
      "squeeze_on": false,
      "squeeze_days": 0,
      "squeeze_fired": false,
      "fired_dir": "",
      "bandwidth_pctile": 0.692,
      "hv_annual": 53.0,
      "hv_pctile": 0.1,
      "em_pct": 10.55,
      "horizon_days": 10,
      "down_1sigma": 82.36,
      "up_1sigma": 101.78,
      "down_2sigma": 72.64,
      "up_2sigma": 111.5,
      "lean": "Bearish",
      "note": "",
      "debt_ratio": 0.14472819080996133,
      "cash_ratio": 0.08513237686930519,
      "earnings_in_days": 89.0,
      "implied_move_pct": 39.33,
      "vol_verdict": "rich",
      "iv_annual": 197.46,
      "iv_rank": 100.0,
      "premium_score": 97.8,
      "premium_state": "rich",
      "liquidity": "good",
      "action": "STAND_ASIDE",
      "strategy": "Stand aside",
      "options": {
        "iv_annual": 197.46,
        "hv_annual": 60.3,
        "implied_move_pct": 39.33,
        "hist_move_pct": 10.55,
        "iv_rank": 100.0,
        "iv_percentile": 100.0,
        "iv_rank_basis": "realized",
        "vrp": 137.12,
        "iv_hv_ratio": 3.27,
        "verdict": "rich",
        "premium_score": 97.8,
        "premium_state": "rich",
        "term_slope": -0.4565,
        "term_structure": "backwardation",
        "skew": 72.86,
        "skew_label": "put_skew",
        "atm_spread_pct": 37.5,
        "atm_open_interest": 3787,
        "liquidity": "good",
        "expiry": "2026-11-20",
        "days_to_expiry": 20,
        "expiries": [
          {
            "date": "2026-11-06",
            "dte": 6
          },
          {
            "date": "2026-11-13",
            "dte": 13
          },
          {
            "date": "2026-11-20",
            "dte": 20
          },
          {
            "date": "2026-11-27",
            "dte": 27
          },
          {
            "date": "2026-12-04",
            "dte": 34
          },
          {
            "date": "2026-12-18",
            "dte": 48
          },
          {
            "date": "2027-01-15",
            "dte": 76
          },
          {
            "date": "2027-02-19",
            "dte": 111
          },
          {
            "date": "2027-03-19",
            "dte": 139
          },
          {
            "date": "2027-04-16",
            "dte": 167
          },
          {
            "date": "2027-06-17",
            "dte": 229
          },
          {
            "date": "2027-09-17",
            "dte": 321
          }
        ],
        "long_expiry": "2027-12-17",
        "long_dte": 412,
        "long_iv": 55.69,
        "long_spread_pct": 4.4,
        "long_open_interest": 353,
        "long_liquidity": "fair",
        "quote_session": "closed"
      },
      "recommendation": {
        "ticker": "INTC",
        "action": "STAND_ASIDE",
        "headline": "INTC: stand aside — premium looks rich, but on this scanner's record selling it has not paid: On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money.",
        "detail": "Premium looks rich, but on this scanner's record selling it has not paid: On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money.",
        "confidence": 0.0,
        "premium_state": "rich",
        "premium_score": 97.8,
        "bias": "neutral",
        "bias_strength": "none",
        "plan": {
          "key": "stand_aside",
          "name": "Stand aside",
          "action": "STAND_ASIDE",
          "bias": "neutral",
          "thesis": "Premium looks rich, but on this scanner's record selling it has not paid: On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money.",
          "playbook": "No edge worth paying for. The best trade is often none.",
          "vega": "flat",
          "theta": "flat",
          "risk": "none",
          "legs": [],
          "expiry": null,
          "dte": null,
          "profit_horizon_dte": null,
          "net": null,
          "net_mid": null,
          "net_natural": null,
          "fill_basis": "",
          "max_profit": null,
          "max_loss": null,
          "breakevens": [],
          "profit_zone": "",
          "pop": null,
          "pop_basis": "",
          "credit_to_width": null,
          "manage": {},
          "sizing": {
            "risk_budget": 1000.0,
            "contracts": 0
          },
          "risk_form": {
            "tier": "n/a",
            "note": "No position — nothing to secure."
          }
        },
        "alternatives": [],
        "avoid": [
          {
            "name": "Long straddles / strangles",
            "reason": "IV rank 100 and the market is pricing a 39.3% move vs 10.6% realized — you'd be paying up for the move you want."
          },
          {
            "name": "Selling premium (condors, credit spreads)",
            "reason": "Not supported by the backtest: On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money."
          }
        ],
        "why": [
          "IV rank 100/100 (rich premium, blended score 98).",
          "That rank is IV against the past year's realized volatility, not past implied volatility (the name has fewer than 120 logged IV readings). Today's IV sits above every realized reading in that range — treat 'rich' here as 'priced above recent realized swings', not 'rich for this name'.",
          "Options price a 39.3% move over the horizon vs 10.6% realized (3.27× IV/HV).",
          "Setup score 55/100, no directional edge.",
          "Term structure in backwardation (-45.6% front→back).",
          "Puts bid over calls by 72.9 vol points — the put side pays more to sell.",
          "The bearish lean is not traded on: in the backtest it did not call direction better than the base rate, so this is treated as a name with no directional read."
        ],
        "warnings": [
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything."
        ]
      },
      "long_dated": {
        "expiry": "2027-12-17",
        "dte": 412,
        "target_days": 395,
        "iv_annual": 55.69,
        "front_iv_annual": 197.46,
        "liquidity": "fair",
        "atm_spread_pct": 4.4,
        "atm_open_interest": 353,
        "premium_state": "rich",
        "bias": "neutral",
        "bias_strength": "none",
        "preferred": null,
        "summary": "5 long-dated spreads price out on the 2027-12-17 expiry, but the scanner has no directional read on this name — and every 13-month spread is a directional bet. Listed for reference, not recommended.",
        "candidates": [
          {
            "key": "leaps_bull_call",
            "name": "LEAPS Bull Call Spread",
            "action": "BUY_PREMIUM",
            "bias": "bullish",
            "thesis": "A year of room for the upside thesis, at a cost that is fixed the day you put it on.",
            "playbook": "Buy a call about 13 months out, sell a higher one in the same expiry. A bullish position with a year to be right and a cost you know on day one — the short leg pays for part of the long one and caps the win.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 92.5,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 9.05,
                "bid": 8.85,
                "ask": 9.25,
                "iv": 18.53,
                "open_interest": 353,
                "label": "Buy 1× 2027-12-17 92.5 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 105.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 7.05,
                "bid": 6.5,
                "ask": 7.6,
                "iv": 26.31,
                "open_interest": 2125,
                "label": "Sell 1× 2027-12-17 105 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": 225.0,
            "net_mid": 200.0,
            "net_natural": 275.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 1025.0,
            "max_loss": 225.0,
            "breakevens": [
              94.75
            ],
            "profit_zone": "above",
            "pop": 0.405,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "take 50–70% of the maximum profit — the last of it takes months to arrive",
              "profit_target_pct": 60,
              "stop": "cut at −50% of the debit, or sooner if the reason you put it on stops being true",
              "stop_loss_pct": 50,
              "time_stop": "roll or close with ~90 days left; the final quarter is where a long-dated spread loses its remaining time value fastest",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "poor_mans_covered_call",
            "name": "Poor Man's Covered Call",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Own the year cheaply through a deep in-the-money call, and rent the near month out against it every cycle.",
            "playbook": "Buy a deep in-the-money call 13 months out as a cheaper stand-in for 100 shares, then sell a near-dated call against it and roll that short leg each month. Covered-call income on a fraction of the capital — and the long call, not stock, is what secures it.",
            "vega": "long",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 72.5,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 14.55,
                "bid": 13.55,
                "ask": 15.55,
                "iv": 61.51,
                "open_interest": 59,
                "label": "Buy 1× 2027-12-17 72.5 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 135.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 0.085,
                "bid": 0.01,
                "ask": 0.16,
                "iv": 72.9,
                "open_interest": 12737,
                "label": "Sell 1× 2026-11-20 135 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": 20,
            "net": 1482.33,
            "net_mid": 1446.5,
            "net_natural": 1554.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 4767.67,
            "max_loss": 1482.33,
            "breakevens": [
              87.32
            ],
            "profit_zone": "above",
            "pop": null,
            "pop_basis": "",
            "credit_to_width": null,
            "manage": {
              "profit_target": "roll the short call out each month for a fresh credit; take the whole position off at 50–70% of the maximum",
              "profit_target_pct": 60,
              "stop": "cut if the long call loses half its value — the thesis is gone, not just early",
              "stop_loss_pct": 50,
              "time_stop": "roll the long leg with ~90 days left. Never let the short call go to assignment while you still want the long one.",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "option_covered",
              "note": "The short call is secured by the long call, not by shares and not by margin: assignment is covered by exercising or selling the long leg. That is why the whole position can only lose the debit — and why the long leg must never be closed first."
            }
          },
          {
            "key": "leaps_bull_put",
            "name": "LEAPS Bull Put Spread",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Paid up front to be right about a direction over a year, with the loss capped by the long wing — but the capital is committed for that whole year.",
            "playbook": "Sell a long-dated put well below the price, buy a lower one for protection. You collect the credit up front and keep it if the stock holds up — but the capital is committed for a year and the decay arrives mostly at the end.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "put",
                "strike": 72.5,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 17.3,
                "bid": 16.65,
                "ask": 17.95,
                "iv": 82.59,
                "open_interest": 1813,
                "label": "Sell 1× 2027-12-17 72.5 put",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "put",
                "strike": 65.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 13.3,
                "bid": 13.2,
                "ask": 13.4,
                "iv": 81.59,
                "open_interest": 2557,
                "label": "Buy 1× 2027-12-17 65 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": -375.0,
            "net_mid": -400.0,
            "net_natural": -325.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 375.0,
            "max_loss": 375.0,
            "breakevens": [
              68.75
            ],
            "profit_zone": "above",
            "pop": 0.458,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.5,
            "manage": {
              "profit_target": "buy it back at 50% of the credit — usually long before expiry",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~90 days to expiry, before gamma starts to matter",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          },
          {
            "key": "leaps_bear_put",
            "name": "LEAPS Bear Put Spread",
            "action": "BUY_PREMIUM",
            "bias": "bearish",
            "thesis": "A year of room for the downside thesis, at a cost that is fixed the day you put it on.",
            "playbook": "Buy a long-dated put, sell a lower one. The same shape pointed down: a year of room for a thesis, at a defined cost.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "put",
                "strike": 92.5,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 32.325,
                "bid": 31.9,
                "ask": 32.75,
                "iv": 92.85,
                "open_interest": 851,
                "label": "Buy 1× 2027-12-17 92.5 put",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "put",
                "strike": 77.5,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 21.25,
                "bid": 20.85,
                "ask": 21.65,
                "iv": 86.72,
                "open_interest": 1253,
                "label": "Sell 1× 2027-12-17 77.5 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": 1135.0,
            "net_mid": 1107.5,
            "net_natural": 1190.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 365.0,
            "max_loss": 1135.0,
            "breakevens": [
              81.15
            ],
            "profit_zone": "below",
            "pop": 0.63,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "take 50–70% of the maximum profit — the last of it takes months to arrive",
              "profit_target_pct": 60,
              "stop": "cut at −50% of the debit, or sooner if the reason you put it on stops being true",
              "stop_loss_pct": 50,
              "time_stop": "roll or close with ~90 days left; the final quarter is where a long-dated spread loses its remaining time value fastest",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "leaps_bear_call",
            "name": "LEAPS Bear Call Spread",
            "action": "SELL_PREMIUM",
            "bias": "bearish",
            "thesis": "Paid up front to be right about a direction over a year, with the loss capped by the long wing — but the capital is committed for that whole year.",
            "playbook": "Sell a long-dated call well above the price, buy a higher one. The credit is yours if the stock stays under the short strike for the year.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "call",
                "strike": 110.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 6.125,
                "bid": 5.85,
                "ask": 6.4,
                "iv": 27.65,
                "open_interest": 1270,
                "label": "Sell 1× 2027-12-17 110 call",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "call",
                "strike": 115.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 5.8,
                "bid": 5.25,
                "ask": 6.35,
                "iv": 30.09,
                "open_interest": 1156,
                "label": "Buy 1× 2027-12-17 115 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": -5.0,
            "net_mid": -32.5,
            "net_natural": 50.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 5.0,
            "max_loss": 495.0,
            "breakevens": [
              110.05
            ],
            "profit_zone": "below",
            "pop": 0.775,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.01,
            "manage": {
              "profit_target": "buy it back at 50% of the credit — usually long before expiry",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~90 days to expiry, before gamma starts to matter",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          }
        ],
        "warnings": [
          "IV rank 100 is a front-month reading. A 13-month contract is priced off a flatter part of the volatility surface, so 'cheap' or 'rich' here is a weaker signal than it is on the near expiry — this expiry's own ATM IV is 56%.",
          "About 5 earnings reports fall inside this 412-day expiry. A long-dated spread is priced through all of them; none of them is the trade.",
          "One of these credit spreads collects very little for the risk — the LEAPS Bear Call Spread takes only 1% of its width, and holds the capital for 412 days to do it. Widen the wings or pass.",
          "The Poor Man's Covered Call's max profit below is the conservative case — assigned on the very first short call. Rolling that short leg out each month is where the structure actually earns, and no figure here counts those rolls.",
          "The short legs can be assigned early — most often a short call the day before an ex-dividend date. Know the dividend calendar before you sell one.",
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything."
        ]
      },
      "near_term": {
        "expiry": "2026-11-20",
        "dte": 20,
        "iv_annual": 197.46,
        "liquidity": "good",
        "atm_spread_pct": 37.5,
        "premium_state": "rich",
        "bias": "neutral",
        "preferred": null,
        "summary": "4 one-direction spreads price out on the 2026-11-20 expiry, but the scanner has no proven directional read on this name, so none is recommended. Each one is a bet the stock goes one way; listed for reference.",
        "candidates": [
          {
            "key": "bull_call_spread",
            "name": "Bull Call Spread",
            "action": "BUY_PREMIUM",
            "bias": "bullish",
            "thesis": "Options are reasonably priced and the break is up — pay a capped premium for a capped move.",
            "playbook": "Buy a call, sell a higher one. A capped, cheaper bullish bet — the short leg pays for part of the long one.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 92.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 0.16,
                "bid": 0.13,
                "ask": 0.19,
                "iv": 74.41,
                "open_interest": 3787,
                "label": "Buy 1× 2026-11-20 92 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 135.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 0.085,
                "bid": 0.01,
                "ask": 0.16,
                "iv": 72.9,
                "open_interest": 12737,
                "label": "Sell 1× 2026-11-20 135 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": 11.0,
            "net_mid": 7.5,
            "net_natural": 18.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 4289.0,
            "max_loss": 11.0,
            "breakevens": [
              92.11
            ],
            "profit_zone": "above",
            "pop": 0.464,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "close at +50% to +100% of the debit",
              "profit_target_pct": 50,
              "stop": "cut at −50% of the debit",
              "stop_loss_pct": 50,
              "time_stop": "be out with ~7 days to expiry — theta accelerates into the last week",
              "close_by_dte": 7
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "bull_put_spread",
            "name": "Bull Put Spread",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Premium is rich and the lean is up — get paid to be right about a direction you don't need to nail.",
            "playbook": "Sell a put, buy a lower one. You collect credit and win if the stock stays above the short put — a bullish way to be short rich premium.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "put",
                "strike": 50.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 0.33,
                "bid": 0.29,
                "ask": 0.37,
                "iv": 145.76,
                "open_interest": 4783,
                "label": "Sell 1× 2026-11-20 50 put",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "put",
                "strike": 37.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 0.075,
                "bid": 0.04,
                "ask": 0.11,
                "iv": 167.42,
                "open_interest": 1639,
                "label": "Buy 1× 2026-11-20 37 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": -23.0,
            "net_mid": -25.5,
            "net_natural": -18.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 23.0,
            "max_loss": 1277.0,
            "breakevens": [
              49.77
            ],
            "profit_zone": "above",
            "pop": 0.949,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.018,
            "manage": {
              "profit_target": "buy it back at 50% of the credit received",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~21 days to expiry — gamma risk rises fast after that",
              "close_by_dte": 21
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          },
          {
            "key": "bear_put_spread",
            "name": "Bear Put Spread",
            "action": "BUY_PREMIUM",
            "bias": "bearish",
            "thesis": "Options are reasonably priced and the break is down — pay a capped premium for a capped move.",
            "playbook": "Buy a put, sell a lower one. A capped, cheaper bearish bet.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "put",
                "strike": 92.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 26.75,
                "bid": 26.35,
                "ask": 27.15,
                "iv": 320.52,
                "open_interest": 3624,
                "label": "Buy 1× 2026-11-20 92 put",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "put",
                "strike": 50.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 0.33,
                "bid": 0.29,
                "ask": 0.37,
                "iv": 145.76,
                "open_interest": 4783,
                "label": "Sell 1× 2026-11-20 50 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": 2656.67,
            "net_mid": 2642.0,
            "net_natural": 2686.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 1543.33,
            "max_loss": 2656.67,
            "breakevens": [
              65.43
            ],
            "profit_zone": "below",
            "pop": 0.273,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "close at +50% to +100% of the debit",
              "profit_target_pct": 50,
              "stop": "cut at −50% of the debit",
              "stop_loss_pct": 50,
              "time_stop": "be out with ~7 days to expiry — theta accelerates into the last week",
              "close_by_dte": 7
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "bear_call_spread",
            "name": "Bear Call Spread",
            "action": "SELL_PREMIUM",
            "bias": "bearish",
            "thesis": "Premium is rich and the lean is down — get paid to be right about a direction you don't need to nail.",
            "playbook": "Sell a call, buy a higher one. You collect credit and win if the stock stays below the short call.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "call",
                "strike": 135.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 0.085,
                "bid": 0.01,
                "ask": 0.16,
                "iv": 72.9,
                "open_interest": 12737,
                "label": "Sell 1× 2026-11-20 135 call",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "call",
                "strike": 145.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 0.02,
                "bid": 0.0,
                "ask": 0.02,
                "iv": 109.38,
                "open_interest": 10681,
                "label": "Buy 1× 2026-11-20 145 call",
                "mid_source": "last"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": -4.0,
            "net_mid": -6.5,
            "net_natural": 1.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 4.0,
            "max_loss": 996.0,
            "breakevens": [
              135.04
            ],
            "profit_zone": "below",
            "pop": 0.99,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.004,
            "manage": {
              "profit_target": "buy it back at 50% of the credit received",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~21 days to expiry — gamma risk rises fast after that",
              "close_by_dte": 21
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          }
        ],
        "warnings": [
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything.",
          "The credit spreads here collect little for the risk — the Bear Call Spread takes only 0% of its width, under the 20% this scanner treats as thin compensation. A fill worse than the one assumed here collects less still."
        ]
      },
      "screen": {
        "compliant": true,
        "industry_ok": true,
        "industry": "Semiconductors",
        "debt_ratio": 0.14472819080996133,
        "cash_ratio": 0.08513237686930519,
        "receivables_ratio": null,
        "reasons": [
          "ok"
        ]
      }
    },
    {
      "rank": 6,
      "ticker": "TSLA",
      "price": 403.3,
      "score": 54.7,
      "squeeze_on": false,
      "squeeze_days": 0,
      "squeeze_fired": false,
      "fired_dir": "",
      "bandwidth_pctile": 0.408,
      "hv_annual": 38.1,
      "hv_pctile": 0.267,
      "em_pct": 7.59,
      "horizon_days": 10,
      "down_1sigma": 372.69,
      "up_1sigma": 433.91,
      "down_2sigma": 342.09,
      "up_2sigma": 464.51,
      "lean": "Bullish",
      "note": "",
      "debt_ratio": 0.010405981782849778,
      "cash_ratio": 0.028757717479697555,
      "earnings_in_days": null,
      "implied_move_pct": 8.76,
      "vol_verdict": "rich",
      "iv_annual": 43.97,
      "iv_rank": 43.1,
      "premium_score": 49.8,
      "premium_state": "fair",
      "liquidity": "good",
      "action": "NEUTRAL_INCOME",
      "strategy": "Calendar Spread",
      "options": {
        "iv_annual": 43.97,
        "hv_annual": 39.7,
        "implied_move_pct": 8.76,
        "hist_move_pct": 7.59,
        "iv_rank": 43.1,
        "iv_percentile": 52.9,
        "iv_rank_basis": "realized",
        "vrp": 4.25,
        "iv_hv_ratio": 1.11,
        "verdict": "rich",
        "premium_score": 49.8,
        "premium_state": "fair",
        "term_slope": -0.0459,
        "term_structure": "backwardation",
        "skew": 11.44,
        "skew_label": "put_skew",
        "atm_spread_pct": 1.4,
        "atm_open_interest": 4460,
        "liquidity": "good",
        "expiry": "2026-11-20",
        "days_to_expiry": 20,
        "expiries": [
          {
            "date": "2026-11-02",
            "dte": 2
          },
          {
            "date": "2026-11-04",
            "dte": 4
          },
          {
            "date": "2026-11-06",
            "dte": 6
          },
          {
            "date": "2026-11-13",
            "dte": 13
          },
          {
            "date": "2026-11-20",
            "dte": 20
          },
          {
            "date": "2026-11-27",
            "dte": 27
          },
          {
            "date": "2026-12-04",
            "dte": 34
          },
          {
            "date": "2026-12-18",
            "dte": 48
          },
          {
            "date": "2027-01-15",
            "dte": 76
          },
          {
            "date": "2027-02-19",
            "dte": 111
          },
          {
            "date": "2027-03-19",
            "dte": 139
          },
          {
            "date": "2027-04-16",
            "dte": 167
          }
        ],
        "long_expiry": "2027-12-17",
        "long_dte": 412,
        "long_iv": 45.91,
        "long_spread_pct": 1.9,
        "long_open_interest": 8942,
        "long_liquidity": "good",
        "quote_session": "closed"
      },
      "recommendation": {
        "ticker": "TSLA",
        "action": "NEUTRAL_INCOME",
        "headline": "TSLA: Collect time decay — IV rank 43, fair → Calendar Spread",
        "detail": "Sell 1× 2026-11-20 405 call; Buy 1× 2026-12-18 405 call — net debit $850.00 per spread (planned fill; $840.00 at mid, $870.00 at the natural price)",
        "confidence": 0.54,
        "premium_state": "fair",
        "premium_score": 49.8,
        "bias": "neutral",
        "bias_strength": "none",
        "plan": {
          "key": "calendar_spread",
          "name": "Calendar Spread",
          "action": "NEUTRAL_INCOME",
          "bias": "neutral",
          "thesis": "The near expiry is priced richer than the far one — sell the front, own the back. It profits while price stays near the strike and the front decays faster than the back; where exactly it stops profiting depends on implied volatility at the front expiry, which is why no breakeven or probability is quoted for it.",
          "playbook": "Sell the near expiry, buy the same strike further out. Profits when the front decays faster than the back — the trade for an inverted term structure.",
          "vega": "long",
          "theta": "positive",
          "risk": "defined",
          "legs": [
            {
              "action": "sell",
              "right": "call",
              "strike": 405.0,
              "expiry": "2026-11-20",
              "qty": 1,
              "mid": 14.5,
              "bid": 14.4,
              "ask": 14.6,
              "iv": 39.54,
              "open_interest": 4460,
              "label": "Sell 1× 2026-11-20 405 call",
              "mid_source": "quote"
            },
            {
              "action": "buy",
              "right": "call",
              "strike": 405.0,
              "expiry": "2026-12-18",
              "qty": 1,
              "mid": 22.9,
              "bid": 22.7,
              "ask": 23.1,
              "iv": 38.94,
              "open_interest": 1943,
              "label": "Buy 1× 2026-12-18 405 call",
              "mid_source": "quote"
            }
          ],
          "expiry": "2026-12-18",
          "dte": 48,
          "profit_horizon_dte": null,
          "net": 850.0,
          "net_mid": 840.0,
          "net_natural": 870.0,
          "fill_basis": "mid + 33% of the half-spread toward the natural price",
          "max_profit": null,
          "max_loss": 850.0,
          "breakevens": [],
          "profit_zone": "inside",
          "pop": null,
          "pop_basis": "",
          "credit_to_width": null,
          "manage": {
            "profit_target": "take 25–35% of the debit",
            "profit_target_pct": 30,
            "stop": "cut at −40% of the debit, or if the term structure flips back to contango",
            "stop_loss_pct": 40,
            "time_stop": "close at the front expiry — do not let the short leg go to assignment",
            "close_by_dte": 1
          },
          "sizing": {
            "risk_budget": 1000.0,
            "contracts": 1,
            "risk_per_spread": 850.0,
            "total_risk": 850.0,
            "over_budget": false,
            "note": "1× risks $850 of a $1,000 budget."
          },
          "risk_form": {
            "tier": "option_covered",
            "note": "The short call is secured by the long call, not by shares and not by margin: assignment is covered by exercising or selling the long leg. That is why the whole position can only lose the debit — and why the long leg must never be closed first."
          }
        },
        "alternatives": [],
        "avoid": [
          {
            "name": "Long straddle",
            "reason": "The front month is the expensive part — buying it fights the term structure."
          }
        ],
        "why": [
          "IV rank 43/100 (fair premium, blended score 50).",
          "Options price a 8.8% move over the horizon vs 7.6% realized (1.11× IV/HV).",
          "Setup score 55/100, no directional edge.",
          "Term structure in backwardation (-4.6% front→back).",
          "Puts bid over calls by 11.4 vol points — the put side pays more to sell.",
          "The bullish lean is not traded on: in the backtest it did not call direction better than the base rate, so this is treated as a name with no directional read."
        ],
        "warnings": [
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything.",
          "The legs expire on different dates, so there is no single price at which this position settles: no breakeven and no probability of profit is quoted for it. What it is worth at the front expiry depends on implied volatility that day."
        ]
      },
      "long_dated": {
        "expiry": "2027-12-17",
        "dte": 412,
        "target_days": 395,
        "iv_annual": 45.91,
        "front_iv_annual": 43.97,
        "liquidity": "good",
        "atm_spread_pct": 1.9,
        "atm_open_interest": 8942,
        "premium_state": "fair",
        "bias": "neutral",
        "bias_strength": "none",
        "preferred": null,
        "summary": "4 long-dated spreads price out on the 2027-12-17 expiry, but the scanner has no directional read on this name — and every 13-month spread is a directional bet. Listed for reference, not recommended.",
        "candidates": [
          {
            "key": "leaps_bull_call",
            "name": "LEAPS Bull Call Spread",
            "action": "BUY_PREMIUM",
            "bias": "bullish",
            "thesis": "A year of room for the upside thesis, at a cost that is fixed the day you put it on.",
            "playbook": "Buy a call about 13 months out, sell a higher one in the same expiry. A bullish position with a year to be right and a cost you know on day one — the short leg pays for part of the long one and caps the win.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 400.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 85.725,
                "bid": 84.9,
                "ask": 86.55,
                "iv": 45.36,
                "open_interest": 8942,
                "label": "Buy 1× 2027-12-17 400 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 460.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 62.375,
                "bid": 61.5,
                "ask": 63.25,
                "iv": 44.8,
                "open_interest": 2341,
                "label": "Sell 1× 2027-12-17 460 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": 2391.67,
            "net_mid": 2335.0,
            "net_natural": 2505.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 3608.33,
            "max_loss": 2391.67,
            "breakevens": [
              423.92
            ],
            "profit_zone": "above",
            "pop": 0.365,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "take 50–70% of the maximum profit — the last of it takes months to arrive",
              "profit_target_pct": 60,
              "stop": "cut at −50% of the debit, or sooner if the reason you put it on stops being true",
              "stop_loss_pct": 50,
              "time_stop": "roll or close with ~90 days left; the final quarter is where a long-dated spread loses its remaining time value fastest",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "leaps_bull_put",
            "name": "LEAPS Bull Put Spread",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Paid up front to be right about a direction over a year, with the loss capped by the long wing — but the capital is committed for that whole year.",
            "playbook": "Sell a long-dated put well below the price, buy a lower one for protection. You collect the credit up front and keep it if the stock holds up — but the capital is committed for a year and the decay arrives mostly at the end.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "put",
                "strike": 320.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 32.05,
                "bid": 31.4,
                "ask": 32.7,
                "iv": 47.56,
                "open_interest": 5973,
                "label": "Sell 1× 2027-12-17 320 put",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "put",
                "strike": 290.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 22.9,
                "bid": 22.3,
                "ask": 23.5,
                "iv": 48.36,
                "open_interest": 6470,
                "label": "Buy 1× 2027-12-17 290 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": -873.33,
            "net_mid": -915.0,
            "net_natural": -790.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 873.33,
            "max_loss": 2126.67,
            "breakevens": [
              311.27
            ],
            "profit_zone": "above",
            "pop": 0.602,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.291,
            "manage": {
              "profit_target": "buy it back at 50% of the credit — usually long before expiry",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~90 days to expiry, before gamma starts to matter",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          },
          {
            "key": "leaps_bear_put",
            "name": "LEAPS Bear Put Spread",
            "action": "BUY_PREMIUM",
            "bias": "bearish",
            "thesis": "A year of room for the downside thesis, at a cost that is fixed the day you put it on.",
            "playbook": "Buy a long-dated put, sell a lower one. The same shape pointed down: a year of room for a thesis, at a defined cost.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "put",
                "strike": 400.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 66.525,
                "bid": 65.75,
                "ask": 67.3,
                "iv": 46.45,
                "open_interest": 6960,
                "label": "Buy 1× 2027-12-17 400 put",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "put",
                "strike": 340.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 39.3,
                "bid": 38.65,
                "ask": 39.95,
                "iv": 47.16,
                "open_interest": 2846,
                "label": "Sell 1× 2027-12-17 340 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": 2770.0,
            "net_mid": 2722.5,
            "net_natural": 2865.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 3230.0,
            "max_loss": 2770.0,
            "breakevens": [
              372.3
            ],
            "profit_zone": "below",
            "pop": 0.535,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "take 50–70% of the maximum profit — the last of it takes months to arrive",
              "profit_target_pct": 60,
              "stop": "cut at −50% of the debit, or sooner if the reason you put it on stops being true",
              "stop_loss_pct": 50,
              "time_stop": "roll or close with ~90 days left; the final quarter is where a long-dated spread loses its remaining time value fastest",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "leaps_bear_call",
            "name": "LEAPS Bear Call Spread",
            "action": "SELL_PREMIUM",
            "bias": "bearish",
            "thesis": "Paid up front to be right about a direction over a year, with the loss capped by the long wing — but the capital is committed for that whole year.",
            "playbook": "Sell a long-dated call well above the price, buy a higher one. The credit is yours if the stock stays under the short strike for the year.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "call",
                "strike": 480.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 55.825,
                "bid": 55.1,
                "ask": 56.55,
                "iv": 44.56,
                "open_interest": 7010,
                "label": "Sell 1× 2027-12-17 480 call",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "call",
                "strike": 510.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 47.475,
                "bid": 46.75,
                "ask": 48.2,
                "iv": 44.43,
                "open_interest": 1532,
                "label": "Buy 1× 2027-12-17 510 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": -786.67,
            "net_mid": -835.0,
            "net_natural": -690.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 786.67,
            "max_loss": 2213.33,
            "breakevens": [
              487.87
            ],
            "profit_zone": "below",
            "pop": 0.739,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.262,
            "manage": {
              "profit_target": "buy it back at 50% of the credit — usually long before expiry",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~90 days to expiry, before gamma starts to matter",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          }
        ],
        "warnings": [
          "IV rank 43 is a front-month reading. A 13-month contract is priced off a flatter part of the volatility surface, so 'cheap' or 'rich' here is a weaker signal than it is on the near expiry — this expiry's own ATM IV is 46%.",
          "About 5 earnings reports fall inside this 412-day expiry. A long-dated spread is priced through all of them; none of them is the trade.",
          "The short legs can be assigned early — most often a short call the day before an ex-dividend date. Know the dividend calendar before you sell one.",
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything."
        ]
      },
      "near_term": {
        "expiry": "2026-11-20",
        "dte": 20,
        "iv_annual": 43.97,
        "liquidity": "good",
        "atm_spread_pct": 1.4,
        "premium_state": "fair",
        "bias": "neutral",
        "preferred": null,
        "summary": "4 one-direction spreads price out on the 2026-11-20 expiry, but the scanner has no proven directional read on this name, so none is recommended. Each one is a bet the stock goes one way; listed for reference.",
        "candidates": [
          {
            "key": "bull_call_spread",
            "name": "Bull Call Spread",
            "action": "BUY_PREMIUM",
            "bias": "bullish",
            "thesis": "Options are reasonably priced and the break is up — pay a capped premium for a capped move.",
            "playbook": "Buy a call, sell a higher one. A capped, cheaper bullish bet — the short leg pays for part of the long one.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 405.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 14.5,
                "bid": 14.4,
                "ask": 14.6,
                "iv": 39.54,
                "open_interest": 4460,
                "label": "Buy 1× 2026-11-20 405 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 445.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 3.175,
                "bid": 3.1,
                "ask": 3.25,
                "iv": 40.19,
                "open_interest": 6078,
                "label": "Sell 1× 2026-11-20 445 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": 1138.33,
            "net_mid": 1132.5,
            "net_natural": 1150.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 2861.67,
            "max_loss": 1138.33,
            "breakevens": [
              416.38
            ],
            "profit_zone": "above",
            "pop": 0.348,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "close at +50% to +100% of the debit",
              "profit_target_pct": 50,
              "stop": "cut at −50% of the debit",
              "stop_loss_pct": 50,
              "time_stop": "be out with ~7 days to expiry — theta accelerates into the last week",
              "close_by_dte": 7
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "bull_put_spread",
            "name": "Bull Put Spread",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Premium is rich and the lean is up — get paid to be right about a direction you don't need to nail.",
            "playbook": "Sell a put, buy a lower one. You collect credit and win if the stock stays above the short put — a bullish way to be short rich premium.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "put",
                "strike": 362.5,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 4.625,
                "bid": 4.55,
                "ask": 4.7,
                "iv": 51.63,
                "open_interest": 226,
                "label": "Sell 1× 2026-11-20 362.5 put",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "put",
                "strike": 345.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 2.48,
                "bid": 2.44,
                "ask": 2.52,
                "iv": 54.71,
                "open_interest": 3238,
                "label": "Buy 1× 2026-11-20 345 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": -210.67,
            "net_mid": -214.5,
            "net_natural": -203.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 210.67,
            "max_loss": 1539.33,
            "breakevens": [
              360.39
            ],
            "profit_zone": "above",
            "pop": 0.806,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.12,
            "manage": {
              "profit_target": "buy it back at 50% of the credit received",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~21 days to expiry — gamma risk rises fast after that",
              "close_by_dte": 21
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          },
          {
            "key": "bear_put_spread",
            "name": "Bear Put Spread",
            "action": "BUY_PREMIUM",
            "bias": "bearish",
            "thesis": "Options are reasonably priced and the break is down — pay a capped premium for a capped move.",
            "playbook": "Buy a put, sell a lower one. A capped, cheaper bearish bet.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "put",
                "strike": 405.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 18.65,
                "bid": 18.35,
                "ask": 18.95,
                "iv": 48.41,
                "open_interest": 2690,
                "label": "Buy 1× 2026-11-20 405 put",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "put",
                "strike": 362.5,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 4.625,
                "bid": 4.55,
                "ask": 4.7,
                "iv": 51.63,
                "open_interest": 226,
                "label": "Sell 1× 2026-11-20 362.5 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": 1415.0,
            "net_mid": 1402.5,
            "net_natural": 1440.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 2835.0,
            "max_loss": 1415.0,
            "breakevens": [
              390.85
            ],
            "profit_zone": "below",
            "pop": 0.414,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "close at +50% to +100% of the debit",
              "profit_target_pct": 50,
              "stop": "cut at −50% of the debit",
              "stop_loss_pct": 50,
              "time_stop": "be out with ~7 days to expiry — theta accelerates into the last week",
              "close_by_dte": 7
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "bear_call_spread",
            "name": "Bear Call Spread",
            "action": "SELL_PREMIUM",
            "bias": "bearish",
            "thesis": "Premium is rich and the lean is down — get paid to be right about a direction you don't need to nail.",
            "playbook": "Sell a call, buy a higher one. You collect credit and win if the stock stays below the short call.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "call",
                "strike": 445.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 3.175,
                "bid": 3.1,
                "ask": 3.25,
                "iv": 40.19,
                "open_interest": 6078,
                "label": "Sell 1× 2026-11-20 445 call",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "call",
                "strike": 460.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.73,
                "bid": 1.7,
                "ask": 1.76,
                "iv": 41.21,
                "open_interest": 2797,
                "label": "Buy 1× 2026-11-20 460 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": -141.0,
            "net_mid": -144.5,
            "net_natural": -134.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 141.0,
            "max_loss": 1359.0,
            "breakevens": [
              446.41
            ],
            "profit_zone": "below",
            "pop": 0.87,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.094,
            "manage": {
              "profit_target": "buy it back at 50% of the credit received",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~21 days to expiry — gamma risk rises fast after that",
              "close_by_dte": 21
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          }
        ],
        "warnings": [
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything.",
          "The credit spreads here collect little for the risk — the Bear Call Spread takes only 9% of its width, under the 20% this scanner treats as thin compensation. A fill worse than the one assumed here collects less still."
        ]
      },
      "screen": {
        "compliant": true,
        "industry_ok": true,
        "industry": "Auto Manufacturers",
        "debt_ratio": 0.010405981782849778,
        "cash_ratio": 0.028757717479697555,
        "receivables_ratio": null,
        "reasons": [
          "ok"
        ]
      }
    },
    {
      "rank": 7,
      "ticker": "XOM",
      "price": 183.29,
      "score": 52.1,
      "squeeze_on": false,
      "squeeze_days": 0,
      "squeeze_fired": false,
      "fired_dir": "",
      "bandwidth_pctile": 0.825,
      "hv_annual": 20.4,
      "hv_pctile": 0.092,
      "em_pct": 4.06,
      "horizon_days": 10,
      "down_1sigma": 175.85,
      "up_1sigma": 190.73,
      "down_2sigma": 168.4,
      "up_2sigma": 198.18,
      "lean": "Bullish",
      "note": "",
      "debt_ratio": 0.05502655467818306,
      "cash_ratio": 0.013751443896794755,
      "earnings_in_days": null,
      "implied_move_pct": 6.78,
      "vol_verdict": "rich",
      "iv_annual": 34.03,
      "iv_rank": 100.0,
      "premium_score": 92.0,
      "premium_state": "rich",
      "liquidity": "fair",
      "action": "STAND_ASIDE",
      "strategy": "Stand aside",
      "options": {
        "iv_annual": 34.03,
        "hv_annual": 24.0,
        "implied_move_pct": 6.78,
        "hist_move_pct": 4.06,
        "iv_rank": 100.0,
        "iv_percentile": 100.0,
        "iv_rank_basis": "realized",
        "vrp": 10.08,
        "iv_hv_ratio": 1.42,
        "verdict": "rich",
        "premium_score": 92.0,
        "premium_state": "rich",
        "term_slope": -0.1137,
        "term_structure": "backwardation",
        "skew": -4.78,
        "skew_label": "call_skew",
        "atm_spread_pct": 6.9,
        "atm_open_interest": 399,
        "liquidity": "fair",
        "expiry": "2026-11-20",
        "days_to_expiry": 20,
        "expiries": [
          {
            "date": "2026-11-06",
            "dte": 6
          },
          {
            "date": "2026-11-13",
            "dte": 13
          },
          {
            "date": "2026-11-20",
            "dte": 20
          },
          {
            "date": "2026-11-27",
            "dte": 27
          },
          {
            "date": "2026-12-04",
            "dte": 34
          },
          {
            "date": "2026-12-18",
            "dte": 48
          },
          {
            "date": "2027-01-15",
            "dte": 76
          },
          {
            "date": "2027-02-19",
            "dte": 111
          },
          {
            "date": "2027-03-19",
            "dte": 139
          },
          {
            "date": "2027-04-16",
            "dte": 167
          },
          {
            "date": "2027-06-17",
            "dte": 229
          },
          {
            "date": "2027-09-17",
            "dte": 321
          }
        ],
        "long_expiry": "2027-12-17",
        "long_dte": 412,
        "long_iv": 29.76,
        "long_spread_pct": 5.1,
        "long_open_interest": 820,
        "long_liquidity": "good",
        "quote_session": "closed"
      },
      "recommendation": {
        "ticker": "XOM",
        "action": "STAND_ASIDE",
        "headline": "XOM: stand aside — premium looks rich, but on this scanner's record selling it has not paid: On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money.",
        "detail": "Premium looks rich, but on this scanner's record selling it has not paid: On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money.",
        "confidence": 0.0,
        "premium_state": "rich",
        "premium_score": 92.0,
        "bias": "neutral",
        "bias_strength": "none",
        "plan": {
          "key": "stand_aside",
          "name": "Stand aside",
          "action": "STAND_ASIDE",
          "bias": "neutral",
          "thesis": "Premium looks rich, but on this scanner's record selling it has not paid: On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money.",
          "playbook": "No edge worth paying for. The best trade is often none.",
          "vega": "flat",
          "theta": "flat",
          "risk": "none",
          "legs": [],
          "expiry": null,
          "dte": null,
          "profit_horizon_dte": null,
          "net": null,
          "net_mid": null,
          "net_natural": null,
          "fill_basis": "",
          "max_profit": null,
          "max_loss": null,
          "breakevens": [],
          "profit_zone": "",
          "pop": null,
          "pop_basis": "",
          "credit_to_width": null,
          "manage": {},
          "sizing": {
            "risk_budget": 1000.0,
            "contracts": 0
          },
          "risk_form": {
            "tier": "n/a",
            "note": "No position — nothing to secure."
          }
        },
        "alternatives": [],
        "avoid": [
          {
            "name": "Long straddles / strangles",
            "reason": "IV rank 100 and the market is pricing a 6.8% move vs 4.1% realized — you'd be paying up for the move you want."
          },
          {
            "name": "Selling premium (condors, credit spreads)",
            "reason": "Not supported by the backtest: On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money."
          }
        ],
        "why": [
          "IV rank 100/100 (rich premium, blended score 92).",
          "That rank is IV against the past year's realized volatility, not past implied volatility (the name has fewer than 120 logged IV readings). Today's IV sits above every realized reading in that range — treat 'rich' here as 'priced above recent realized swings', not 'rich for this name'.",
          "Options price a 6.8% move over the horizon vs 4.1% realized (1.42× IV/HV).",
          "Setup score 52/100, no directional edge.",
          "Term structure in backwardation (-11.4% front→back).",
          "Calls bid over puts by 4.8 vol points — upside is the expensive side.",
          "The bullish lean is not traded on: in the backtest it did not call direction better than the base rate, so this is treated as a name with no directional read."
        ],
        "warnings": [
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything."
        ]
      },
      "long_dated": {
        "expiry": "2027-12-17",
        "dte": 412,
        "target_days": 395,
        "iv_annual": 29.76,
        "front_iv_annual": 34.03,
        "liquidity": "good",
        "atm_spread_pct": 5.1,
        "atm_open_interest": 820,
        "premium_state": "rich",
        "bias": "neutral",
        "bias_strength": "none",
        "preferred": null,
        "summary": "5 long-dated spreads price out on the 2027-12-17 expiry, but the scanner has no directional read on this name — and every 13-month spread is a directional bet. Listed for reference, not recommended.",
        "candidates": [
          {
            "key": "leaps_bull_call",
            "name": "LEAPS Bull Call Spread",
            "action": "BUY_PREMIUM",
            "bias": "bullish",
            "thesis": "A year of room for the upside thesis, at a cost that is fixed the day you put it on.",
            "playbook": "Buy a call about 13 months out, sell a higher one in the same expiry. A bullish position with a year to be right and a cost you know on day one — the short leg pays for part of the long one and caps the win.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 185.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 25.7,
                "bid": 25.05,
                "ask": 26.35,
                "iv": 29.37,
                "open_interest": 820,
                "label": "Buy 1× 2027-12-17 185 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 210.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 15.875,
                "bid": 15.3,
                "ask": 16.45,
                "iv": 29.1,
                "open_interest": 171,
                "label": "Sell 1× 2027-12-17 210 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": 1023.33,
            "net_mid": 982.5,
            "net_natural": 1105.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 1476.67,
            "max_loss": 1023.33,
            "breakevens": [
              195.23
            ],
            "profit_zone": "above",
            "pop": 0.36,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "take 50–70% of the maximum profit — the last of it takes months to arrive",
              "profit_target_pct": 60,
              "stop": "cut at −50% of the debit, or sooner if the reason you put it on stops being true",
              "stop_loss_pct": 50,
              "time_stop": "roll or close with ~90 days left; the final quarter is where a long-dated spread loses its remaining time value fastest",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "poor_mans_covered_call",
            "name": "Poor Man's Covered Call",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Own the year cheaply through a deep in-the-money call, and rent the near month out against it every cycle.",
            "playbook": "Buy a deep in-the-money call 13 months out as a cheaper stand-in for 100 shares, then sell a near-dated call against it and roll that short leg each month. Covered-call income on a fraction of the capital — and the long call, not stock, is what secures it.",
            "vega": "long",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 145.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 50.425,
                "bid": 49.2,
                "ask": 51.65,
                "iv": 30.99,
                "open_interest": 528,
                "label": "Buy 1× 2027-12-17 145 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 197.5,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.72,
                "bid": 1.62,
                "ask": 1.82,
                "iv": 35.93,
                "open_interest": 1071,
                "label": "Sell 1× 2026-11-20 197.5 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": 20,
            "net": 4914.67,
            "net_mid": 4870.5,
            "net_natural": 5003.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 335.33,
            "max_loss": 4914.67,
            "breakevens": [
              194.15
            ],
            "profit_zone": "above",
            "pop": null,
            "pop_basis": "",
            "credit_to_width": null,
            "manage": {
              "profit_target": "roll the short call out each month for a fresh credit; take the whole position off at 50–70% of the maximum",
              "profit_target_pct": 60,
              "stop": "cut if the long call loses half its value — the thesis is gone, not just early",
              "stop_loss_pct": 50,
              "time_stop": "roll the long leg with ~90 days left. Never let the short call go to assignment while you still want the long one.",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "option_covered",
              "note": "The short call is secured by the long call, not by shares and not by margin: assignment is covered by exercising or selling the long leg. That is why the whole position can only lose the debit — and why the long leg must never be closed first."
            }
          },
          {
            "key": "leaps_bull_put",
            "name": "LEAPS Bull Put Spread",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Paid up front to be right about a direction over a year, with the loss capped by the long wing — but the capital is committed for that whole year.",
            "playbook": "Sell a long-dated put well below the price, buy a lower one for protection. You collect the credit up front and keep it if the stock holds up — but the capital is committed for a year and the decay arrives mostly at the end.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "put",
                "strike": 145.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 6.35,
                "bid": 5.95,
                "ask": 6.75,
                "iv": 32.29,
                "open_interest": 524,
                "label": "Sell 1× 2027-12-17 145 put",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "put",
                "strike": 130.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 3.525,
                "bid": 3.25,
                "ask": 3.8,
                "iv": 32.97,
                "open_interest": 921,
                "label": "Buy 1× 2027-12-17 130 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": -260.0,
            "net_mid": -282.5,
            "net_natural": -215.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 260.0,
            "max_loss": 1240.0,
            "breakevens": [
              142.4
            ],
            "profit_zone": "above",
            "pop": 0.714,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.173,
            "manage": {
              "profit_target": "buy it back at 50% of the credit — usually long before expiry",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~90 days to expiry, before gamma starts to matter",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          },
          {
            "key": "leaps_bear_put",
            "name": "LEAPS Bear Put Spread",
            "action": "BUY_PREMIUM",
            "bias": "bearish",
            "thesis": "A year of room for the downside thesis, at a cost that is fixed the day you put it on.",
            "playbook": "Buy a long-dated put, sell a lower one. The same shape pointed down: a year of room for a thesis, at a defined cost.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "put",
                "strike": 185.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 19.825,
                "bid": 18.75,
                "ask": 20.9,
                "iv": 30.15,
                "open_interest": 41,
                "label": "Buy 1× 2027-12-17 185 put",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "put",
                "strike": 155.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 8.675,
                "bid": 8.35,
                "ask": 9.0,
                "iv": 31.45,
                "open_interest": 1023,
                "label": "Sell 1× 2027-12-17 155 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": 1161.67,
            "net_mid": 1115.0,
            "net_natural": 1255.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 1838.33,
            "max_loss": 1161.67,
            "breakevens": [
              173.38
            ],
            "profit_zone": "below",
            "pop": 0.495,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "take 50–70% of the maximum profit — the last of it takes months to arrive",
              "profit_target_pct": 60,
              "stop": "cut at −50% of the debit, or sooner if the reason you put it on stops being true",
              "stop_loss_pct": 50,
              "time_stop": "roll or close with ~90 days left; the final quarter is where a long-dated spread loses its remaining time value fastest",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "leaps_bear_call",
            "name": "LEAPS Bear Call Spread",
            "action": "SELL_PREMIUM",
            "bias": "bearish",
            "thesis": "Paid up front to be right about a direction over a year, with the loss capped by the long wing — but the capital is committed for that whole year.",
            "playbook": "Sell a long-dated call well above the price, buy a higher one. The credit is yours if the stock stays under the short strike for the year.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "call",
                "strike": 220.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 12.975,
                "bid": 12.5,
                "ask": 13.45,
                "iv": 29.06,
                "open_interest": 621,
                "label": "Sell 1× 2027-12-17 220 call",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "call",
                "strike": 230.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 10.25,
                "bid": 9.45,
                "ask": 11.05,
                "iv": 28.6,
                "open_interest": 178,
                "label": "Buy 1× 2027-12-17 230 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": -230.0,
            "net_mid": -272.5,
            "net_natural": -145.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 230.0,
            "max_loss": 770.0,
            "breakevens": [
              222.3
            ],
            "profit_zone": "below",
            "pop": 0.782,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.23,
            "manage": {
              "profit_target": "buy it back at 50% of the credit — usually long before expiry",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~90 days to expiry, before gamma starts to matter",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          }
        ],
        "warnings": [
          "IV rank 100 is a front-month reading. A 13-month contract is priced off a flatter part of the volatility surface, so 'cheap' or 'rich' here is a weaker signal than it is on the near expiry — this expiry's own ATM IV is 30%.",
          "About 5 earnings reports fall inside this 412-day expiry. A long-dated spread is priced through all of them; none of them is the trade.",
          "One of these credit spreads collects very little for the risk — the LEAPS Bull Put Spread takes only 17% of its width, and holds the capital for 412 days to do it. Widen the wings or pass.",
          "The Poor Man's Covered Call's max profit below is the conservative case — assigned on the very first short call. Rolling that short leg out each month is where the structure actually earns, and no figure here counts those rolls.",
          "The short legs can be assigned early — most often a short call the day before an ex-dividend date. Know the dividend calendar before you sell one.",
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything."
        ]
      },
      "near_term": {
        "expiry": "2026-11-20",
        "dte": 20,
        "iv_annual": 34.03,
        "liquidity": "fair",
        "atm_spread_pct": 6.9,
        "premium_state": "rich",
        "bias": "neutral",
        "preferred": null,
        "summary": "4 one-direction spreads price out on the 2026-11-20 expiry, but the scanner has no proven directional read on this name, so none is recommended. Each one is a bet the stock goes one way; listed for reference.",
        "candidates": [
          {
            "key": "bull_call_spread",
            "name": "Bull Call Spread",
            "action": "BUY_PREMIUM",
            "bias": "bullish",
            "thesis": "Options are reasonably priced and the break is up — pay a capped premium for a capped move.",
            "playbook": "Buy a call, sell a higher one. A capped, cheaper bullish bet — the short leg pays for part of the long one.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 182.5,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 7.975,
                "bid": 7.7,
                "ask": 8.25,
                "iv": 43.19,
                "open_interest": 399,
                "label": "Buy 1× 2026-11-20 182.5 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 197.5,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.72,
                "bid": 1.62,
                "ask": 1.82,
                "iv": 35.93,
                "open_interest": 1071,
                "label": "Sell 1× 2026-11-20 197.5 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": 638.0,
            "net_mid": 625.5,
            "net_natural": 663.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 862.0,
            "max_loss": 638.0,
            "breakevens": [
              188.88
            ],
            "profit_zone": "above",
            "pop": 0.351,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "close at +50% to +100% of the debit",
              "profit_target_pct": 50,
              "stop": "cut at −50% of the debit",
              "stop_loss_pct": 50,
              "time_stop": "be out with ~7 days to expiry — theta accelerates into the last week",
              "close_by_dte": 7
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "bull_put_spread",
            "name": "Bull Put Spread",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Premium is rich and the lean is up — get paid to be right about a direction you don't need to nail.",
            "playbook": "Sell a put, buy a lower one. You collect credit and win if the stock stays above the short put — a bullish way to be short rich premium.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "put",
                "strike": 167.5,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 0.625,
                "bid": 0.53,
                "ask": 0.72,
                "iv": 31.15,
                "open_interest": 171,
                "label": "Sell 1× 2026-11-20 167.5 put",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "put",
                "strike": 160.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 0.33,
                "bid": 0.2,
                "ask": 0.46,
                "iv": 36.58,
                "open_interest": 4415,
                "label": "Buy 1× 2026-11-20 160 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": -22.0,
            "net_mid": -29.5,
            "net_natural": -7.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 22.0,
            "max_loss": 728.0,
            "breakevens": [
              167.28
            ],
            "profit_zone": "above",
            "pop": 0.888,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.029,
            "manage": {
              "profit_target": "buy it back at 50% of the credit received",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~21 days to expiry — gamma risk rises fast after that",
              "close_by_dte": 21
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          },
          {
            "key": "bear_put_spread",
            "name": "Bear Put Spread",
            "action": "BUY_PREMIUM",
            "bias": "bearish",
            "thesis": "Options are reasonably priced and the break is down — pay a capped premium for a capped move.",
            "playbook": "Buy a put, sell a lower one. A capped, cheaper bearish bet.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "put",
                "strike": 182.5,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 3.675,
                "bid": 3.4,
                "ask": 3.95,
                "iv": 24.87,
                "open_interest": 419,
                "label": "Buy 1× 2026-11-20 182.5 put",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "put",
                "strike": 167.5,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 0.625,
                "bid": 0.53,
                "ask": 0.72,
                "iv": 31.15,
                "open_interest": 171,
                "label": "Sell 1× 2026-11-20 167.5 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": 317.33,
            "net_mid": 305.0,
            "net_natural": 342.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 1182.67,
            "max_loss": 317.33,
            "breakevens": [
              179.33
            ],
            "profit_zone": "below",
            "pop": 0.371,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "close at +50% to +100% of the debit",
              "profit_target_pct": 50,
              "stop": "cut at −50% of the debit",
              "stop_loss_pct": 50,
              "time_stop": "be out with ~7 days to expiry — theta accelerates into the last week",
              "close_by_dte": 7
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "bear_call_spread",
            "name": "Bear Call Spread",
            "action": "SELL_PREMIUM",
            "bias": "bearish",
            "thesis": "Premium is rich and the lean is down — get paid to be right about a direction you don't need to nail.",
            "playbook": "Sell a call, buy a higher one. You collect credit and win if the stock stays below the short call.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "call",
                "strike": 197.5,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.72,
                "bid": 1.62,
                "ask": 1.82,
                "iv": 35.93,
                "open_interest": 1071,
                "label": "Sell 1× 2026-11-20 197.5 call",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "call",
                "strike": 205.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 0.635,
                "bid": 0.56,
                "ask": 0.71,
                "iv": 34.61,
                "open_interest": 374,
                "label": "Buy 1× 2026-11-20 205 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": -102.67,
            "net_mid": -108.5,
            "net_natural": -91.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 102.67,
            "max_loss": 647.33,
            "breakevens": [
              198.53
            ],
            "profit_zone": "below",
            "pop": 0.839,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.137,
            "manage": {
              "profit_target": "buy it back at 50% of the credit received",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~21 days to expiry — gamma risk rises fast after that",
              "close_by_dte": 21
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          }
        ],
        "warnings": [
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything.",
          "The credit spreads here collect little for the risk — the Bull Put Spread takes only 3% of its width, under the 20% this scanner treats as thin compensation. A fill worse than the one assumed here collects less still."
        ]
      },
      "screen": {
        "compliant": true,
        "industry_ok": true,
        "industry": "Oil & Gas Integrated",
        "debt_ratio": 0.05502655467818306,
        "cash_ratio": 0.013751443896794755,
        "receivables_ratio": null,
        "reasons": [
          "ok"
        ]
      }
    },
    {
      "rank": 8,
      "ticker": "LIN",
      "price": 503.15,
      "score": 51.2,
      "squeeze_on": false,
      "squeeze_days": 0,
      "squeeze_fired": false,
      "fired_dir": "",
      "bandwidth_pctile": 0.625,
      "hv_annual": 14.0,
      "hv_pctile": 0.217,
      "em_pct": 2.78,
      "horizon_days": 10,
      "down_1sigma": 489.15,
      "up_1sigma": 517.15,
      "down_2sigma": 475.14,
      "up_2sigma": 531.16,
      "lean": "Bullish",
      "note": "",
      "debt_ratio": 0.1131060938919781,
      "cash_ratio": 0.016718963287034688,
      "earnings_in_days": null,
      "implied_move_pct": 5.04,
      "vol_verdict": "rich",
      "iv_annual": 25.3,
      "iv_rank": 100.0,
      "premium_score": 97.8,
      "premium_state": "rich",
      "liquidity": "fair",
      "action": "STAND_ASIDE",
      "strategy": "Stand aside",
      "options": {
        "iv_annual": 25.3,
        "hv_annual": 14.2,
        "implied_move_pct": 5.04,
        "hist_move_pct": 2.78,
        "iv_rank": 100.0,
        "iv_percentile": 100.0,
        "iv_rank_basis": "realized",
        "vrp": 11.11,
        "iv_hv_ratio": 1.78,
        "verdict": "rich",
        "premium_score": 97.8,
        "premium_state": "rich",
        "term_slope": -0.0909,
        "term_structure": "backwardation",
        "skew": -8.92,
        "skew_label": "call_skew",
        "atm_spread_pct": 17.8,
        "atm_open_interest": 360,
        "liquidity": "fair",
        "expiry": "2026-11-20",
        "days_to_expiry": 20,
        "expiries": [
          {
            "date": "2026-11-20",
            "dte": 20
          },
          {
            "date": "2026-12-18",
            "dte": 48
          },
          {
            "date": "2027-01-15",
            "dte": 76
          },
          {
            "date": "2027-03-19",
            "dte": 139
          },
          {
            "date": "2027-04-16",
            "dte": 167
          },
          {
            "date": "2027-06-17",
            "dte": 229
          },
          {
            "date": "2027-09-17",
            "dte": 321
          },
          {
            "date": "2028-01-21",
            "dte": 447
          },
          {
            "date": "2029-01-19",
            "dte": 811
          }
        ],
        "long_expiry": "2028-01-21",
        "long_dte": 447,
        "long_iv": 24.66,
        "long_spread_pct": 6.3,
        "long_open_interest": 286,
        "long_liquidity": "fair",
        "quote_session": "closed"
      },
      "recommendation": {
        "ticker": "LIN",
        "action": "STAND_ASIDE",
        "headline": "LIN: stand aside — premium looks rich, but on this scanner's record selling it has not paid: On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money.",
        "detail": "Premium looks rich, but on this scanner's record selling it has not paid: On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money.",
        "confidence": 0.0,
        "premium_state": "rich",
        "premium_score": 97.8,
        "bias": "neutral",
        "bias_strength": "none",
        "plan": {
          "key": "stand_aside",
          "name": "Stand aside",
          "action": "STAND_ASIDE",
          "bias": "neutral",
          "thesis": "Premium looks rich, but on this scanner's record selling it has not paid: On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money.",
          "playbook": "No edge worth paying for. The best trade is often none.",
          "vega": "flat",
          "theta": "flat",
          "risk": "none",
          "legs": [],
          "expiry": null,
          "dte": null,
          "profit_horizon_dte": null,
          "net": null,
          "net_mid": null,
          "net_natural": null,
          "fill_basis": "",
          "max_profit": null,
          "max_loss": null,
          "breakevens": [],
          "profit_zone": "",
          "pop": null,
          "pop_basis": "",
          "credit_to_width": null,
          "manage": {},
          "sizing": {
            "risk_budget": 1000.0,
            "contracts": 0
          },
          "risk_form": {
            "tier": "n/a",
            "note": "No position — nothing to secure."
          }
        },
        "alternatives": [],
        "avoid": [
          {
            "name": "Long straddles / strangles",
            "reason": "IV rank 100 and the market is pricing a 5.0% move vs 2.8% realized — you'd be paying up for the move you want."
          },
          {
            "name": "Selling premium (condors, credit spreads)",
            "reason": "Not supported by the backtest: On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money."
          }
        ],
        "why": [
          "IV rank 100/100 (rich premium, blended score 98).",
          "That rank is IV against the past year's realized volatility, not past implied volatility (the name has fewer than 120 logged IV readings). Today's IV sits above every realized reading in that range — treat 'rich' here as 'priced above recent realized swings', not 'rich for this name'.",
          "Options price a 5.0% move over the horizon vs 2.8% realized (1.78× IV/HV).",
          "Setup score 51/100, no directional edge.",
          "Term structure in backwardation (-9.1% front→back).",
          "Calls bid over puts by 8.9 vol points — upside is the expensive side.",
          "The bullish lean is not traded on: in the backtest it did not call direction better than the base rate, so this is treated as a name with no directional read."
        ],
        "warnings": [
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything."
        ]
      },
      "long_dated": {
        "expiry": "2028-01-21",
        "dte": 447,
        "target_days": 395,
        "iv_annual": 24.66,
        "front_iv_annual": 25.3,
        "liquidity": "fair",
        "atm_spread_pct": 6.3,
        "atm_open_interest": 286,
        "premium_state": "rich",
        "bias": "neutral",
        "bias_strength": "none",
        "preferred": null,
        "summary": "4 long-dated spreads price out on the 2028-01-21 expiry, but the scanner has no directional read on this name — and every 13-month spread is a directional bet. Listed for reference, not recommended.",
        "candidates": [
          {
            "key": "leaps_bull_call",
            "name": "LEAPS Bull Call Spread",
            "action": "BUY_PREMIUM",
            "bias": "bullish",
            "thesis": "A year of room for the upside thesis, at a cost that is fixed the day you put it on.",
            "playbook": "Buy a call about 13 months out, sell a higher one in the same expiry. A bullish position with a year to be right and a cost you know on day one — the short leg pays for part of the long one and caps the win.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 500.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 71.25,
                "bid": 69.0,
                "ask": 73.5,
                "iv": 26.33,
                "open_interest": 286,
                "label": "Buy 1× 2028-01-21 500 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 580.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 36.0,
                "bid": 34.0,
                "ask": 38.0,
                "iv": 24.66,
                "open_interest": 0,
                "label": "Sell 1× 2028-01-21 580 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2028-01-21",
            "dte": 447,
            "profit_horizon_dte": null,
            "net": 3666.67,
            "net_mid": 3525.0,
            "net_natural": 3950.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 4333.33,
            "max_loss": 3666.67,
            "breakevens": [
              536.67
            ],
            "profit_zone": "above",
            "pop": 0.356,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "take 50–70% of the maximum profit — the last of it takes months to arrive",
              "profit_target_pct": 60,
              "stop": "cut at −50% of the debit, or sooner if the reason you put it on stops being true",
              "stop_loss_pct": 50,
              "time_stop": "roll or close with ~90 days left; the final quarter is where a long-dated spread loses its remaining time value fastest",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "leaps_bull_put",
            "name": "LEAPS Bull Put Spread",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Paid up front to be right about a direction over a year, with the loss capped by the long wing — but the capital is committed for that whole year.",
            "playbook": "Sell a long-dated put well below the price, buy a lower one for protection. You collect the credit up front and keep it if the stock holds up — but the capital is committed for a year and the decay arrives mostly at the end.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "put",
                "strike": 400.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 11.25,
                "bid": 9.0,
                "ask": 13.5,
                "iv": 26.14,
                "open_interest": 34,
                "label": "Sell 1× 2028-01-21 400 put",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "put",
                "strike": 350.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 5.85,
                "bid": 4.0,
                "ask": 7.7,
                "iv": 28.63,
                "open_interest": 47,
                "label": "Buy 1× 2028-01-21 350 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2028-01-21",
            "dte": 447,
            "profit_horizon_dte": null,
            "net": -403.33,
            "net_mid": -540.0,
            "net_natural": -130.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 403.33,
            "max_loss": 4596.67,
            "breakevens": [
              395.97
            ],
            "profit_zone": "above",
            "pop": 0.753,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.081,
            "manage": {
              "profit_target": "buy it back at 50% of the credit — usually long before expiry",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~90 days to expiry, before gamma starts to matter",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          },
          {
            "key": "leaps_bear_put",
            "name": "LEAPS Bear Put Spread",
            "action": "BUY_PREMIUM",
            "bias": "bearish",
            "thesis": "A year of room for the downside thesis, at a cost that is fixed the day you put it on.",
            "playbook": "Buy a long-dated put, sell a lower one. The same shape pointed down: a year of room for a thesis, at a defined cost.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "put",
                "strike": 500.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 37.2,
                "bid": 35.0,
                "ask": 39.4,
                "iv": 22.99,
                "open_interest": 63,
                "label": "Buy 1× 2028-01-21 500 put",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "put",
                "strike": 430.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 16.25,
                "bid": 14.0,
                "ask": 18.5,
                "iv": 24.82,
                "open_interest": 79,
                "label": "Sell 1× 2028-01-21 430 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2028-01-21",
            "dte": 447,
            "profit_horizon_dte": null,
            "net": 2243.33,
            "net_mid": 2095.0,
            "net_natural": 2540.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 4756.67,
            "max_loss": 2243.33,
            "breakevens": [
              477.57
            ],
            "profit_zone": "below",
            "pop": 0.471,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "take 50–70% of the maximum profit — the last of it takes months to arrive",
              "profit_target_pct": 60,
              "stop": "cut at −50% of the debit, or sooner if the reason you put it on stops being true",
              "stop_loss_pct": 50,
              "time_stop": "roll or close with ~90 days left; the final quarter is where a long-dated spread loses its remaining time value fastest",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "leaps_bear_call",
            "name": "LEAPS Bear Call Spread",
            "action": "SELL_PREMIUM",
            "bias": "bearish",
            "thesis": "Paid up front to be right about a direction over a year, with the loss capped by the long wing — but the capital is committed for that whole year.",
            "playbook": "Sell a long-dated call well above the price, buy a higher one. The credit is yours if the stock stays under the short strike for the year.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "call",
                "strike": 600.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 30.0,
                "bid": 27.5,
                "ask": 32.5,
                "iv": 24.48,
                "open_interest": 46,
                "label": "Sell 1× 2028-01-21 600 call",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "call",
                "strike": 640.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 20.75,
                "bid": 18.5,
                "ask": 23.0,
                "iv": 24.31,
                "open_interest": 65,
                "label": "Buy 1× 2028-01-21 640 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2028-01-21",
            "dte": 447,
            "profit_horizon_dte": null,
            "net": -766.67,
            "net_mid": -925.0,
            "net_natural": -450.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 766.67,
            "max_loss": 3233.33,
            "breakevens": [
              607.67
            ],
            "profit_zone": "below",
            "pop": 0.797,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.192,
            "manage": {
              "profit_target": "buy it back at 50% of the credit — usually long before expiry",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~90 days to expiry, before gamma starts to matter",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          }
        ],
        "warnings": [
          "IV rank 100 is a front-month reading. A 13-month contract is priced off a flatter part of the volatility surface, so 'cheap' or 'rich' here is a weaker signal than it is on the near expiry — this expiry's own ATM IV is 25%.",
          "About 5 earnings reports fall inside this 447-day expiry. A long-dated spread is priced through all of them; none of them is the trade.",
          "Some of these credit spreads collect very little for the risk — the LEAPS Bull Put Spread takes only 8% of its width, and holds the capital for 447 days to do it. Widen the wings or pass.",
          "The short legs can be assigned early — most often a short call the day before an ex-dividend date. Know the dividend calendar before you sell one.",
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything."
        ]
      },
      "near_term": {
        "expiry": "2026-11-20",
        "dte": 20,
        "iv_annual": 25.3,
        "liquidity": "fair",
        "atm_spread_pct": 17.8,
        "premium_state": "rich",
        "bias": "neutral",
        "preferred": null,
        "summary": "4 one-direction spreads price out on the 2026-11-20 expiry, but the scanner has no proven directional read on this name, so none is recommended. Each one is a bet the stock goes one way; listed for reference.",
        "candidates": [
          {
            "key": "bull_call_spread",
            "name": "Bull Call Spread",
            "action": "BUY_PREMIUM",
            "bias": "bullish",
            "thesis": "Options are reasonably priced and the break is up — pay a capped premium for a capped move.",
            "playbook": "Buy a call, sell a higher one. A capped, cheaper bullish bet — the short leg pays for part of the long one.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 505.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 16.9,
                "bid": 15.4,
                "ask": 18.4,
                "iv": 36.74,
                "open_interest": 360,
                "label": "Buy 1× 2026-11-20 505 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 535.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 4.25,
                "bid": 2.3,
                "ask": 6.2,
                "iv": 30.58,
                "open_interest": 304,
                "label": "Sell 1× 2026-11-20 535 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": 1380.0,
            "net_mid": 1265.0,
            "net_natural": 1610.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 1620.0,
            "max_loss": 1380.0,
            "breakevens": [
              518.8
            ],
            "profit_zone": "above",
            "pop": 0.33,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "close at +50% to +100% of the debit",
              "profit_target_pct": 50,
              "stop": "cut at −50% of the debit",
              "stop_loss_pct": 50,
              "time_stop": "be out with ~7 days to expiry — theta accelerates into the last week",
              "close_by_dte": 7
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "bull_put_spread",
            "name": "Bull Put Spread",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Premium is rich and the lean is up — get paid to be right about a direction you don't need to nail.",
            "playbook": "Sell a put, buy a lower one. You collect credit and win if the stock stays above the short put — a bullish way to be short rich premium.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "put",
                "strike": 475.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.45,
                "bid": 0.7,
                "ask": 2.2,
                "iv": 21.66,
                "open_interest": 95,
                "label": "Sell 1× 2026-11-20 475 put",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "put",
                "strike": 465.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.0,
                "bid": 0.15,
                "ask": 1.85,
                "iv": 24.58,
                "open_interest": 203,
                "label": "Buy 1× 2026-11-20 465 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": 8.33,
            "net_mid": -45.0,
            "net_natural": 115.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": null,
            "max_loss": null,
            "breakevens": [],
            "profit_zone": "above",
            "pop": null,
            "pop_basis": "",
            "credit_to_width": null,
            "manage": {
              "profit_target": "buy it back at 50% of the credit received",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~21 days to expiry — gamma risk rises fast after that",
              "close_by_dte": 21
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          },
          {
            "key": "bear_put_spread",
            "name": "Bear Put Spread",
            "action": "BUY_PREMIUM",
            "bias": "bearish",
            "thesis": "Options are reasonably priced and the break is down — pay a capped premium for a capped move.",
            "playbook": "Buy a put, sell a lower one. A capped, cheaper bearish bet.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "put",
                "strike": 505.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 6.9,
                "bid": 5.5,
                "ask": 8.3,
                "iv": 13.87,
                "open_interest": 662,
                "label": "Buy 1× 2026-11-20 505 put",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "put",
                "strike": 475.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.45,
                "bid": 0.7,
                "ask": 2.2,
                "iv": 21.66,
                "open_interest": 95,
                "label": "Sell 1× 2026-11-20 475 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": 616.67,
            "net_mid": 545.0,
            "net_natural": 760.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 2383.33,
            "max_loss": 616.67,
            "breakevens": [
              498.83
            ],
            "profit_zone": "below",
            "pop": 0.417,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "close at +50% to +100% of the debit",
              "profit_target_pct": 50,
              "stop": "cut at −50% of the debit",
              "stop_loss_pct": 50,
              "time_stop": "be out with ~7 days to expiry — theta accelerates into the last week",
              "close_by_dte": 7
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "bear_call_spread",
            "name": "Bear Call Spread",
            "action": "SELL_PREMIUM",
            "bias": "bearish",
            "thesis": "Premium is rich and the lean is down — get paid to be right about a direction you don't need to nail.",
            "playbook": "Sell a call, buy a higher one. You collect credit and win if the stock stays below the short call.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "call",
                "strike": 535.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 4.25,
                "bid": 2.3,
                "ask": 6.2,
                "iv": 30.58,
                "open_interest": 304,
                "label": "Sell 1× 2026-11-20 535 call",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "call",
                "strike": 550.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.325,
                "bid": 0.65,
                "ask": 2.0,
                "iv": 27.19,
                "open_interest": 184,
                "label": "Buy 1× 2026-11-20 550 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": -205.0,
            "net_mid": -292.5,
            "net_natural": -30.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 205.0,
            "max_loss": 1295.0,
            "breakevens": [
              537.05
            ],
            "profit_zone": "below",
            "pop": 0.828,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.137,
            "manage": {
              "profit_target": "buy it back at 50% of the credit received",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~21 days to expiry — gamma risk rises fast after that",
              "close_by_dte": 21
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          }
        ],
        "warnings": [
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything.",
          "The credit spread here collects little for the risk — the Bear Call Spread takes only 14% of its width, under the 20% this scanner treats as thin compensation. A fill worse than the one assumed here collects less still."
        ]
      },
      "screen": {
        "compliant": true,
        "industry_ok": true,
        "industry": "Specialty Chemicals",
        "debt_ratio": 0.1131060938919781,
        "cash_ratio": 0.016718963287034688,
        "receivables_ratio": null,
        "reasons": [
          "ok"
        ]
      }
    },
    {
      "rank": 9,
      "ticker": "MRK",
      "price": 146.33,
      "score": 50.6,
      "squeeze_on": true,
      "squeeze_days": 6,
      "squeeze_fired": false,
      "fired_dir": "",
      "bandwidth_pctile": 0.2,
      "hv_annual": 33.0,
      "hv_pctile": 0.75,
      "em_pct": 6.58,
      "horizon_days": 10,
      "down_1sigma": 136.7,
      "up_1sigma": 155.96,
      "down_2sigma": 127.07,
      "up_2sigma": 165.59,
      "lean": "Neutral",
      "note": "",
      "debt_ratio": null,
      "cash_ratio": null,
      "earnings_in_days": null,
      "implied_move_pct": 7.24,
      "vol_verdict": "fair",
      "iv_annual": 36.34,
      "iv_rank": 94.8,
      "premium_score": 68.5,
      "premium_state": "rich",
      "liquidity": "poor",
      "action": "STAND_ASIDE",
      "strategy": "Stand aside",
      "options": {
        "iv_annual": 36.34,
        "hv_annual": 35.7,
        "implied_move_pct": 7.24,
        "hist_move_pct": 6.58,
        "iv_rank": 94.8,
        "iv_percentile": 97.4,
        "iv_rank_basis": "realized",
        "vrp": 0.62,
        "iv_hv_ratio": 1.02,
        "verdict": "fair",
        "premium_score": 68.5,
        "premium_state": "rich",
        "term_slope": -0.0682,
        "term_structure": "backwardation",
        "skew": -9.3,
        "skew_label": "call_skew",
        "atm_spread_pct": 20.9,
        "atm_open_interest": 78,
        "liquidity": "poor",
        "expiry": "2026-11-20",
        "days_to_expiry": 20,
        "expiries": [
          {
            "date": "2026-11-06",
            "dte": 6
          },
          {
            "date": "2026-11-13",
            "dte": 13
          },
          {
            "date": "2026-11-20",
            "dte": 20
          },
          {
            "date": "2026-11-27",
            "dte": 27
          },
          {
            "date": "2026-12-04",
            "dte": 34
          },
          {
            "date": "2026-12-18",
            "dte": 48
          },
          {
            "date": "2027-01-15",
            "dte": 76
          },
          {
            "date": "2027-03-19",
            "dte": 139
          },
          {
            "date": "2027-04-16",
            "dte": 167
          },
          {
            "date": "2027-06-17",
            "dte": 229
          },
          {
            "date": "2027-09-17",
            "dte": 321
          },
          {
            "date": "2027-12-17",
            "dte": 412
          }
        ],
        "long_expiry": "2027-12-17",
        "long_dte": 412,
        "long_iv": 32.92,
        "long_spread_pct": 4.1,
        "long_open_interest": 105,
        "long_liquidity": "fair",
        "quote_session": "closed"
      },
      "recommendation": {
        "ticker": "MRK",
        "action": "STAND_ASIDE",
        "headline": "MRK: stand aside — the options are too illiquid to trade: only 78 contracts of open interest at the at-the-money strike (under 100). Premium looks rich, but you would give the edge back on the fills.",
        "detail": "The options are too illiquid to trade: only 78 contracts of open interest at the at-the-money strike (under 100). Premium looks rich, but you would give the edge back on the fills.",
        "confidence": 0.0,
        "premium_state": "rich",
        "premium_score": 68.5,
        "bias": "neutral",
        "bias_strength": "none",
        "plan": {
          "key": "stand_aside",
          "name": "Stand aside",
          "action": "STAND_ASIDE",
          "bias": "neutral",
          "thesis": "The options are too illiquid to trade: only 78 contracts of open interest at the at-the-money strike (under 100). Premium looks rich, but you would give the edge back on the fills.",
          "playbook": "No edge worth paying for. The best trade is often none.",
          "vega": "flat",
          "theta": "flat",
          "risk": "none",
          "legs": [],
          "expiry": null,
          "dte": null,
          "profit_horizon_dte": null,
          "net": null,
          "net_mid": null,
          "net_natural": null,
          "fill_basis": "",
          "max_profit": null,
          "max_loss": null,
          "breakevens": [],
          "profit_zone": "",
          "pop": null,
          "pop_basis": "",
          "credit_to_width": null,
          "manage": {},
          "sizing": {
            "risk_budget": 1000.0,
            "contracts": 0
          },
          "risk_form": {
            "tier": "n/a",
            "note": "No position — nothing to secure."
          }
        },
        "alternatives": [],
        "avoid": [
          {
            "name": "Any multi-leg spread here",
            "reason": "Only 78 contracts of open interest at the at-the-money strike (under 100) — slippage on entry and exit would cost more than the edge."
          }
        ],
        "why": [
          "IV rank 95/100 (rich premium, blended score 68).",
          "Options price a 7.2% move over the horizon vs 6.6% realized (1.02× IV/HV).",
          "Squeeze on for 6 days — still building, not yet fired.",
          "Setup score 51/100, no directional edge.",
          "Term structure in backwardation (-6.8% front→back).",
          "Calls bid over puts by 9.3 vol points — upside is the expensive side."
        ],
        "warnings": [
          "Thin options market: only 78 contracts of open interest at the at-the-money strike (under 100) — the bid/ask will eat a multi-leg spread. Use limit orders at mid, or skip it.",
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything."
        ]
      },
      "long_dated": {
        "expiry": "2027-12-17",
        "dte": 412,
        "target_days": 395,
        "iv_annual": 32.92,
        "front_iv_annual": 36.34,
        "liquidity": "fair",
        "atm_spread_pct": 4.1,
        "atm_open_interest": 105,
        "premium_state": "rich",
        "bias": "neutral",
        "bias_strength": "none",
        "preferred": null,
        "summary": "5 long-dated spreads price out on the 2027-12-17 expiry, but the scanner has no directional read on this name — and every 13-month spread is a directional bet. Listed for reference, not recommended.",
        "candidates": [
          {
            "key": "leaps_bull_call",
            "name": "LEAPS Bull Call Spread",
            "action": "BUY_PREMIUM",
            "bias": "bullish",
            "thesis": "A year of room for the upside thesis, at a cost that is fixed the day you put it on.",
            "playbook": "Buy a call about 13 months out, sell a higher one in the same expiry. A bullish position with a year to be right and a cost you know on day one — the short leg pays for part of the long one and caps the win.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 145.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 24.65,
                "bid": 24.15,
                "ask": 25.15,
                "iv": 34.23,
                "open_interest": 105,
                "label": "Buy 1× 2027-12-17 145 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 170.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 14.575,
                "bid": 14.0,
                "ask": 15.15,
                "iv": 33.37,
                "open_interest": 193,
                "label": "Sell 1× 2027-12-17 170 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": 1043.33,
            "net_mid": 1007.5,
            "net_natural": 1115.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 1456.67,
            "max_loss": 1043.33,
            "breakevens": [
              155.43
            ],
            "profit_zone": "above",
            "pop": 0.364,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "take 50–70% of the maximum profit — the last of it takes months to arrive",
              "profit_target_pct": 60,
              "stop": "cut at −50% of the debit, or sooner if the reason you put it on stops being true",
              "stop_loss_pct": 50,
              "time_stop": "roll or close with ~90 days left; the final quarter is where a long-dated spread loses its remaining time value fastest",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "poor_mans_covered_call",
            "name": "Poor Man's Covered Call",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Own the year cheaply through a deep in-the-money call, and rent the near month out against it every cycle.",
            "playbook": "Buy a deep in-the-money call 13 months out as a cheaper stand-in for 100 shares, then sell a near-dated call against it and roll that short leg each month. Covered-call income on a fraction of the capital — and the long call, not stock, is what secures it.",
            "vega": "long",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 115.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 43.4,
                "bid": 42.05,
                "ask": 44.75,
                "iv": 37.67,
                "open_interest": 311,
                "label": "Buy 1× 2027-12-17 115 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 160.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.33,
                "bid": 1.16,
                "ask": 1.5,
                "iv": 39.7,
                "open_interest": 6436,
                "label": "Sell 1× 2026-11-20 160 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": 20,
            "net": 4257.67,
            "net_mid": 4207.0,
            "net_natural": 4359.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 242.33,
            "max_loss": 4257.67,
            "breakevens": [
              157.58
            ],
            "profit_zone": "above",
            "pop": null,
            "pop_basis": "",
            "credit_to_width": null,
            "manage": {
              "profit_target": "roll the short call out each month for a fresh credit; take the whole position off at 50–70% of the maximum",
              "profit_target_pct": 60,
              "stop": "cut if the long call loses half its value — the thesis is gone, not just early",
              "stop_loss_pct": 50,
              "time_stop": "roll the long leg with ~90 days left. Never let the short call go to assignment while you still want the long one.",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "option_covered",
              "note": "The short call is secured by the long call, not by shares and not by margin: assignment is covered by exercising or selling the long leg. That is why the whole position can only lose the debit — and why the long leg must never be closed first."
            }
          },
          {
            "key": "leaps_bull_put",
            "name": "LEAPS Bull Put Spread",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Paid up front to be right about a direction over a year, with the loss capped by the long wing — but the capital is committed for that whole year.",
            "playbook": "Sell a long-dated put well below the price, buy a lower one for protection. You collect the credit up front and keep it if the stock holds up — but the capital is committed for a year and the decay arrives mostly at the end.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "put",
                "strike": 115.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 5.65,
                "bid": 4.65,
                "ask": 6.65,
                "iv": 34.3,
                "open_interest": 45,
                "label": "Sell 1× 2027-12-17 115 put",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "put",
                "strike": 100.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 3.025,
                "bid": 2.55,
                "ask": 3.5,
                "iv": 36.14,
                "open_interest": 374,
                "label": "Buy 1× 2027-12-17 100 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": -213.33,
            "net_mid": -262.5,
            "net_natural": -115.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 213.33,
            "max_loss": 1286.67,
            "breakevens": [
              112.87
            ],
            "profit_zone": "above",
            "pop": 0.702,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.142,
            "manage": {
              "profit_target": "buy it back at 50% of the credit — usually long before expiry",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~90 days to expiry, before gamma starts to matter",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          },
          {
            "key": "leaps_bear_put",
            "name": "LEAPS Bear Put Spread",
            "action": "BUY_PREMIUM",
            "bias": "bearish",
            "thesis": "A year of room for the downside thesis, at a cost that is fixed the day you put it on.",
            "playbook": "Buy a long-dated put, sell a lower one. The same shape pointed down: a year of room for a thesis, at a defined cost.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "put",
                "strike": 145.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 15.375,
                "bid": 14.0,
                "ask": 16.75,
                "iv": 31.61,
                "open_interest": 74,
                "label": "Buy 1× 2027-12-17 145 put",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "put",
                "strike": 125.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 7.975,
                "bid": 7.2,
                "ask": 8.75,
                "iv": 32.87,
                "open_interest": 65,
                "label": "Sell 1× 2027-12-17 125 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": 811.67,
            "net_mid": 740.0,
            "net_natural": 955.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 1188.33,
            "max_loss": 811.67,
            "breakevens": [
              136.88
            ],
            "profit_zone": "below",
            "pop": 0.495,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "take 50–70% of the maximum profit — the last of it takes months to arrive",
              "profit_target_pct": 60,
              "stop": "cut at −50% of the debit, or sooner if the reason you put it on stops being true",
              "stop_loss_pct": 50,
              "time_stop": "roll or close with ~90 days left; the final quarter is where a long-dated spread loses its remaining time value fastest",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "leaps_bear_call",
            "name": "LEAPS Bear Call Spread",
            "action": "SELL_PREMIUM",
            "bias": "bearish",
            "thesis": "Paid up front to be right about a direction over a year, with the loss capped by the long wing — but the capital is committed for that whole year.",
            "playbook": "Sell a long-dated call well above the price, buy a higher one. The credit is yours if the stock stays under the short strike for the year.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "call",
                "strike": 175.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 12.85,
                "bid": 12.45,
                "ask": 13.25,
                "iv": 32.92,
                "open_interest": 118,
                "label": "Sell 1× 2027-12-17 175 call",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "call",
                "strike": 185.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 10.15,
                "bid": 9.75,
                "ask": 10.55,
                "iv": 32.58,
                "open_interest": 114,
                "label": "Buy 1× 2027-12-17 185 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": -243.33,
            "net_mid": -270.0,
            "net_natural": -190.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 243.33,
            "max_loss": 756.67,
            "breakevens": [
              177.43
            ],
            "profit_zone": "below",
            "pop": 0.766,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.243,
            "manage": {
              "profit_target": "buy it back at 50% of the credit — usually long before expiry",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~90 days to expiry, before gamma starts to matter",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          }
        ],
        "warnings": [
          "IV rank 95 is a front-month reading. A 13-month contract is priced off a flatter part of the volatility surface, so 'cheap' or 'rich' here is a weaker signal than it is on the near expiry — this expiry's own ATM IV is 33%.",
          "About 5 earnings reports fall inside this 412-day expiry. A long-dated spread is priced through all of them; none of them is the trade.",
          "One of these credit spreads collects very little for the risk — the LEAPS Bull Put Spread takes only 14% of its width, and holds the capital for 412 days to do it. Widen the wings or pass.",
          "The Poor Man's Covered Call's max profit below is the conservative case — assigned on the very first short call. Rolling that short leg out each month is where the structure actually earns, and no figure here counts those rolls.",
          "The short legs can be assigned early — most often a short call the day before an ex-dividend date. Know the dividend calendar before you sell one.",
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything."
        ]
      },
      "near_term": {
        "expiry": "2026-11-20",
        "dte": 20,
        "iv_annual": 36.34,
        "liquidity": "poor",
        "atm_spread_pct": 20.9,
        "premium_state": "rich",
        "bias": "neutral",
        "preferred": null,
        "summary": "4 one-direction spreads price out on the 2026-11-20 expiry, but the scanner has no proven directional read on this name, so none is recommended. Each one is a bet the stock goes one way; listed for reference.",
        "candidates": [
          {
            "key": "bull_call_spread",
            "name": "Bull Call Spread",
            "action": "BUY_PREMIUM",
            "bias": "bullish",
            "thesis": "Options are reasonably priced and the break is up — pay a capped premium for a capped move.",
            "playbook": "Buy a call, sell a higher one. A capped, cheaper bullish bet — the short leg pays for part of the long one.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 146.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 6.925,
                "bid": 6.2,
                "ask": 7.65,
                "iv": 48.4,
                "open_interest": 78,
                "label": "Buy 1× 2026-11-20 146 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 160.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.33,
                "bid": 1.16,
                "ask": 1.5,
                "iv": 39.7,
                "open_interest": 6436,
                "label": "Sell 1× 2026-11-20 160 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": 589.33,
            "net_mid": 559.5,
            "net_natural": 649.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 810.67,
            "max_loss": 589.33,
            "breakevens": [
              151.89
            ],
            "profit_zone": "above",
            "pop": 0.339,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "close at +50% to +100% of the debit",
              "profit_target_pct": 50,
              "stop": "cut at −50% of the debit",
              "stop_loss_pct": 50,
              "time_stop": "be out with ~7 days to expiry — theta accelerates into the last week",
              "close_by_dte": 7
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "bull_put_spread",
            "name": "Bull Put Spread",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Premium is rich and the lean is up — get paid to be right about a direction you don't need to nail.",
            "playbook": "Sell a put, buy a lower one. You collect credit and win if the stock stays above the short put — a bullish way to be short rich premium.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "put",
                "strike": 134.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 0.485,
                "bid": 0.31,
                "ask": 0.66,
                "iv": 30.4,
                "open_interest": 295,
                "label": "Sell 1× 2026-11-20 134 put",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "put",
                "strike": 130.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 0.23,
                "bid": 0.13,
                "ask": 0.33,
                "iv": 31.87,
                "open_interest": 3118,
                "label": "Buy 1× 2026-11-20 130 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": -16.33,
            "net_mid": -25.5,
            "net_natural": 2.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 16.33,
            "max_loss": 383.67,
            "breakevens": [
              133.84
            ],
            "profit_zone": "above",
            "pop": 0.888,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.041,
            "manage": {
              "profit_target": "buy it back at 50% of the credit received",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~21 days to expiry — gamma risk rises fast after that",
              "close_by_dte": 21
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          },
          {
            "key": "bear_put_spread",
            "name": "Bear Put Spread",
            "action": "BUY_PREMIUM",
            "bias": "bearish",
            "thesis": "Options are reasonably priced and the break is down — pay a capped premium for a capped move.",
            "playbook": "Buy a put, sell a lower one. A capped, cheaper bearish bet.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "put",
                "strike": 146.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 2.995,
                "bid": 2.74,
                "ask": 3.25,
                "iv": 24.28,
                "open_interest": 2847,
                "label": "Buy 1× 2026-11-20 146 put",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "put",
                "strike": 134.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 0.485,
                "bid": 0.31,
                "ask": 0.66,
                "iv": 30.4,
                "open_interest": 295,
                "label": "Sell 1× 2026-11-20 134 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": 265.33,
            "net_mid": 251.0,
            "net_natural": 294.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 934.67,
            "max_loss": 265.33,
            "breakevens": [
              143.35
            ],
            "profit_zone": "below",
            "pop": 0.375,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "close at +50% to +100% of the debit",
              "profit_target_pct": 50,
              "stop": "cut at −50% of the debit",
              "stop_loss_pct": 50,
              "time_stop": "be out with ~7 days to expiry — theta accelerates into the last week",
              "close_by_dte": 7
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "bear_call_spread",
            "name": "Bear Call Spread",
            "action": "SELL_PREMIUM",
            "bias": "bearish",
            "thesis": "Premium is rich and the lean is down — get paid to be right about a direction you don't need to nail.",
            "playbook": "Sell a call, buy a higher one. You collect credit and win if the stock stays below the short call.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "call",
                "strike": 160.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.33,
                "bid": 1.16,
                "ask": 1.5,
                "iv": 39.7,
                "open_interest": 6436,
                "label": "Sell 1× 2026-11-20 160 call",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "call",
                "strike": 165.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 0.62,
                "bid": 0.47,
                "ask": 0.77,
                "iv": 38.41,
                "open_interest": 14386,
                "label": "Buy 1× 2026-11-20 165 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": -60.33,
            "net_mid": -71.0,
            "net_natural": -39.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 60.33,
            "max_loss": 439.67,
            "breakevens": [
              160.6
            ],
            "profit_zone": "below",
            "pop": 0.853,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.121,
            "manage": {
              "profit_target": "buy it back at 50% of the credit received",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~21 days to expiry — gamma risk rises fast after that",
              "close_by_dte": 21
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          }
        ],
        "warnings": [
          "The chain is thin: only 78 contracts of open interest at the at-the-money strike (under 100). Expect to give up a lot of the edge on the way in and out.",
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything.",
          "The credit spreads here collect little for the risk — the Bull Put Spread takes only 4% of its width, under the 20% this scanner treats as thin compensation. A fill worse than the one assumed here collects less still."
        ]
      },
      "screen": {
        "compliant": null,
        "industry_ok": true,
        "industry": "Drug Manufacturers - General",
        "debt_ratio": null,
        "cash_ratio": null,
        "receivables_ratio": null,
        "reasons": [
          "not screened: no debt, cash ratio (figure missing from Yahoo)"
        ]
      }
    },
    {
      "rank": 10,
      "ticker": "CVX",
      "price": 231.46,
      "score": 49.7,
      "squeeze_on": false,
      "squeeze_days": 0,
      "squeeze_fired": false,
      "fired_dir": "",
      "bandwidth_pctile": 0.85,
      "hv_annual": 20.5,
      "hv_pctile": 0.125,
      "em_pct": 4.08,
      "horizon_days": 10,
      "down_1sigma": 222.01,
      "up_1sigma": 240.91,
      "down_2sigma": 212.57,
      "up_2sigma": 250.35,
      "lean": "Bullish",
      "note": "",
      "debt_ratio": 0.08024947329687501,
      "cash_ratio": 0.01846333033407135,
      "earnings_in_days": null,
      "implied_move_pct": 6.53,
      "vol_verdict": "rich",
      "iv_annual": 32.8,
      "iv_rank": 100.0,
      "premium_score": 94.2,
      "premium_state": "rich",
      "liquidity": "poor",
      "action": "STAND_ASIDE",
      "strategy": "Stand aside",
      "options": {
        "iv_annual": 32.8,
        "hv_annual": 21.9,
        "implied_move_pct": 6.53,
        "hist_move_pct": 4.08,
        "iv_rank": 100.0,
        "iv_percentile": 100.0,
        "iv_rank_basis": "realized",
        "vrp": 10.85,
        "iv_hv_ratio": 1.49,
        "verdict": "rich",
        "premium_score": 94.2,
        "premium_state": "rich",
        "term_slope": -0.104,
        "term_structure": "backwardation",
        "skew": -2.83,
        "skew_label": "balanced",
        "atm_spread_pct": 15.9,
        "atm_open_interest": 78,
        "liquidity": "poor",
        "expiry": "2026-11-20",
        "days_to_expiry": 20,
        "expiries": [
          {
            "date": "2026-11-06",
            "dte": 6
          },
          {
            "date": "2026-11-13",
            "dte": 13
          },
          {
            "date": "2026-11-20",
            "dte": 20
          },
          {
            "date": "2026-11-27",
            "dte": 27
          },
          {
            "date": "2026-12-04",
            "dte": 34
          },
          {
            "date": "2026-12-18",
            "dte": 48
          },
          {
            "date": "2027-01-15",
            "dte": 76
          },
          {
            "date": "2027-03-19",
            "dte": 139
          },
          {
            "date": "2027-06-17",
            "dte": 229
          },
          {
            "date": "2027-09-17",
            "dte": 321
          },
          {
            "date": "2028-01-21",
            "dte": 447
          },
          {
            "date": "2028-12-15",
            "dte": 776
          }
        ],
        "long_expiry": "2028-01-21",
        "long_dte": 447,
        "long_iv": 28.82,
        "long_spread_pct": 4.3,
        "long_open_interest": 879,
        "long_liquidity": "good",
        "quote_session": "closed"
      },
      "recommendation": {
        "ticker": "CVX",
        "action": "STAND_ASIDE",
        "headline": "CVX: stand aside — the options are too illiquid to trade: only 78 contracts of open interest at the at-the-money strike (under 100). Premium looks rich, but you would give the edge back on the fills.",
        "detail": "The options are too illiquid to trade: only 78 contracts of open interest at the at-the-money strike (under 100). Premium looks rich, but you would give the edge back on the fills.",
        "confidence": 0.0,
        "premium_state": "rich",
        "premium_score": 94.2,
        "bias": "neutral",
        "bias_strength": "none",
        "plan": {
          "key": "stand_aside",
          "name": "Stand aside",
          "action": "STAND_ASIDE",
          "bias": "neutral",
          "thesis": "The options are too illiquid to trade: only 78 contracts of open interest at the at-the-money strike (under 100). Premium looks rich, but you would give the edge back on the fills.",
          "playbook": "No edge worth paying for. The best trade is often none.",
          "vega": "flat",
          "theta": "flat",
          "risk": "none",
          "legs": [],
          "expiry": null,
          "dte": null,
          "profit_horizon_dte": null,
          "net": null,
          "net_mid": null,
          "net_natural": null,
          "fill_basis": "",
          "max_profit": null,
          "max_loss": null,
          "breakevens": [],
          "profit_zone": "",
          "pop": null,
          "pop_basis": "",
          "credit_to_width": null,
          "manage": {},
          "sizing": {
            "risk_budget": 1000.0,
            "contracts": 0
          },
          "risk_form": {
            "tier": "n/a",
            "note": "No position — nothing to secure."
          }
        },
        "alternatives": [],
        "avoid": [
          {
            "name": "Any multi-leg spread here",
            "reason": "Only 78 contracts of open interest at the at-the-money strike (under 100) — slippage on entry and exit would cost more than the edge."
          }
        ],
        "why": [
          "IV rank 100/100 (rich premium, blended score 94).",
          "That rank is IV against the past year's realized volatility, not past implied volatility (the name has fewer than 120 logged IV readings). Today's IV sits above every realized reading in that range — treat 'rich' here as 'priced above recent realized swings', not 'rich for this name'.",
          "Options price a 6.5% move over the horizon vs 4.1% realized (1.49× IV/HV).",
          "Setup score 50/100, no directional edge.",
          "Term structure in backwardation (-10.4% front→back).",
          "The bullish lean is not traded on: in the backtest it did not call direction better than the base rate, so this is treated as a name with no directional read."
        ],
        "warnings": [
          "Thin options market: only 78 contracts of open interest at the at-the-money strike (under 100) — the bid/ask will eat a multi-leg spread. Use limit orders at mid, or skip it.",
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything."
        ]
      },
      "long_dated": {
        "expiry": "2028-01-21",
        "dte": 447,
        "target_days": 395,
        "iv_annual": 28.82,
        "front_iv_annual": 32.8,
        "liquidity": "good",
        "atm_spread_pct": 4.3,
        "atm_open_interest": 879,
        "premium_state": "rich",
        "bias": "neutral",
        "bias_strength": "none",
        "preferred": null,
        "summary": "5 long-dated spreads price out on the 2028-01-21 expiry, but the scanner has no directional read on this name — and every 13-month spread is a directional bet. Listed for reference, not recommended.",
        "candidates": [
          {
            "key": "leaps_bull_call",
            "name": "LEAPS Bull Call Spread",
            "action": "BUY_PREMIUM",
            "bias": "bullish",
            "thesis": "A year of room for the upside thesis, at a cost that is fixed the day you put it on.",
            "playbook": "Buy a call about 13 months out, sell a higher one in the same expiry. A bullish position with a year to be right and a cost you know on day one — the short leg pays for part of the long one and caps the win.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 230.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 33.825,
                "bid": 33.1,
                "ask": 34.55,
                "iv": 27.41,
                "open_interest": 879,
                "label": "Buy 1× 2028-01-21 230 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 270.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 18.65,
                "bid": 18.1,
                "ask": 19.2,
                "iv": 27.7,
                "open_interest": 870,
                "label": "Sell 1× 2028-01-21 270 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2028-01-21",
            "dte": 447,
            "profit_horizon_dte": null,
            "net": 1560.0,
            "net_mid": 1517.5,
            "net_natural": 1645.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 2440.0,
            "max_loss": 1560.0,
            "breakevens": [
              245.6
            ],
            "profit_zone": "above",
            "pop": 0.364,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "take 50–70% of the maximum profit — the last of it takes months to arrive",
              "profit_target_pct": 60,
              "stop": "cut at −50% of the debit, or sooner if the reason you put it on stops being true",
              "stop_loss_pct": 50,
              "time_stop": "roll or close with ~90 days left; the final quarter is where a long-dated spread loses its remaining time value fastest",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "poor_mans_covered_call",
            "name": "Poor Man's Covered Call",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Own the year cheaply through a deep in-the-money call, and rent the near month out against it every cycle.",
            "playbook": "Buy a deep in-the-money call 13 months out as a cheaper stand-in for 100 shares, then sell a near-dated call against it and roll that short leg each month. Covered-call income on a fraction of the capital — and the long call, not stock, is what secures it.",
            "vega": "long",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 185.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 60.7,
                "bid": 59.0,
                "ask": 62.4,
                "iv": 26.18,
                "open_interest": 497,
                "label": "Buy 1× 2028-01-21 185 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 250.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.74,
                "bid": 1.55,
                "ask": 1.93,
                "iv": 33.71,
                "open_interest": 3249,
                "label": "Sell 1× 2026-11-20 250 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2028-01-21",
            "dte": 447,
            "profit_horizon_dte": 20,
            "net": 5959.0,
            "net_mid": 5896.0,
            "net_natural": 6085.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 541.0,
            "max_loss": 5959.0,
            "breakevens": [
              244.59
            ],
            "profit_zone": "above",
            "pop": null,
            "pop_basis": "",
            "credit_to_width": null,
            "manage": {
              "profit_target": "roll the short call out each month for a fresh credit; take the whole position off at 50–70% of the maximum",
              "profit_target_pct": 60,
              "stop": "cut if the long call loses half its value — the thesis is gone, not just early",
              "stop_loss_pct": 50,
              "time_stop": "roll the long leg with ~90 days left. Never let the short call go to assignment while you still want the long one.",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "option_covered",
              "note": "The short call is secured by the long call, not by shares and not by margin: assignment is covered by exercising or selling the long leg. That is why the whole position can only lose the debit — and why the long leg must never be closed first."
            }
          },
          {
            "key": "leaps_bull_put",
            "name": "LEAPS Bull Put Spread",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Paid up front to be right about a direction over a year, with the loss capped by the long wing — but the capital is committed for that whole year.",
            "playbook": "Sell a long-dated put well below the price, buy a lower one for protection. You collect the credit up front and keep it if the stock holds up — but the capital is committed for a year and the decay arrives mostly at the end.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "put",
                "strike": 185.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 8.4,
                "bid": 7.9,
                "ask": 8.9,
                "iv": 31.13,
                "open_interest": 740,
                "label": "Sell 1× 2028-01-21 185 put",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "put",
                "strike": 165.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 4.75,
                "bid": 4.35,
                "ask": 5.15,
                "iv": 32.24,
                "open_interest": 339,
                "label": "Buy 1× 2028-01-21 165 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2028-01-21",
            "dte": 447,
            "profit_horizon_dte": null,
            "net": -335.0,
            "net_mid": -365.0,
            "net_natural": -275.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 335.0,
            "max_loss": 1665.0,
            "breakevens": [
              181.65
            ],
            "profit_zone": "above",
            "pop": 0.702,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.168,
            "manage": {
              "profit_target": "buy it back at 50% of the credit — usually long before expiry",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~90 days to expiry, before gamma starts to matter",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          },
          {
            "key": "leaps_bear_put",
            "name": "LEAPS Bear Put Spread",
            "action": "BUY_PREMIUM",
            "bias": "bearish",
            "thesis": "A year of room for the downside thesis, at a cost that is fixed the day you put it on.",
            "playbook": "Buy a long-dated put, sell a lower one. The same shape pointed down: a year of room for a thesis, at a defined cost.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "put",
                "strike": 230.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 24.1,
                "bid": 22.9,
                "ask": 25.3,
                "iv": 30.23,
                "open_interest": 136,
                "label": "Buy 1× 2028-01-21 230 put",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "put",
                "strike": 195.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 11.05,
                "bid": 9.8,
                "ask": 12.3,
                "iv": 30.93,
                "open_interest": 760,
                "label": "Sell 1× 2028-01-21 195 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2028-01-21",
            "dte": 447,
            "profit_horizon_dte": null,
            "net": 1386.67,
            "net_mid": 1305.0,
            "net_natural": 1550.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 2113.33,
            "max_loss": 1386.67,
            "breakevens": [
              216.13
            ],
            "profit_zone": "below",
            "pop": 0.487,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "take 50–70% of the maximum profit — the last of it takes months to arrive",
              "profit_target_pct": 60,
              "stop": "cut at −50% of the debit, or sooner if the reason you put it on stops being true",
              "stop_loss_pct": 50,
              "time_stop": "roll or close with ~90 days left; the final quarter is where a long-dated spread loses its remaining time value fastest",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "leaps_bear_call",
            "name": "LEAPS Bear Call Spread",
            "action": "SELL_PREMIUM",
            "bias": "bearish",
            "thesis": "Paid up front to be right about a direction over a year, with the loss capped by the long wing — but the capital is committed for that whole year.",
            "playbook": "Sell a long-dated call well above the price, buy a higher one. The credit is yours if the stock stays under the short strike for the year.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "call",
                "strike": 280.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 16.2,
                "bid": 15.6,
                "ask": 16.8,
                "iv": 28.01,
                "open_interest": 524,
                "label": "Sell 1× 2028-01-21 280 call",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "call",
                "strike": 300.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 11.65,
                "bid": 11.35,
                "ask": 11.95,
                "iv": 27.93,
                "open_interest": 570,
                "label": "Buy 1× 2028-01-21 300 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2028-01-21",
            "dte": 447,
            "profit_horizon_dte": null,
            "net": -425.0,
            "net_mid": -455.0,
            "net_natural": -365.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 425.0,
            "max_loss": 1575.0,
            "breakevens": [
              284.25
            ],
            "profit_zone": "below",
            "pop": 0.793,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.212,
            "manage": {
              "profit_target": "buy it back at 50% of the credit — usually long before expiry",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~90 days to expiry, before gamma starts to matter",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          }
        ],
        "warnings": [
          "IV rank 100 is a front-month reading. A 13-month contract is priced off a flatter part of the volatility surface, so 'cheap' or 'rich' here is a weaker signal than it is on the near expiry — this expiry's own ATM IV is 29%.",
          "About 5 earnings reports fall inside this 447-day expiry. A long-dated spread is priced through all of them; none of them is the trade.",
          "One of these credit spreads collects very little for the risk — the LEAPS Bull Put Spread takes only 17% of its width, and holds the capital for 447 days to do it. Widen the wings or pass.",
          "The Poor Man's Covered Call's max profit below is the conservative case — assigned on the very first short call. Rolling that short leg out each month is where the structure actually earns, and no figure here counts those rolls.",
          "The short legs can be assigned early — most often a short call the day before an ex-dividend date. Know the dividend calendar before you sell one.",
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything."
        ]
      },
      "near_term": {
        "expiry": "2026-11-20",
        "dte": 20,
        "iv_annual": 32.8,
        "liquidity": "poor",
        "atm_spread_pct": 15.9,
        "premium_state": "rich",
        "bias": "neutral",
        "preferred": null,
        "summary": "4 one-direction spreads price out on the 2026-11-20 expiry, but the scanner has no proven directional read on this name, so none is recommended. Each one is a bet the stock goes one way; listed for reference.",
        "candidates": [
          {
            "key": "bull_call_spread",
            "name": "Bull Call Spread",
            "action": "BUY_PREMIUM",
            "bias": "bullish",
            "thesis": "Options are reasonably priced and the break is up — pay a capped premium for a capped move.",
            "playbook": "Buy a call, sell a higher one. A capped, cheaper bullish bet — the short leg pays for part of the long one.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 232.5,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 8.2,
                "bid": 7.55,
                "ask": 8.85,
                "iv": 39.12,
                "open_interest": 78,
                "label": "Buy 1× 2026-11-20 232.5 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 250.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.74,
                "bid": 1.55,
                "ask": 1.93,
                "iv": 33.71,
                "open_interest": 3249,
                "label": "Sell 1× 2026-11-20 250 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": 674.0,
            "net_mid": 646.0,
            "net_natural": 730.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 1076.0,
            "max_loss": 674.0,
            "breakevens": [
              239.24
            ],
            "profit_zone": "above",
            "pop": 0.333,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "close at +50% to +100% of the debit",
              "profit_target_pct": 50,
              "stop": "cut at −50% of the debit",
              "stop_loss_pct": 50,
              "time_stop": "be out with ~7 days to expiry — theta accelerates into the last week",
              "close_by_dte": 7
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "bull_put_spread",
            "name": "Bull Put Spread",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Premium is rich and the lean is up — get paid to be right about a direction you don't need to nail.",
            "playbook": "Sell a put, buy a lower one. You collect credit and win if the stock stays above the short put — a bullish way to be short rich premium.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "put",
                "strike": 212.5,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 0.875,
                "bid": 0.78,
                "ask": 0.97,
                "iv": 30.88,
                "open_interest": 106,
                "label": "Sell 1× 2026-11-20 212.5 put",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "put",
                "strike": 205.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 0.425,
                "bid": 0.32,
                "ask": 0.53,
                "iv": 33.6,
                "open_interest": 114,
                "label": "Buy 1× 2026-11-20 205 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": -38.33,
            "net_mid": -45.0,
            "net_natural": -25.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 38.33,
            "max_loss": 711.67,
            "breakevens": [
              212.12
            ],
            "profit_zone": "above",
            "pop": 0.879,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.051,
            "manage": {
              "profit_target": "buy it back at 50% of the credit received",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~21 days to expiry — gamma risk rises fast after that",
              "close_by_dte": 21
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          },
          {
            "key": "bear_put_spread",
            "name": "Bear Put Spread",
            "action": "BUY_PREMIUM",
            "bias": "bearish",
            "thesis": "Options are reasonably priced and the break is down — pay a capped premium for a capped move.",
            "playbook": "Buy a put, sell a lower one. A capped, cheaper bearish bet.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "put",
                "strike": 232.5,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 6.0,
                "bid": 5.45,
                "ask": 6.55,
                "iv": 26.49,
                "open_interest": 75,
                "label": "Buy 1× 2026-11-20 232.5 put",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "put",
                "strike": 212.5,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 0.875,
                "bid": 0.78,
                "ask": 0.97,
                "iv": 30.88,
                "open_interest": 106,
                "label": "Sell 1× 2026-11-20 212.5 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": 534.0,
            "net_mid": 512.5,
            "net_natural": 577.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 1466.0,
            "max_loss": 534.0,
            "breakevens": [
              227.16
            ],
            "profit_zone": "below",
            "pop": 0.396,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "close at +50% to +100% of the debit",
              "profit_target_pct": 50,
              "stop": "cut at −50% of the debit",
              "stop_loss_pct": 50,
              "time_stop": "be out with ~7 days to expiry — theta accelerates into the last week",
              "close_by_dte": 7
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "bear_call_spread",
            "name": "Bear Call Spread",
            "action": "SELL_PREMIUM",
            "bias": "bearish",
            "thesis": "Premium is rich and the lean is down — get paid to be right about a direction you don't need to nail.",
            "playbook": "Sell a call, buy a higher one. You collect credit and win if the stock stays below the short call.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "call",
                "strike": 250.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.74,
                "bid": 1.55,
                "ask": 1.93,
                "iv": 33.71,
                "open_interest": 3249,
                "label": "Sell 1× 2026-11-20 250 call",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "call",
                "strike": 255.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.005,
                "bid": 0.87,
                "ask": 1.14,
                "iv": 33.07,
                "open_interest": 418,
                "label": "Buy 1× 2026-11-20 255 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": -62.67,
            "net_mid": -73.5,
            "net_natural": -41.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 62.67,
            "max_loss": 437.33,
            "breakevens": [
              250.63
            ],
            "profit_zone": "below",
            "pop": 0.853,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.125,
            "manage": {
              "profit_target": "buy it back at 50% of the credit received",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~21 days to expiry — gamma risk rises fast after that",
              "close_by_dte": 21
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          }
        ],
        "warnings": [
          "The chain is thin: only 78 contracts of open interest at the at-the-money strike (under 100). Expect to give up a lot of the edge on the way in and out.",
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything.",
          "The credit spreads here collect little for the risk — the Bull Put Spread takes only 5% of its width, under the 20% this scanner treats as thin compensation. A fill worse than the one assumed here collects less still."
        ]
      },
      "screen": {
        "compliant": true,
        "industry_ok": true,
        "industry": "Oil & Gas Integrated",
        "debt_ratio": 0.08024947329687501,
        "cash_ratio": 0.01846333033407135,
        "receivables_ratio": null,
        "reasons": [
          "ok"
        ]
      }
    },
    {
      "rank": 11,
      "ticker": "NVDA",
      "price": 213.66,
      "score": 49.0,
      "squeeze_on": false,
      "squeeze_days": 0,
      "squeeze_fired": false,
      "fired_dir": "",
      "bandwidth_pctile": 0.783,
      "hv_annual": 29.4,
      "hv_pctile": 0.175,
      "em_pct": 5.86,
      "horizon_days": 10,
      "down_1sigma": 201.15,
      "up_1sigma": 226.17,
      "down_2sigma": 188.63,
      "up_2sigma": 238.69,
      "lean": "Bearish",
      "note": "",
      "debt_ratio": 0.007864102003097702,
      "cash_ratio": 0.012641857473306248,
      "earnings_in_days": 17.0,
      "implied_move_pct": 9.81,
      "vol_verdict": "rich",
      "iv_annual": 49.27,
      "iv_rank": 100.0,
      "premium_score": 93.3,
      "premium_state": "rich",
      "liquidity": "good",
      "action": "STAND_ASIDE",
      "strategy": "Stand aside",
      "options": {
        "iv_annual": 49.27,
        "hv_annual": 33.8,
        "implied_move_pct": 9.81,
        "hist_move_pct": 5.86,
        "iv_rank": 100.0,
        "iv_percentile": 100.0,
        "iv_rank_basis": "realized",
        "vrp": 15.47,
        "iv_hv_ratio": 1.46,
        "verdict": "rich",
        "premium_score": 93.3,
        "premium_state": "rich",
        "term_slope": -0.1557,
        "term_structure": "backwardation",
        "skew": 31.7,
        "skew_label": "put_skew",
        "atm_spread_pct": 1.6,
        "atm_open_interest": 1697,
        "liquidity": "good",
        "expiry": "2026-11-20",
        "days_to_expiry": 20,
        "expiries": [
          {
            "date": "2026-11-02",
            "dte": 2
          },
          {
            "date": "2026-11-04",
            "dte": 4
          },
          {
            "date": "2026-11-06",
            "dte": 6
          },
          {
            "date": "2026-11-13",
            "dte": 13
          },
          {
            "date": "2026-11-20",
            "dte": 20
          },
          {
            "date": "2026-11-27",
            "dte": 27
          },
          {
            "date": "2026-12-04",
            "dte": 34
          },
          {
            "date": "2026-12-18",
            "dte": 48
          },
          {
            "date": "2027-01-15",
            "dte": 76
          },
          {
            "date": "2027-02-19",
            "dte": 111
          },
          {
            "date": "2027-03-19",
            "dte": 139
          },
          {
            "date": "2027-04-16",
            "dte": 167
          }
        ],
        "long_expiry": "2027-12-17",
        "long_dte": 412,
        "long_iv": 39.22,
        "long_spread_pct": 1.9,
        "long_open_interest": 6468,
        "long_liquidity": "good",
        "quote_session": "closed"
      },
      "recommendation": {
        "ticker": "NVDA",
        "action": "STAND_ASIDE",
        "headline": "NVDA: stand aside — premium looks rich, but on this scanner's record selling it has not paid: On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money.",
        "detail": "Premium looks rich, but on this scanner's record selling it has not paid: On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money.",
        "confidence": 0.0,
        "premium_state": "rich",
        "premium_score": 93.3,
        "bias": "neutral",
        "bias_strength": "none",
        "plan": {
          "key": "stand_aside",
          "name": "Stand aside",
          "action": "STAND_ASIDE",
          "bias": "neutral",
          "thesis": "Premium looks rich, but on this scanner's record selling it has not paid: On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money.",
          "playbook": "No edge worth paying for. The best trade is often none.",
          "vega": "flat",
          "theta": "flat",
          "risk": "none",
          "legs": [],
          "expiry": null,
          "dte": null,
          "profit_horizon_dte": null,
          "net": null,
          "net_mid": null,
          "net_natural": null,
          "fill_basis": "",
          "max_profit": null,
          "max_loss": null,
          "breakevens": [],
          "profit_zone": "",
          "pop": null,
          "pop_basis": "",
          "credit_to_width": null,
          "manage": {},
          "sizing": {
            "risk_budget": 1000.0,
            "contracts": 0
          },
          "risk_form": {
            "tier": "n/a",
            "note": "No position — nothing to secure."
          }
        },
        "alternatives": [],
        "avoid": [
          {
            "name": "Long straddles / strangles",
            "reason": "IV rank 100 and the market is pricing a 9.8% move vs 5.9% realized — you'd be paying up for the move you want."
          },
          {
            "name": "Selling premium (condors, credit spreads)",
            "reason": "Not supported by the backtest: On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money."
          }
        ],
        "why": [
          "IV rank 100/100 (rich premium, blended score 93).",
          "That rank is IV against the past year's realized volatility, not past implied volatility (the name has fewer than 120 logged IV readings). Today's IV sits above every realized reading in that range — treat 'rich' here as 'priced above recent realized swings', not 'rich for this name'.",
          "Options price a 9.8% move over the horizon vs 5.9% realized (1.46× IV/HV).",
          "Setup score 49/100, no directional edge.",
          "Term structure in backwardation (-15.6% front→back).",
          "Puts bid over calls by 31.7 vol points — the put side pays more to sell.",
          "The bearish lean is not traded on: in the backtest it did not call direction better than the base rate, so this is treated as a name with no directional read."
        ],
        "warnings": [
          "Earnings in 17 days, inside this expiry — know the catalyst before entering.",
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything."
        ]
      },
      "long_dated": {
        "expiry": "2027-12-17",
        "dte": 412,
        "target_days": 395,
        "iv_annual": 39.22,
        "front_iv_annual": 49.27,
        "liquidity": "good",
        "atm_spread_pct": 1.9,
        "atm_open_interest": 6468,
        "premium_state": "rich",
        "bias": "neutral",
        "bias_strength": "none",
        "preferred": null,
        "summary": "5 long-dated spreads price out on the 2027-12-17 expiry, but the scanner has no directional read on this name — and every 13-month spread is a directional bet. Listed for reference, not recommended.",
        "candidates": [
          {
            "key": "leaps_bull_call",
            "name": "LEAPS Bull Call Spread",
            "action": "BUY_PREMIUM",
            "bias": "bullish",
            "thesis": "A year of room for the upside thesis, at a cost that is fixed the day you put it on.",
            "playbook": "Buy a call about 13 months out, sell a higher one in the same expiry. A bullish position with a year to be right and a cost you know on day one — the short leg pays for part of the long one and caps the win.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 215.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 34.325,
                "bid": 34.0,
                "ask": 34.65,
                "iv": 34.04,
                "open_interest": 6468,
                "label": "Buy 1× 2027-12-17 215 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 245.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 23.375,
                "bid": 23.1,
                "ask": 23.65,
                "iv": 34.58,
                "open_interest": 693,
                "label": "Sell 1× 2027-12-17 245 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": 1115.0,
            "net_mid": 1095.0,
            "net_natural": 1155.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 1885.0,
            "max_loss": 1115.0,
            "breakevens": [
              226.15
            ],
            "profit_zone": "above",
            "pop": 0.368,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "take 50–70% of the maximum profit — the last of it takes months to arrive",
              "profit_target_pct": 60,
              "stop": "cut at −50% of the debit, or sooner if the reason you put it on stops being true",
              "stop_loss_pct": 50,
              "time_stop": "roll or close with ~90 days left; the final quarter is where a long-dated spread loses its remaining time value fastest",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "poor_mans_covered_call",
            "name": "Poor Man's Covered Call",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Own the year cheaply through a deep in-the-money call, and rent the near month out against it every cycle.",
            "playbook": "Buy a deep in-the-money call 13 months out as a cheaper stand-in for 100 shares, then sell a near-dated call against it and roll that short leg each month. Covered-call income on a fraction of the capital — and the long call, not stock, is what secures it.",
            "vega": "long",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 170.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 58.275,
                "bid": 57.95,
                "ask": 58.6,
                "iv": 31.34,
                "open_interest": 4512,
                "label": "Buy 1× 2027-12-17 170 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 237.5,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 0.885,
                "bid": 0.86,
                "ask": 0.91,
                "iv": 34.79,
                "open_interest": 2139,
                "label": "Sell 1× 2026-11-20 237.5 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": 20,
            "net": 5750.67,
            "net_mid": 5739.0,
            "net_natural": 5774.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 999.33,
            "max_loss": 5750.67,
            "breakevens": [
              227.51
            ],
            "profit_zone": "above",
            "pop": null,
            "pop_basis": "",
            "credit_to_width": null,
            "manage": {
              "profit_target": "roll the short call out each month for a fresh credit; take the whole position off at 50–70% of the maximum",
              "profit_target_pct": 60,
              "stop": "cut if the long call loses half its value — the thesis is gone, not just early",
              "stop_loss_pct": 50,
              "time_stop": "roll the long leg with ~90 days left. Never let the short call go to assignment while you still want the long one.",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "option_covered",
              "note": "The short call is secured by the long call, not by shares and not by margin: assignment is covered by exercising or selling the long leg. That is why the whole position can only lose the debit — and why the long leg must never be closed first."
            }
          },
          {
            "key": "leaps_bull_put",
            "name": "LEAPS Bull Put Spread",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Paid up front to be right about a direction over a year, with the loss capped by the long wing — but the capital is committed for that whole year.",
            "playbook": "Sell a long-dated put well below the price, buy a lower one for protection. You collect the credit up front and keep it if the stock holds up — but the capital is committed for a year and the decay arrives mostly at the end.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "put",
                "strike": 170.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 15.475,
                "bid": 15.2,
                "ask": 15.75,
                "iv": 45.01,
                "open_interest": 10568,
                "label": "Sell 1× 2027-12-17 170 put",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "put",
                "strike": 155.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 10.925,
                "bid": 10.6,
                "ask": 11.25,
                "iv": 45.45,
                "open_interest": 4628,
                "label": "Buy 1× 2027-12-17 155 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": -435.0,
            "net_mid": -455.0,
            "net_natural": -395.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 435.0,
            "max_loss": 1065.0,
            "breakevens": [
              165.65
            ],
            "profit_zone": "above",
            "pop": 0.615,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.29,
            "manage": {
              "profit_target": "buy it back at 50% of the credit — usually long before expiry",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~90 days to expiry, before gamma starts to matter",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          },
          {
            "key": "leaps_bear_put",
            "name": "LEAPS Bear Put Spread",
            "action": "BUY_PREMIUM",
            "bias": "bearish",
            "thesis": "A year of room for the downside thesis, at a cost that is fixed the day you put it on.",
            "playbook": "Buy a long-dated put, sell a lower one. The same shape pointed down: a year of room for a thesis, at a defined cost.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "put",
                "strike": 215.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 35.125,
                "bid": 34.7,
                "ask": 35.55,
                "iv": 44.39,
                "open_interest": 4599,
                "label": "Buy 1× 2027-12-17 215 put",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "put",
                "strike": 180.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 18.9,
                "bid": 18.75,
                "ask": 19.05,
                "iv": 44.55,
                "open_interest": 7949,
                "label": "Sell 1× 2027-12-17 180 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": 1641.67,
            "net_mid": 1622.5,
            "net_natural": 1680.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 1858.33,
            "max_loss": 1641.67,
            "breakevens": [
              198.58
            ],
            "profit_zone": "below",
            "pop": 0.532,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "take 50–70% of the maximum profit — the last of it takes months to arrive",
              "profit_target_pct": 60,
              "stop": "cut at −50% of the debit, or sooner if the reason you put it on stops being true",
              "stop_loss_pct": 50,
              "time_stop": "roll or close with ~90 days left; the final quarter is where a long-dated spread loses its remaining time value fastest",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "leaps_bear_call",
            "name": "LEAPS Bear Call Spread",
            "action": "SELL_PREMIUM",
            "bias": "bearish",
            "thesis": "Paid up front to be right about a direction over a year, with the loss capped by the long wing — but the capital is committed for that whole year.",
            "playbook": "Sell a long-dated call well above the price, buy a higher one. The credit is yours if the stock stays under the short strike for the year.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "call",
                "strike": 255.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 20.375,
                "bid": 20.0,
                "ask": 20.75,
                "iv": 34.57,
                "open_interest": 1488,
                "label": "Sell 1× 2027-12-17 255 call",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "call",
                "strike": 270.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 16.625,
                "bid": 16.25,
                "ask": 17.0,
                "iv": 34.67,
                "open_interest": 10927,
                "label": "Buy 1× 2027-12-17 270 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": -350.0,
            "net_mid": -375.0,
            "net_natural": -300.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 350.0,
            "max_loss": 1150.0,
            "breakevens": [
              258.5
            ],
            "profit_zone": "below",
            "pop": 0.759,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.233,
            "manage": {
              "profit_target": "buy it back at 50% of the credit — usually long before expiry",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~90 days to expiry, before gamma starts to matter",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          }
        ],
        "warnings": [
          "IV rank 100 is a front-month reading. A 13-month contract is priced off a flatter part of the volatility surface, so 'cheap' or 'rich' here is a weaker signal than it is on the near expiry — this expiry's own ATM IV is 39%.",
          "About 5 earnings reports fall inside this 412-day expiry. A long-dated spread is priced through all of them; none of them is the trade.",
          "The Poor Man's Covered Call's max profit below is the conservative case — assigned on the very first short call. Rolling that short leg out each month is where the structure actually earns, and no figure here counts those rolls.",
          "The short legs can be assigned early — most often a short call the day before an ex-dividend date. Know the dividend calendar before you sell one.",
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything."
        ]
      },
      "near_term": {
        "expiry": "2026-11-20",
        "dte": 20,
        "iv_annual": 49.27,
        "liquidity": "good",
        "atm_spread_pct": 1.6,
        "premium_state": "rich",
        "bias": "neutral",
        "preferred": null,
        "summary": "4 one-direction spreads price out on the 2026-11-20 expiry, but the scanner has no proven directional read on this name, so none is recommended. Each one is a bet the stock goes one way; listed for reference.",
        "candidates": [
          {
            "key": "bull_call_spread",
            "name": "Bull Call Spread",
            "action": "BUY_PREMIUM",
            "bias": "bullish",
            "thesis": "Options are reasonably priced and the break is up — pay a capped premium for a capped move.",
            "playbook": "Buy a call, sell a higher one. A capped, cheaper bullish bet — the short leg pays for part of the long one.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 212.5,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 6.2,
                "bid": 6.15,
                "ask": 6.25,
                "iv": 26.91,
                "open_interest": 1697,
                "label": "Buy 1× 2026-11-20 212.5 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 237.5,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 0.885,
                "bid": 0.86,
                "ask": 0.91,
                "iv": 34.79,
                "open_interest": 2139,
                "label": "Sell 1× 2026-11-20 237.5 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": 534.0,
            "net_mid": 531.5,
            "net_natural": 539.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 1966.0,
            "max_loss": 534.0,
            "breakevens": [
              217.84
            ],
            "profit_zone": "above",
            "pop": 0.377,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "close at +50% to +100% of the debit",
              "profit_target_pct": 50,
              "stop": "cut at −50% of the debit",
              "stop_loss_pct": 50,
              "time_stop": "be out with ~7 days to expiry — theta accelerates into the last week",
              "close_by_dte": 7
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "bull_put_spread",
            "name": "Bull Put Spread",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Premium is rich and the lean is up — get paid to be right about a direction you don't need to nail.",
            "playbook": "Sell a put, buy a lower one. You collect credit and win if the stock stays above the short put — a bullish way to be short rich premium.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "put",
                "strike": 190.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 3.975,
                "bid": 3.9,
                "ask": 4.05,
                "iv": 66.49,
                "open_interest": 91220,
                "label": "Sell 1× 2026-11-20 190 put",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "put",
                "strike": 180.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 2.11,
                "bid": 2.09,
                "ask": 2.13,
                "iv": 67.35,
                "open_interest": 33858,
                "label": "Buy 1× 2026-11-20 180 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": -183.33,
            "net_mid": -186.5,
            "net_natural": -177.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 183.33,
            "max_loss": 816.67,
            "breakevens": [
              188.17
            ],
            "profit_zone": "above",
            "pop": 0.77,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.183,
            "manage": {
              "profit_target": "buy it back at 50% of the credit received",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~21 days to expiry — gamma risk rises fast after that",
              "close_by_dte": 21
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          },
          {
            "key": "bear_put_spread",
            "name": "Bear Put Spread",
            "action": "BUY_PREMIUM",
            "bias": "bearish",
            "thesis": "Options are reasonably priced and the break is down — pay a capped premium for a capped move.",
            "playbook": "Buy a put, sell a lower one. A capped, cheaper bearish bet.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "put",
                "strike": 212.5,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 13.425,
                "bid": 13.2,
                "ask": 13.65,
                "iv": 71.64,
                "open_interest": 8578,
                "label": "Buy 1× 2026-11-20 212.5 put",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "put",
                "strike": 190.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 3.975,
                "bid": 3.9,
                "ask": 4.05,
                "iv": 66.49,
                "open_interest": 91220,
                "label": "Sell 1× 2026-11-20 190 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": 955.0,
            "net_mid": 945.0,
            "net_natural": 975.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 1295.0,
            "max_loss": 955.0,
            "breakevens": [
              202.95
            ],
            "profit_zone": "below",
            "pop": 0.404,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "close at +50% to +100% of the debit",
              "profit_target_pct": 50,
              "stop": "cut at −50% of the debit",
              "stop_loss_pct": 50,
              "time_stop": "be out with ~7 days to expiry — theta accelerates into the last week",
              "close_by_dte": 7
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "bear_call_spread",
            "name": "Bear Call Spread",
            "action": "SELL_PREMIUM",
            "bias": "bearish",
            "thesis": "Premium is rich and the lean is down — get paid to be right about a direction you don't need to nail.",
            "playbook": "Sell a call, buy a higher one. You collect credit and win if the stock stays below the short call.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "call",
                "strike": 237.5,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 0.885,
                "bid": 0.86,
                "ask": 0.91,
                "iv": 34.79,
                "open_interest": 2139,
                "label": "Sell 1× 2026-11-20 237.5 call",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "call",
                "strike": 245.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 0.485,
                "bid": 0.47,
                "ask": 0.5,
                "iv": 36.59,
                "open_interest": 47029,
                "label": "Buy 1× 2026-11-20 245 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": -38.67,
            "net_mid": -40.0,
            "net_natural": -36.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 38.67,
            "max_loss": 711.33,
            "breakevens": [
              237.89
            ],
            "profit_zone": "below",
            "pop": 0.913,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.052,
            "manage": {
              "profit_target": "buy it back at 50% of the credit received",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~21 days to expiry — gamma risk rises fast after that",
              "close_by_dte": 21
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          }
        ],
        "warnings": [
          "An earnings report falls inside this 20-day expiry. The gap on the day can jump straight past either strike.",
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything.",
          "The credit spreads here collect little for the risk — the Bear Call Spread takes only 5% of its width, under the 20% this scanner treats as thin compensation. A fill worse than the one assumed here collects less still."
        ]
      },
      "screen": {
        "compliant": true,
        "industry_ok": true,
        "industry": "Semiconductors",
        "debt_ratio": 0.007864102003097702,
        "cash_ratio": 0.012641857473306248,
        "receivables_ratio": null,
        "reasons": [
          "ok"
        ]
      }
    },
    {
      "rank": 12,
      "ticker": "MU",
      "price": 934.27,
      "score": 47.9,
      "squeeze_on": false,
      "squeeze_days": 0,
      "squeeze_fired": false,
      "fired_dir": "",
      "bandwidth_pctile": 0.467,
      "hv_annual": 56.7,
      "hv_pctile": 0.367,
      "em_pct": 11.3,
      "horizon_days": 10,
      "down_1sigma": 828.74,
      "up_1sigma": 1039.8,
      "down_2sigma": 723.21,
      "up_2sigma": 1145.33,
      "lean": "Bearish",
      "note": "",
      "debt_ratio": 0.005173746330678828,
      "cash_ratio": 0.04338994177337162,
      "earnings_in_days": 53.0,
      "implied_move_pct": 12.15,
      "vol_verdict": "fair",
      "iv_annual": 61.0,
      "iv_rank": 14.4,
      "premium_score": 39.2,
      "premium_state": "fair",
      "liquidity": "fair",
      "action": "STAND_ASIDE",
      "strategy": "Stand aside",
      "options": {
        "iv_annual": 61.0,
        "hv_annual": 52.8,
        "implied_move_pct": 12.15,
        "hist_move_pct": 11.3,
        "iv_rank": 14.4,
        "iv_percentile": 2.6,
        "iv_rank_basis": "realized",
        "vrp": 8.16,
        "iv_hv_ratio": 1.15,
        "verdict": "fair",
        "premium_score": 39.2,
        "premium_state": "fair",
        "term_slope": -0.0975,
        "term_structure": "backwardation",
        "skew": 34.11,
        "skew_label": "put_skew",
        "atm_spread_pct": 0.7,
        "atm_open_interest": 336,
        "liquidity": "fair",
        "expiry": "2026-11-20",
        "days_to_expiry": 20,
        "expiries": [
          {
            "date": "2026-11-02",
            "dte": 2
          },
          {
            "date": "2026-11-04",
            "dte": 4
          },
          {
            "date": "2026-11-06",
            "dte": 6
          },
          {
            "date": "2026-11-13",
            "dte": 13
          },
          {
            "date": "2026-11-20",
            "dte": 20
          },
          {
            "date": "2026-11-27",
            "dte": 27
          },
          {
            "date": "2026-12-04",
            "dte": 34
          },
          {
            "date": "2026-12-18",
            "dte": 48
          },
          {
            "date": "2027-01-15",
            "dte": 76
          },
          {
            "date": "2027-02-19",
            "dte": 111
          },
          {
            "date": "2027-03-19",
            "dte": 139
          },
          {
            "date": "2027-04-16",
            "dte": 167
          }
        ],
        "long_expiry": "2027-12-17",
        "long_dte": 412,
        "long_iv": 53.25,
        "long_spread_pct": 6.7,
        "long_open_interest": 195,
        "long_liquidity": "fair",
        "quote_session": "closed"
      },
      "recommendation": {
        "ticker": "MU",
        "action": "STAND_ASIDE",
        "headline": "MU: stand aside — could not build a usable calendar spread from the live chain (missing strikes, or no two-sided market at the strikes this setup needs).",
        "detail": "Could not build a usable calendar spread from the live chain (missing strikes, or no two-sided market at the strikes this setup needs).",
        "confidence": 0.0,
        "premium_state": "fair",
        "premium_score": 39.2,
        "bias": "neutral",
        "bias_strength": "none",
        "plan": {
          "key": "stand_aside",
          "name": "Stand aside",
          "action": "STAND_ASIDE",
          "bias": "neutral",
          "thesis": "Could not build a usable calendar spread from the live chain (missing strikes, or no two-sided market at the strikes this setup needs).",
          "playbook": "No edge worth paying for. The best trade is often none.",
          "vega": "flat",
          "theta": "flat",
          "risk": "none",
          "legs": [],
          "expiry": null,
          "dte": null,
          "profit_horizon_dte": null,
          "net": null,
          "net_mid": null,
          "net_natural": null,
          "fill_basis": "",
          "max_profit": null,
          "max_loss": null,
          "breakevens": [],
          "profit_zone": "",
          "pop": null,
          "pop_basis": "",
          "credit_to_width": null,
          "manage": {},
          "sizing": {
            "risk_budget": 1000.0,
            "contracts": 0
          },
          "risk_form": {
            "tier": "n/a",
            "note": "No position — nothing to secure."
          }
        },
        "alternatives": [],
        "avoid": [
          {
            "name": "Long straddle",
            "reason": "The front month is the expensive part — buying it fights the term structure."
          }
        ],
        "why": [
          "IV rank 14/100 (fair premium, blended score 39).",
          "Options price a 12.2% move over the horizon vs 11.3% realized (1.15× IV/HV).",
          "Setup score 48/100, no directional edge.",
          "Term structure in backwardation (-9.8% front→back).",
          "Puts bid over calls by 34.1 vol points — the put side pays more to sell.",
          "The bearish lean is not traded on: in the backtest it did not call direction better than the base rate, so this is treated as a name with no directional read."
        ],
        "warnings": [
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything."
        ]
      },
      "long_dated": {
        "expiry": "2027-12-17",
        "dte": 412,
        "target_days": 395,
        "iv_annual": 53.25,
        "front_iv_annual": 61.0,
        "liquidity": "fair",
        "atm_spread_pct": 6.7,
        "atm_open_interest": 195,
        "premium_state": "fair",
        "bias": "neutral",
        "bias_strength": "none",
        "preferred": null,
        "summary": "5 long-dated spreads price out on the 2027-12-17 expiry, but the scanner has no directional read on this name — and every 13-month spread is a directional bet. Listed for reference, not recommended.",
        "candidates": [
          {
            "key": "leaps_bull_call",
            "name": "LEAPS Bull Call Spread",
            "action": "BUY_PREMIUM",
            "bias": "bullish",
            "thesis": "A year of room for the upside thesis, at a cost that is fixed the day you put it on.",
            "playbook": "Buy a call about 13 months out, sell a higher one in the same expiry. A bullish position with a year to be right and a cost you know on day one — the short leg pays for part of the long one and caps the win.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 930.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 202.475,
                "bid": 195.7,
                "ask": 209.25,
                "iv": 46.79,
                "open_interest": 195,
                "label": "Buy 1× 2027-12-17 930 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 1070.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 158.15,
                "bid": 153.7,
                "ask": 162.6,
                "iv": 48.62,
                "open_interest": 600,
                "label": "Sell 1× 2027-12-17 1070 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": 4806.67,
            "net_mid": 4432.5,
            "net_natural": 5555.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 9193.33,
            "max_loss": 4806.67,
            "breakevens": [
              978.07
            ],
            "profit_zone": "above",
            "pop": 0.366,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "take 50–70% of the maximum profit — the last of it takes months to arrive",
              "profit_target_pct": 60,
              "stop": "cut at −50% of the debit, or sooner if the reason you put it on stops being true",
              "stop_loss_pct": 50,
              "time_stop": "roll or close with ~90 days left; the final quarter is where a long-dated spread loses its remaining time value fastest",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "poor_mans_covered_call",
            "name": "Poor Man's Covered Call",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Own the year cheaply through a deep in-the-money call, and rent the near month out against it every cycle.",
            "playbook": "Buy a deep in-the-money call 13 months out as a cheaper stand-in for 100 shares, then sell a near-dated call against it and roll that short leg each month. Covered-call income on a fraction of the capital — and the long call, not stock, is what secures it.",
            "vega": "long",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 750.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 283.3,
                "bid": 276.85,
                "ask": 289.75,
                "iv": 43.58,
                "open_interest": 436,
                "label": "Buy 1× 2027-12-17 750 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 1070.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 5.375,
                "bid": 5.3,
                "ask": 5.45,
                "iv": 45.58,
                "open_interest": 2228,
                "label": "Sell 1× 2026-11-20 1070 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": 20,
            "net": 28010.0,
            "net_mid": 27792.5,
            "net_natural": 28445.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 3990.0,
            "max_loss": 28010.0,
            "breakevens": [
              1030.1
            ],
            "profit_zone": "above",
            "pop": null,
            "pop_basis": "",
            "credit_to_width": null,
            "manage": {
              "profit_target": "roll the short call out each month for a fresh credit; take the whole position off at 50–70% of the maximum",
              "profit_target_pct": 60,
              "stop": "cut if the long call loses half its value — the thesis is gone, not just early",
              "stop_loss_pct": 50,
              "time_stop": "roll the long leg with ~90 days left. Never let the short call go to assignment while you still want the long one.",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "option_covered",
              "note": "The short call is secured by the long call, not by shares and not by margin: assignment is covered by exercising or selling the long leg. That is why the whole position can only lose the debit — and why the long leg must never be closed first."
            }
          },
          {
            "key": "leaps_bull_put",
            "name": "LEAPS Bull Put Spread",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Paid up front to be right about a direction over a year, with the loss capped by the long wing — but the capital is committed for that whole year.",
            "playbook": "Sell a long-dated put well below the price, buy a lower one for protection. You collect the credit up front and keep it if the stock holds up — but the capital is committed for a year and the decay arrives mostly at the end.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "put",
                "strike": 750.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 111.925,
                "bid": 104.5,
                "ask": 119.35,
                "iv": 59.11,
                "open_interest": 307,
                "label": "Sell 1× 2027-12-17 750 put",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "put",
                "strike": 690.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 88.75,
                "bid": 85.2,
                "ask": 92.3,
                "iv": 59.68,
                "open_interest": 103,
                "label": "Buy 1× 2027-12-17 690 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": -1951.67,
            "net_mid": -2317.5,
            "net_natural": -1220.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 1951.67,
            "max_loss": 4048.33,
            "breakevens": [
              730.48
            ],
            "profit_zone": "above",
            "pop": 0.529,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.325,
            "manage": {
              "profit_target": "buy it back at 50% of the credit — usually long before expiry",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~90 days to expiry, before gamma starts to matter",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          },
          {
            "key": "leaps_bear_put",
            "name": "LEAPS Bear Put Spread",
            "action": "BUY_PREMIUM",
            "bias": "bearish",
            "thesis": "A year of room for the downside thesis, at a cost that is fixed the day you put it on.",
            "playbook": "Buy a long-dated put, sell a lower one. The same shape pointed down: a year of room for a thesis, at a defined cost.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "put",
                "strike": 930.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 204.9,
                "bid": 198.9,
                "ask": 210.9,
                "iv": 59.71,
                "open_interest": 476,
                "label": "Buy 1× 2027-12-17 930 put",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "put",
                "strike": 790.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 131.225,
                "bid": 125.0,
                "ask": 137.45,
                "iv": 59.48,
                "open_interest": 139,
                "label": "Sell 1× 2027-12-17 790 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": 7775.0,
            "net_mid": 7367.5,
            "net_natural": 8590.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 6225.0,
            "max_loss": 7775.0,
            "breakevens": [
              852.25
            ],
            "profit_zone": "below",
            "pop": 0.568,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "take 50–70% of the maximum profit — the last of it takes months to arrive",
              "profit_target_pct": 60,
              "stop": "cut at −50% of the debit, or sooner if the reason you put it on stops being true",
              "stop_loss_pct": 50,
              "time_stop": "roll or close with ~90 days left; the final quarter is where a long-dated spread loses its remaining time value fastest",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "leaps_bear_call",
            "name": "LEAPS Bear Call Spread",
            "action": "SELL_PREMIUM",
            "bias": "bearish",
            "thesis": "Paid up front to be right about a direction over a year, with the loss capped by the long wing — but the capital is committed for that whole year.",
            "playbook": "Sell a long-dated call well above the price, buy a higher one. The credit is yours if the stock stays under the short strike for the year.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "call",
                "strike": 1120.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 143.35,
                "bid": 140.2,
                "ask": 146.5,
                "iv": 48.7,
                "open_interest": 304,
                "label": "Sell 1× 2027-12-17 1120 call",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "call",
                "strike": 1180.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 128.875,
                "bid": 123.95,
                "ask": 133.8,
                "iv": 49.15,
                "open_interest": 255,
                "label": "Buy 1× 2027-12-17 1180 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": -1178.33,
            "net_mid": -1447.5,
            "net_natural": -640.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 1178.33,
            "max_loss": 4821.67,
            "breakevens": [
              1131.78
            ],
            "profit_zone": "below",
            "pop": 0.735,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.196,
            "manage": {
              "profit_target": "buy it back at 50% of the credit — usually long before expiry",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~90 days to expiry, before gamma starts to matter",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          }
        ],
        "warnings": [
          "IV rank 14 is a front-month reading. A 13-month contract is priced off a flatter part of the volatility surface, so 'cheap' or 'rich' here is a weaker signal than it is on the near expiry — this expiry's own ATM IV is 53%.",
          "About 5 earnings reports fall inside this 412-day expiry. A long-dated spread is priced through all of them; none of them is the trade.",
          "One of these credit spreads collects very little for the risk — the LEAPS Bear Call Spread takes only 20% of its width, and holds the capital for 412 days to do it. Widen the wings or pass.",
          "The Poor Man's Covered Call's max profit below is the conservative case — assigned on the very first short call. Rolling that short leg out each month is where the structure actually earns, and no figure here counts those rolls.",
          "The short legs can be assigned early — most often a short call the day before an ex-dividend date. Know the dividend calendar before you sell one.",
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything."
        ]
      },
      "near_term": {
        "expiry": "2026-11-20",
        "dte": 20,
        "iv_annual": 61.0,
        "liquidity": "fair",
        "atm_spread_pct": 0.7,
        "premium_state": "fair",
        "bias": "neutral",
        "preferred": null,
        "summary": "4 one-direction spreads price out on the 2026-11-20 expiry, but the scanner has no proven directional read on this name, so none is recommended. Each one is a bet the stock goes one way; listed for reference.",
        "candidates": [
          {
            "key": "bull_call_spread",
            "name": "Bull Call Spread",
            "action": "BUY_PREMIUM",
            "bias": "bullish",
            "thesis": "Options are reasonably priced and the break is up — pay a capped premium for a capped move.",
            "playbook": "Buy a call, sell a higher one. A capped, cheaper bullish bet — the short leg pays for part of the long one.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 935.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 29.05,
                "bid": 28.95,
                "ask": 29.15,
                "iv": 32.57,
                "open_interest": 336,
                "label": "Buy 1× 2026-11-20 935 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 1070.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 5.375,
                "bid": 5.3,
                "ask": 5.45,
                "iv": 45.58,
                "open_interest": 2228,
                "label": "Sell 1× 2026-11-20 1070 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": 2373.33,
            "net_mid": 2367.5,
            "net_natural": 2385.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 11126.67,
            "max_loss": 2373.33,
            "breakevens": [
              958.73
            ],
            "profit_zone": "above",
            "pop": 0.363,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "close at +50% to +100% of the debit",
              "profit_target_pct": 50,
              "stop": "cut at −50% of the debit",
              "stop_loss_pct": 50,
              "time_stop": "be out with ~7 days to expiry — theta accelerates into the last week",
              "close_by_dte": 7
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "bull_put_spread",
            "name": "Bull Put Spread",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Premium is rich and the lean is up — get paid to be right about a direction you don't need to nail.",
            "playbook": "Sell a put, buy a lower one. You collect credit and win if the stock stays above the short put — a bullish way to be short rich premium.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "put",
                "strike": 800.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 17.875,
                "bid": 17.75,
                "ask": 18.0,
                "iv": 79.69,
                "open_interest": 6940,
                "label": "Sell 1× 2026-11-20 800 put",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "put",
                "strike": 750.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 9.125,
                "bid": 9.05,
                "ask": 9.2,
                "iv": 80.23,
                "open_interest": 8539,
                "label": "Buy 1× 2026-11-20 750 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": -868.33,
            "net_mid": -875.0,
            "net_natural": -855.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 868.33,
            "max_loss": 4131.67,
            "breakevens": [
              791.32
            ],
            "profit_zone": "above",
            "pop": 0.788,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.174,
            "manage": {
              "profit_target": "buy it back at 50% of the credit received",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~21 days to expiry — gamma risk rises fast after that",
              "close_by_dte": 21
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          },
          {
            "key": "bear_put_spread",
            "name": "Bear Put Spread",
            "action": "BUY_PREMIUM",
            "bias": "bearish",
            "thesis": "Options are reasonably priced and the break is down — pay a capped premium for a capped move.",
            "playbook": "Buy a put, sell a lower one. A capped, cheaper bearish bet.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "put",
                "strike": 935.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 77.175,
                "bid": 76.85,
                "ask": 77.5,
                "iv": 89.43,
                "open_interest": 130,
                "label": "Buy 1× 2026-11-20 935 put",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "put",
                "strike": 800.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 17.875,
                "bid": 17.75,
                "ask": 18.0,
                "iv": 79.69,
                "open_interest": 6940,
                "label": "Sell 1× 2026-11-20 800 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": 5945.0,
            "net_mid": 5930.0,
            "net_natural": 5975.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 7555.0,
            "max_loss": 5945.0,
            "breakevens": [
              875.55
            ],
            "profit_zone": "below",
            "pop": 0.408,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "close at +50% to +100% of the debit",
              "profit_target_pct": 50,
              "stop": "cut at −50% of the debit",
              "stop_loss_pct": 50,
              "time_stop": "be out with ~7 days to expiry — theta accelerates into the last week",
              "close_by_dte": 7
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "bear_call_spread",
            "name": "Bear Call Spread",
            "action": "SELL_PREMIUM",
            "bias": "bearish",
            "thesis": "Premium is rich and the lean is down — get paid to be right about a direction you don't need to nail.",
            "playbook": "Sell a call, buy a higher one. You collect credit and win if the stock stays below the short call.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "call",
                "strike": 1070.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 5.375,
                "bid": 5.3,
                "ask": 5.45,
                "iv": 45.58,
                "open_interest": 2228,
                "label": "Sell 1× 2026-11-20 1070 call",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "call",
                "strike": 1120.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 3.325,
                "bid": 3.25,
                "ask": 3.4,
                "iv": 50.2,
                "open_interest": 2146,
                "label": "Buy 1× 2026-11-20 1120 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": -200.0,
            "net_mid": -205.0,
            "net_natural": -190.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 200.0,
            "max_loss": 4800.0,
            "breakevens": [
              1072.0
            ],
            "profit_zone": "below",
            "pop": 0.91,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.04,
            "manage": {
              "profit_target": "buy it back at 50% of the credit received",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~21 days to expiry — gamma risk rises fast after that",
              "close_by_dte": 21
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          }
        ],
        "warnings": [
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything.",
          "The credit spreads here collect little for the risk — the Bear Call Spread takes only 4% of its width, under the 20% this scanner treats as thin compensation. A fill worse than the one assumed here collects less still."
        ]
      },
      "screen": {
        "compliant": true,
        "industry_ok": true,
        "industry": "Semiconductors",
        "debt_ratio": 0.005173746330678828,
        "cash_ratio": 0.04338994177337162,
        "receivables_ratio": null,
        "reasons": [
          "ok"
        ]
      }
    },
    {
      "rank": 13,
      "ticker": "ABBV",
      "price": 290.79,
      "score": 45.7,
      "squeeze_on": false,
      "squeeze_days": 0,
      "squeeze_fired": false,
      "fired_dir": "",
      "bandwidth_pctile": 0.792,
      "hv_annual": 20.2,
      "hv_pctile": 0.233,
      "em_pct": 4.02,
      "horizon_days": 10,
      "down_1sigma": 279.1,
      "up_1sigma": 302.48,
      "down_2sigma": 267.41,
      "up_2sigma": 314.17,
      "lean": "Bullish",
      "note": "",
      "debt_ratio": 0.13602818233438366,
      "cash_ratio": 0.012605898730858016,
      "earnings_in_days": null,
      "implied_move_pct": 6.14,
      "vol_verdict": "rich",
      "iv_annual": 30.8,
      "iv_rank": 100.0,
      "premium_score": 96.8,
      "premium_state": "rich",
      "liquidity": "good",
      "action": "STAND_ASIDE",
      "strategy": "Stand aside",
      "options": {
        "iv_annual": 30.8,
        "hv_annual": 19.7,
        "implied_move_pct": 6.14,
        "hist_move_pct": 4.02,
        "iv_rank": 100.0,
        "iv_percentile": 100.0,
        "iv_rank_basis": "realized",
        "vrp": 11.15,
        "iv_hv_ratio": 1.57,
        "verdict": "rich",
        "premium_score": 96.8,
        "premium_state": "rich",
        "term_slope": -0.0893,
        "term_structure": "backwardation",
        "skew": -2.25,
        "skew_label": "balanced",
        "atm_spread_pct": 11.9,
        "atm_open_interest": 9246,
        "liquidity": "good",
        "expiry": "2026-11-20",
        "days_to_expiry": 20,
        "expiries": [
          {
            "date": "2026-11-06",
            "dte": 6
          },
          {
            "date": "2026-11-13",
            "dte": 13
          },
          {
            "date": "2026-11-20",
            "dte": 20
          },
          {
            "date": "2026-11-27",
            "dte": 27
          },
          {
            "date": "2026-12-04",
            "dte": 34
          },
          {
            "date": "2026-12-18",
            "dte": 48
          },
          {
            "date": "2027-01-15",
            "dte": 76
          },
          {
            "date": "2027-02-19",
            "dte": 111
          },
          {
            "date": "2027-03-19",
            "dte": 139
          },
          {
            "date": "2027-05-21",
            "dte": 202
          },
          {
            "date": "2027-06-17",
            "dte": 229
          },
          {
            "date": "2027-09-17",
            "dte": 321
          }
        ],
        "long_expiry": "2028-01-21",
        "long_dte": 447,
        "long_iv": 30.05,
        "long_spread_pct": 7.1,
        "long_open_interest": 352,
        "long_liquidity": "fair",
        "quote_session": "closed"
      },
      "recommendation": {
        "ticker": "ABBV",
        "action": "STAND_ASIDE",
        "headline": "ABBV: stand aside — premium looks rich, but on this scanner's record selling it has not paid: On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money.",
        "detail": "Premium looks rich, but on this scanner's record selling it has not paid: On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money.",
        "confidence": 0.0,
        "premium_state": "rich",
        "premium_score": 96.8,
        "bias": "neutral",
        "bias_strength": "none",
        "plan": {
          "key": "stand_aside",
          "name": "Stand aside",
          "action": "STAND_ASIDE",
          "bias": "neutral",
          "thesis": "Premium looks rich, but on this scanner's record selling it has not paid: On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money.",
          "playbook": "No edge worth paying for. The best trade is often none.",
          "vega": "flat",
          "theta": "flat",
          "risk": "none",
          "legs": [],
          "expiry": null,
          "dte": null,
          "profit_horizon_dte": null,
          "net": null,
          "net_mid": null,
          "net_natural": null,
          "fill_basis": "",
          "max_profit": null,
          "max_loss": null,
          "breakevens": [],
          "profit_zone": "",
          "pop": null,
          "pop_basis": "",
          "credit_to_width": null,
          "manage": {},
          "sizing": {
            "risk_budget": 1000.0,
            "contracts": 0
          },
          "risk_form": {
            "tier": "n/a",
            "note": "No position — nothing to secure."
          }
        },
        "alternatives": [],
        "avoid": [
          {
            "name": "Long straddles / strangles",
            "reason": "IV rank 100 and the market is pricing a 6.1% move vs 4.0% realized — you'd be paying up for the move you want."
          },
          {
            "name": "Selling premium (condors, credit spreads)",
            "reason": "Not supported by the backtest: On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money."
          }
        ],
        "why": [
          "IV rank 100/100 (rich premium, blended score 97).",
          "That rank is IV against the past year's realized volatility, not past implied volatility (the name has fewer than 120 logged IV readings). Today's IV sits above every realized reading in that range — treat 'rich' here as 'priced above recent realized swings', not 'rich for this name'.",
          "Options price a 6.1% move over the horizon vs 4.0% realized (1.57× IV/HV).",
          "Setup score 46/100, no directional edge.",
          "Term structure in backwardation (-8.9% front→back).",
          "The bullish lean is not traded on: in the backtest it did not call direction better than the base rate, so this is treated as a name with no directional read."
        ],
        "warnings": [
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything."
        ]
      },
      "long_dated": {
        "expiry": "2028-01-21",
        "dte": 447,
        "target_days": 395,
        "iv_annual": 30.05,
        "front_iv_annual": 30.8,
        "liquidity": "fair",
        "atm_spread_pct": 7.1,
        "atm_open_interest": 352,
        "premium_state": "rich",
        "bias": "neutral",
        "bias_strength": "none",
        "preferred": null,
        "summary": "5 long-dated spreads price out on the 2028-01-21 expiry, but the scanner has no directional read on this name — and every 13-month spread is a directional bet. Listed for reference, not recommended.",
        "candidates": [
          {
            "key": "leaps_bull_call",
            "name": "LEAPS Bull Call Spread",
            "action": "BUY_PREMIUM",
            "bias": "bullish",
            "thesis": "A year of room for the upside thesis, at a cost that is fixed the day you put it on.",
            "playbook": "Buy a call about 13 months out, sell a higher one in the same expiry. A bullish position with a year to be right and a cost you know on day one — the short leg pays for part of the long one and caps the win.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 290.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 43.95,
                "bid": 42.4,
                "ask": 45.5,
                "iv": 29.02,
                "open_interest": 352,
                "label": "Buy 1× 2028-01-21 290 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 330.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 25.8,
                "bid": 24.5,
                "ask": 27.1,
                "iv": 27.31,
                "open_interest": 144,
                "label": "Sell 1× 2028-01-21 330 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2028-01-21",
            "dte": 447,
            "profit_horizon_dte": null,
            "net": 1910.0,
            "net_mid": 1815.0,
            "net_natural": 2100.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 2090.0,
            "max_loss": 1910.0,
            "breakevens": [
              309.1
            ],
            "profit_zone": "above",
            "pop": 0.363,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "take 50–70% of the maximum profit — the last of it takes months to arrive",
              "profit_target_pct": 60,
              "stop": "cut at −50% of the debit, or sooner if the reason you put it on stops being true",
              "stop_loss_pct": 50,
              "time_stop": "roll or close with ~90 days left; the final quarter is where a long-dated spread loses its remaining time value fastest",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "poor_mans_covered_call",
            "name": "Poor Man's Covered Call",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Own the year cheaply through a deep in-the-money call, and rent the near month out against it every cycle.",
            "playbook": "Buy a deep in-the-money call 13 months out as a cheaper stand-in for 100 shares, then sell a near-dated call against it and roll that short leg each month. Covered-call income on a fraction of the capital — and the long call, not stock, is what secures it.",
            "vega": "long",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 230.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 81.3,
                "bid": 79.7,
                "ask": 82.9,
                "iv": 30.58,
                "open_interest": 384,
                "label": "Buy 1× 2028-01-21 230 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 310.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 2.645,
                "bid": 2.41,
                "ask": 2.88,
                "iv": 32.31,
                "open_interest": 947,
                "label": "Sell 1× 2026-11-20 310 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2028-01-21",
            "dte": 447,
            "profit_horizon_dte": 20,
            "net": 7926.67,
            "net_mid": 7865.5,
            "net_natural": 8049.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 73.33,
            "max_loss": 7926.67,
            "breakevens": [
              309.27
            ],
            "profit_zone": "above",
            "pop": null,
            "pop_basis": "",
            "credit_to_width": null,
            "manage": {
              "profit_target": "roll the short call out each month for a fresh credit; take the whole position off at 50–70% of the maximum",
              "profit_target_pct": 60,
              "stop": "cut if the long call loses half its value — the thesis is gone, not just early",
              "stop_loss_pct": 50,
              "time_stop": "roll the long leg with ~90 days left. Never let the short call go to assignment while you still want the long one.",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "option_covered",
              "note": "The short call is secured by the long call, not by shares and not by margin: assignment is covered by exercising or selling the long leg. That is why the whole position can only lose the debit — and why the long leg must never be closed first."
            }
          },
          {
            "key": "leaps_bull_put",
            "name": "LEAPS Bull Put Spread",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Paid up front to be right about a direction over a year, with the loss capped by the long wing — but the capital is committed for that whole year.",
            "playbook": "Sell a long-dated put well below the price, buy a lower one for protection. You collect the credit up front and keep it if the stock holds up — but the capital is committed for a year and the decay arrives mostly at the end.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "put",
                "strike": 230.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 11.1,
                "bid": 10.15,
                "ask": 12.05,
                "iv": 32.58,
                "open_interest": 476,
                "label": "Sell 1× 2028-01-21 230 put",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "put",
                "strike": 210.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 8.025,
                "bid": 6.6,
                "ask": 9.45,
                "iv": 34.75,
                "open_interest": 269,
                "label": "Buy 1× 2028-01-21 210 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2028-01-21",
            "dte": 447,
            "profit_horizon_dte": null,
            "net": -228.33,
            "net_mid": -307.5,
            "net_natural": -70.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 228.33,
            "max_loss": 1771.67,
            "breakevens": [
              227.72
            ],
            "profit_zone": "above",
            "pop": 0.691,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.114,
            "manage": {
              "profit_target": "buy it back at 50% of the credit — usually long before expiry",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~90 days to expiry, before gamma starts to matter",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          },
          {
            "key": "leaps_bear_put",
            "name": "LEAPS Bear Put Spread",
            "action": "BUY_PREMIUM",
            "bias": "bearish",
            "thesis": "A year of room for the downside thesis, at a cost that is fixed the day you put it on.",
            "playbook": "Buy a long-dated put, sell a lower one. The same shape pointed down: a year of room for a thesis, at a defined cost.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "put",
                "strike": 290.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 31.825,
                "bid": 29.8,
                "ask": 33.85,
                "iv": 31.09,
                "open_interest": 187,
                "label": "Buy 1× 2028-01-21 290 put",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "put",
                "strike": 250.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 16.3,
                "bid": 15.05,
                "ask": 17.55,
                "iv": 31.81,
                "open_interest": 278,
                "label": "Sell 1× 2028-01-21 250 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2028-01-21",
            "dte": 447,
            "profit_horizon_dte": null,
            "net": 1661.67,
            "net_mid": 1552.5,
            "net_natural": 1880.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 2338.33,
            "max_loss": 1661.67,
            "breakevens": [
              273.38
            ],
            "profit_zone": "below",
            "pop": 0.498,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "take 50–70% of the maximum profit — the last of it takes months to arrive",
              "profit_target_pct": 60,
              "stop": "cut at −50% of the debit, or sooner if the reason you put it on stops being true",
              "stop_loss_pct": 50,
              "time_stop": "roll or close with ~90 days left; the final quarter is where a long-dated spread loses its remaining time value fastest",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "leaps_bear_call",
            "name": "LEAPS Bear Call Spread",
            "action": "SELL_PREMIUM",
            "bias": "bearish",
            "thesis": "Paid up front to be right about a direction over a year, with the loss capped by the long wing — but the capital is committed for that whole year.",
            "playbook": "Sell a long-dated call well above the price, buy a higher one. The credit is yours if the stock stays under the short strike for the year.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "call",
                "strike": 350.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 20.05,
                "bid": 18.0,
                "ask": 22.1,
                "iv": 27.39,
                "open_interest": 815,
                "label": "Sell 1× 2028-01-21 350 call",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "call",
                "strike": 370.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 15.025,
                "bid": 13.6,
                "ask": 16.45,
                "iv": 27.06,
                "open_interest": 103,
                "label": "Buy 1× 2028-01-21 370 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2028-01-21",
            "dte": 447,
            "profit_horizon_dte": null,
            "net": -386.67,
            "net_mid": -502.5,
            "net_natural": -155.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 386.67,
            "max_loss": 1613.33,
            "breakevens": [
              353.87
            ],
            "profit_zone": "below",
            "pop": 0.788,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.193,
            "manage": {
              "profit_target": "buy it back at 50% of the credit — usually long before expiry",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~90 days to expiry, before gamma starts to matter",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          }
        ],
        "warnings": [
          "IV rank 100 is a front-month reading. A 13-month contract is priced off a flatter part of the volatility surface, so 'cheap' or 'rich' here is a weaker signal than it is on the near expiry — this expiry's own ATM IV is 30%.",
          "About 5 earnings reports fall inside this 447-day expiry. A long-dated spread is priced through all of them; none of them is the trade.",
          "Some of these credit spreads collect very little for the risk — the LEAPS Bull Put Spread takes only 11% of its width, and holds the capital for 447 days to do it. Widen the wings or pass.",
          "The Poor Man's Covered Call's max profit below is the conservative case — assigned on the very first short call. Rolling that short leg out each month is where the structure actually earns, and no figure here counts those rolls.",
          "The short legs can be assigned early — most often a short call the day before an ex-dividend date. Know the dividend calendar before you sell one.",
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything."
        ]
      },
      "near_term": {
        "expiry": "2026-11-20",
        "dte": 20,
        "iv_annual": 30.8,
        "liquidity": "good",
        "atm_spread_pct": 11.9,
        "premium_state": "rich",
        "bias": "neutral",
        "preferred": null,
        "summary": "4 one-direction spreads price out on the 2026-11-20 expiry, but the scanner has no proven directional read on this name, so none is recommended. Each one is a bet the stock goes one way; listed for reference.",
        "candidates": [
          {
            "key": "bull_call_spread",
            "name": "Bull Call Spread",
            "action": "BUY_PREMIUM",
            "bias": "bullish",
            "thesis": "Options are reasonably priced and the break is up — pay a capped premium for a capped move.",
            "playbook": "Buy a call, sell a higher one. A capped, cheaper bullish bet — the short leg pays for part of the long one.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 290.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 10.95,
                "bid": 10.3,
                "ask": 11.6,
                "iv": 37.75,
                "open_interest": 9246,
                "label": "Buy 1× 2026-11-20 290 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 310.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 2.645,
                "bid": 2.41,
                "ask": 2.88,
                "iv": 32.31,
                "open_interest": 947,
                "label": "Sell 1× 2026-11-20 310 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": 860.0,
            "net_mid": 830.5,
            "net_natural": 919.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 1140.0,
            "max_loss": 860.0,
            "breakevens": [
              298.6
            ],
            "profit_zone": "above",
            "pop": 0.356,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "close at +50% to +100% of the debit",
              "profit_target_pct": 50,
              "stop": "cut at −50% of the debit",
              "stop_loss_pct": 50,
              "time_stop": "be out with ~7 days to expiry — theta accelerates into the last week",
              "close_by_dte": 7
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "bull_put_spread",
            "name": "Bull Put Spread",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Premium is rich and the lean is up — get paid to be right about a direction you don't need to nail.",
            "playbook": "Sell a put, buy a lower one. You collect credit and win if the stock stays above the short put — a bullish way to be short rich premium.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "put",
                "strike": 270.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.39,
                "bid": 1.0,
                "ask": 1.78,
                "iv": 30.06,
                "open_interest": 764,
                "label": "Sell 1× 2026-11-20 270 put",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "put",
                "strike": 262.5,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 0.62,
                "bid": 0.38,
                "ask": 0.86,
                "iv": 30.43,
                "open_interest": 79,
                "label": "Buy 1× 2026-11-20 262.5 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": -56.0,
            "net_mid": -77.0,
            "net_natural": -14.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 56.0,
            "max_loss": 694.0,
            "breakevens": [
              269.44
            ],
            "profit_zone": "above",
            "pop": 0.853,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.075,
            "manage": {
              "profit_target": "buy it back at 50% of the credit received",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~21 days to expiry — gamma risk rises fast after that",
              "close_by_dte": 21
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          },
          {
            "key": "bear_put_spread",
            "name": "Bear Put Spread",
            "action": "BUY_PREMIUM",
            "bias": "bearish",
            "thesis": "Options are reasonably priced and the break is down — pay a capped premium for a capped move.",
            "playbook": "Buy a put, sell a lower one. A capped, cheaper bearish bet.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "put",
                "strike": 290.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 5.775,
                "bid": 4.9,
                "ask": 6.65,
                "iv": 23.86,
                "open_interest": 218,
                "label": "Buy 1× 2026-11-20 290 put",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "put",
                "strike": 270.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.39,
                "bid": 1.0,
                "ask": 1.78,
                "iv": 30.06,
                "open_interest": 764,
                "label": "Sell 1× 2026-11-20 270 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": 480.67,
            "net_mid": 438.5,
            "net_natural": 565.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 1519.33,
            "max_loss": 480.67,
            "breakevens": [
              285.19
            ],
            "profit_zone": "below",
            "pop": 0.382,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "close at +50% to +100% of the debit",
              "profit_target_pct": 50,
              "stop": "cut at −50% of the debit",
              "stop_loss_pct": 50,
              "time_stop": "be out with ~7 days to expiry — theta accelerates into the last week",
              "close_by_dte": 7
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "bear_call_spread",
            "name": "Bear Call Spread",
            "action": "SELL_PREMIUM",
            "bias": "bearish",
            "thesis": "Premium is rich and the lean is down — get paid to be right about a direction you don't need to nail.",
            "playbook": "Sell a call, buy a higher one. You collect credit and win if the stock stays below the short call.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "call",
                "strike": 310.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 2.645,
                "bid": 2.41,
                "ask": 2.88,
                "iv": 32.31,
                "open_interest": 947,
                "label": "Sell 1× 2026-11-20 310 call",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "call",
                "strike": 320.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 0.97,
                "bid": 0.69,
                "ask": 1.25,
                "iv": 30.51,
                "open_interest": 1200,
                "label": "Buy 1× 2026-11-20 320 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": -150.33,
            "net_mid": -167.5,
            "net_natural": -116.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 150.33,
            "max_loss": 849.67,
            "breakevens": [
              311.5
            ],
            "profit_zone": "below",
            "pop": 0.828,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.15,
            "manage": {
              "profit_target": "buy it back at 50% of the credit received",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~21 days to expiry — gamma risk rises fast after that",
              "close_by_dte": 21
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          }
        ],
        "warnings": [
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything.",
          "The credit spreads here collect little for the risk — the Bull Put Spread takes only 8% of its width, under the 20% this scanner treats as thin compensation. A fill worse than the one assumed here collects less still."
        ]
      },
      "screen": {
        "compliant": true,
        "industry_ok": true,
        "industry": "Drug Manufacturers - General",
        "debt_ratio": 0.13602818233438366,
        "cash_ratio": 0.012605898730858016,
        "receivables_ratio": null,
        "reasons": [
          "ok"
        ]
      }
    },
    {
      "rank": 14,
      "ticker": "TXN",
      "price": 312.94,
      "score": 43.6,
      "squeeze_on": false,
      "squeeze_days": 0,
      "squeeze_fired": false,
      "fired_dir": "",
      "bandwidth_pctile": 0.65,
      "hv_annual": 32.8,
      "hv_pctile": 0.35,
      "em_pct": 6.52,
      "horizon_days": 10,
      "down_1sigma": 292.52,
      "up_1sigma": 333.36,
      "down_2sigma": 272.11,
      "up_2sigma": 353.77,
      "lean": "Bullish",
      "note": "",
      "debt_ratio": 0.04928333473717669,
      "cash_ratio": 0.029602722852488984,
      "earnings_in_days": null,
      "implied_move_pct": 9.04,
      "vol_verdict": "rich",
      "iv_annual": 45.4,
      "iv_rank": 49.0,
      "premium_score": 73.2,
      "premium_state": "rich",
      "liquidity": "fair",
      "action": "STAND_ASIDE",
      "strategy": "Stand aside",
      "options": {
        "iv_annual": 45.4,
        "hv_annual": 29.3,
        "implied_move_pct": 9.04,
        "hist_move_pct": 6.52,
        "iv_rank": 49.0,
        "iv_percentile": 50.3,
        "iv_rank_basis": "realized",
        "vrp": 16.08,
        "iv_hv_ratio": 1.55,
        "verdict": "rich",
        "premium_score": 73.2,
        "premium_state": "rich",
        "term_slope": -0.0707,
        "term_structure": "backwardation",
        "skew": 28.25,
        "skew_label": "put_skew",
        "atm_spread_pct": 37.6,
        "atm_open_interest": 223,
        "liquidity": "fair",
        "expiry": "2026-11-20",
        "days_to_expiry": 20,
        "expiries": [
          {
            "date": "2026-11-06",
            "dte": 6
          },
          {
            "date": "2026-11-13",
            "dte": 13
          },
          {
            "date": "2026-11-20",
            "dte": 20
          },
          {
            "date": "2026-11-27",
            "dte": 27
          },
          {
            "date": "2026-12-04",
            "dte": 34
          },
          {
            "date": "2026-12-18",
            "dte": 48
          },
          {
            "date": "2027-01-15",
            "dte": 76
          },
          {
            "date": "2027-02-19",
            "dte": 111
          },
          {
            "date": "2027-03-19",
            "dte": 139
          },
          {
            "date": "2027-04-16",
            "dte": 167
          },
          {
            "date": "2027-06-17",
            "dte": 229
          },
          {
            "date": "2027-09-17",
            "dte": 321
          }
        ],
        "long_expiry": "2028-01-21",
        "long_dte": 447,
        "long_iv": 40.98,
        "long_spread_pct": 7.4,
        "long_open_interest": 267,
        "long_liquidity": "fair",
        "quote_session": "closed"
      },
      "recommendation": {
        "ticker": "TXN",
        "action": "STAND_ASIDE",
        "headline": "TXN: stand aside — premium looks rich, but on this scanner's record selling it has not paid: On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money.",
        "detail": "Premium looks rich, but on this scanner's record selling it has not paid: On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money.",
        "confidence": 0.0,
        "premium_state": "rich",
        "premium_score": 73.2,
        "bias": "neutral",
        "bias_strength": "none",
        "plan": {
          "key": "stand_aside",
          "name": "Stand aside",
          "action": "STAND_ASIDE",
          "bias": "neutral",
          "thesis": "Premium looks rich, but on this scanner's record selling it has not paid: On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money.",
          "playbook": "No edge worth paying for. The best trade is often none.",
          "vega": "flat",
          "theta": "flat",
          "risk": "none",
          "legs": [],
          "expiry": null,
          "dte": null,
          "profit_horizon_dte": null,
          "net": null,
          "net_mid": null,
          "net_natural": null,
          "fill_basis": "",
          "max_profit": null,
          "max_loss": null,
          "breakevens": [],
          "profit_zone": "",
          "pop": null,
          "pop_basis": "",
          "credit_to_width": null,
          "manage": {},
          "sizing": {
            "risk_budget": 1000.0,
            "contracts": 0
          },
          "risk_form": {
            "tier": "n/a",
            "note": "No position — nothing to secure."
          }
        },
        "alternatives": [],
        "avoid": [
          {
            "name": "Long straddles / strangles",
            "reason": "IV rank 49 and the market is pricing a 9.0% move vs 6.5% realized — you'd be paying up for the move you want."
          },
          {
            "name": "Selling premium (condors, credit spreads)",
            "reason": "Not supported by the backtest: On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money."
          }
        ],
        "why": [
          "IV rank 49/100 (rich premium, blended score 73).",
          "Options price a 9.0% move over the horizon vs 6.5% realized (1.55× IV/HV).",
          "Setup score 44/100, no directional edge.",
          "Term structure in backwardation (-7.1% front→back).",
          "Puts bid over calls by 28.2 vol points — the put side pays more to sell.",
          "The bullish lean is not traded on: in the backtest it did not call direction better than the base rate, so this is treated as a name with no directional read."
        ],
        "warnings": [
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything."
        ]
      },
      "long_dated": {
        "expiry": "2028-01-21",
        "dte": 447,
        "target_days": 395,
        "iv_annual": 40.98,
        "front_iv_annual": 45.4,
        "liquidity": "fair",
        "atm_spread_pct": 7.4,
        "atm_open_interest": 267,
        "premium_state": "rich",
        "bias": "neutral",
        "bias_strength": "none",
        "preferred": null,
        "summary": "5 long-dated spreads price out on the 2028-01-21 expiry, but the scanner has no directional read on this name — and every 13-month spread is a directional bet. Listed for reference, not recommended.",
        "candidates": [
          {
            "key": "leaps_bull_call",
            "name": "LEAPS Bull Call Spread",
            "action": "BUY_PREMIUM",
            "bias": "bullish",
            "thesis": "A year of room for the upside thesis, at a cost that is fixed the day you put it on.",
            "playbook": "Buy a call about 13 months out, sell a higher one in the same expiry. A bullish position with a year to be right and a cost you know on day one — the short leg pays for part of the long one and caps the win.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 310.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 55.025,
                "bid": 53.0,
                "ask": 57.05,
                "iv": 34.18,
                "open_interest": 267,
                "label": "Buy 1× 2028-01-21 310 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 360.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 38.175,
                "bid": 36.65,
                "ask": 39.7,
                "iv": 36.0,
                "open_interest": 342,
                "label": "Sell 1× 2028-01-21 360 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2028-01-21",
            "dte": 447,
            "profit_horizon_dte": null,
            "net": 1803.33,
            "net_mid": 1685.0,
            "net_natural": 2040.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 3196.67,
            "max_loss": 1803.33,
            "breakevens": [
              328.03
            ],
            "profit_zone": "above",
            "pop": 0.376,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "take 50–70% of the maximum profit — the last of it takes months to arrive",
              "profit_target_pct": 60,
              "stop": "cut at −50% of the debit, or sooner if the reason you put it on stops being true",
              "stop_loss_pct": 50,
              "time_stop": "roll or close with ~90 days left; the final quarter is where a long-dated spread loses its remaining time value fastest",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "poor_mans_covered_call",
            "name": "Poor Man's Covered Call",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Own the year cheaply through a deep in-the-money call, and rent the near month out against it every cycle.",
            "playbook": "Buy a deep in-the-money call 13 months out as a cheaper stand-in for 100 shares, then sell a near-dated call against it and roll that short leg each month. Covered-call income on a fraction of the capital — and the long call, not stock, is what secures it.",
            "vega": "long",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 250.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 85.25,
                "bid": 83.0,
                "ask": 87.5,
                "iv": 30.0,
                "open_interest": 124,
                "label": "Buy 1× 2028-01-21 250 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 345.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.105,
                "bid": 0.72,
                "ask": 1.49,
                "iv": 31.4,
                "open_interest": 168,
                "label": "Sell 1× 2026-11-20 345 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2028-01-21",
            "dte": 447,
            "profit_horizon_dte": 20,
            "net": 8502.33,
            "net_mid": 8414.5,
            "net_natural": 8678.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 997.67,
            "max_loss": 8502.33,
            "breakevens": [
              335.02
            ],
            "profit_zone": "above",
            "pop": null,
            "pop_basis": "",
            "credit_to_width": null,
            "manage": {
              "profit_target": "roll the short call out each month for a fresh credit; take the whole position off at 50–70% of the maximum",
              "profit_target_pct": 60,
              "stop": "cut if the long call loses half its value — the thesis is gone, not just early",
              "stop_loss_pct": 50,
              "time_stop": "roll the long leg with ~90 days left. Never let the short call go to assignment while you still want the long one.",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "option_covered",
              "note": "The short call is secured by the long call, not by shares and not by margin: assignment is covered by exercising or selling the long leg. That is why the whole position can only lose the debit — and why the long leg must never be closed first."
            }
          },
          {
            "key": "leaps_bull_put",
            "name": "LEAPS Bull Put Spread",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Paid up front to be right about a direction over a year, with the loss capped by the long wing — but the capital is committed for that whole year.",
            "playbook": "Sell a long-dated put well below the price, buy a lower one for protection. You collect the credit up front and keep it if the stock holds up — but the capital is committed for a year and the decay arrives mostly at the end.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "put",
                "strike": 250.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 27.0,
                "bid": 25.5,
                "ask": 28.5,
                "iv": 47.5,
                "open_interest": 255,
                "label": "Sell 1× 2028-01-21 250 put",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "put",
                "strike": 220.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 16.525,
                "bid": 14.85,
                "ask": 18.2,
                "iv": 47.04,
                "open_interest": 216,
                "label": "Buy 1× 2028-01-21 220 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2028-01-21",
            "dte": 447,
            "profit_horizon_dte": null,
            "net": -941.67,
            "net_mid": -1047.5,
            "net_natural": -730.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 941.67,
            "max_loss": 2058.33,
            "breakevens": [
              240.58
            ],
            "profit_zone": "above",
            "pop": 0.593,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.314,
            "manage": {
              "profit_target": "buy it back at 50% of the credit — usually long before expiry",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~90 days to expiry, before gamma starts to matter",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          },
          {
            "key": "leaps_bear_put",
            "name": "LEAPS Bear Put Spread",
            "action": "BUY_PREMIUM",
            "bias": "bearish",
            "thesis": "A year of room for the downside thesis, at a cost that is fixed the day you put it on.",
            "playbook": "Buy a long-dated put, sell a lower one. The same shape pointed down: a year of room for a thesis, at a defined cost.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "put",
                "strike": 310.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 54.9,
                "bid": 53.3,
                "ask": 56.5,
                "iv": 47.78,
                "open_interest": 110,
                "label": "Buy 1× 2028-01-21 310 put",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "put",
                "strike": 270.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 34.25,
                "bid": 32.0,
                "ask": 36.5,
                "iv": 46.71,
                "open_interest": 206,
                "label": "Sell 1× 2028-01-21 270 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2028-01-21",
            "dte": 447,
            "profit_horizon_dte": null,
            "net": 2193.33,
            "net_mid": 2065.0,
            "net_natural": 2450.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 1806.67,
            "max_loss": 2193.33,
            "breakevens": [
              288.07
            ],
            "profit_zone": "below",
            "pop": 0.541,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "take 50–70% of the maximum profit — the last of it takes months to arrive",
              "profit_target_pct": 60,
              "stop": "cut at −50% of the debit, or sooner if the reason you put it on stops being true",
              "stop_loss_pct": 50,
              "time_stop": "roll or close with ~90 days left; the final quarter is where a long-dated spread loses its remaining time value fastest",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "leaps_bear_call",
            "name": "LEAPS Bear Call Spread",
            "action": "SELL_PREMIUM",
            "bias": "bearish",
            "thesis": "Paid up front to be right about a direction over a year, with the loss capped by the long wing — but the capital is committed for that whole year.",
            "playbook": "Sell a long-dated call well above the price, buy a higher one. The credit is yours if the stock stays under the short strike for the year.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "call",
                "strike": 380.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 32.175,
                "bid": 31.35,
                "ask": 33.0,
                "iv": 35.93,
                "open_interest": 189,
                "label": "Sell 1× 2028-01-21 380 call",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "call",
                "strike": 410.0,
                "expiry": "2028-01-21",
                "qty": 1,
                "mid": 26.3,
                "bid": 25.4,
                "ask": 27.2,
                "iv": 37.01,
                "open_interest": 487,
                "label": "Buy 1× 2028-01-21 410 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2028-01-21",
            "dte": 447,
            "profit_horizon_dte": null,
            "net": -530.0,
            "net_mid": -587.5,
            "net_natural": -415.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 530.0,
            "max_loss": 2470.0,
            "breakevens": [
              385.3
            ],
            "profit_zone": "below",
            "pop": 0.764,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.177,
            "manage": {
              "profit_target": "buy it back at 50% of the credit — usually long before expiry",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~90 days to expiry, before gamma starts to matter",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          }
        ],
        "warnings": [
          "IV rank 49 is a front-month reading. A 13-month contract is priced off a flatter part of the volatility surface, so 'cheap' or 'rich' here is a weaker signal than it is on the near expiry — this expiry's own ATM IV is 41%.",
          "About 5 earnings reports fall inside this 447-day expiry. A long-dated spread is priced through all of them; none of them is the trade.",
          "One of these credit spreads collects very little for the risk — the LEAPS Bear Call Spread takes only 18% of its width, and holds the capital for 447 days to do it. Widen the wings or pass.",
          "The Poor Man's Covered Call's max profit below is the conservative case — assigned on the very first short call. Rolling that short leg out each month is where the structure actually earns, and no figure here counts those rolls.",
          "The short legs can be assigned early — most often a short call the day before an ex-dividend date. Know the dividend calendar before you sell one.",
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything."
        ]
      },
      "near_term": {
        "expiry": "2026-11-20",
        "dte": 20,
        "iv_annual": 45.4,
        "liquidity": "fair",
        "atm_spread_pct": 37.6,
        "premium_state": "rich",
        "bias": "neutral",
        "preferred": null,
        "summary": "4 one-direction spreads price out on the 2026-11-20 expiry, but the scanner has no proven directional read on this name, so none is recommended. Each one is a bet the stock goes one way; listed for reference.",
        "candidates": [
          {
            "key": "bull_call_spread",
            "name": "Bull Call Spread",
            "action": "BUY_PREMIUM",
            "bias": "bullish",
            "thesis": "Options are reasonably priced and the break is up — pay a capped premium for a capped move.",
            "playbook": "Buy a call, sell a higher one. A capped, cheaper bullish bet — the short leg pays for part of the long one.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 315.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 6.65,
                "bid": 5.4,
                "ask": 7.9,
                "iv": 24.98,
                "open_interest": 223,
                "label": "Buy 1× 2026-11-20 315 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 345.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.105,
                "bid": 0.72,
                "ask": 1.49,
                "iv": 31.4,
                "open_interest": 168,
                "label": "Sell 1× 2026-11-20 345 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": 609.0,
            "net_mid": 554.5,
            "net_natural": 718.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 2391.0,
            "max_loss": 609.0,
            "breakevens": [
              321.09
            ],
            "profit_zone": "above",
            "pop": 0.333,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "close at +50% to +100% of the debit",
              "profit_target_pct": 50,
              "stop": "cut at −50% of the debit",
              "stop_loss_pct": 50,
              "time_stop": "be out with ~7 days to expiry — theta accelerates into the last week",
              "close_by_dte": 7
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "bull_put_spread",
            "name": "Bull Put Spread",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Premium is rich and the lean is up — get paid to be right about a direction you don't need to nail.",
            "playbook": "Sell a put, buy a lower one. You collect credit and win if the stock stays above the short put — a bullish way to be short rich premium.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "put",
                "strike": 280.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 4.85,
                "bid": 4.3,
                "ask": 5.4,
                "iv": 59.65,
                "open_interest": 748,
                "label": "Sell 1× 2026-11-20 280 put",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "put",
                "strike": 267.5,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 2.63,
                "bid": 1.56,
                "ask": 3.7,
                "iv": 60.17,
                "open_interest": 28,
                "label": "Buy 1× 2026-11-20 267.5 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": -168.0,
            "net_mid": -222.0,
            "net_natural": -60.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 168.0,
            "max_loss": 1082.0,
            "breakevens": [
              278.32
            ],
            "profit_zone": "above",
            "pop": 0.777,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.134,
            "manage": {
              "profit_target": "buy it back at 50% of the credit received",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~21 days to expiry — gamma risk rises fast after that",
              "close_by_dte": 21
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          },
          {
            "key": "bear_put_spread",
            "name": "Bear Put Spread",
            "action": "BUY_PREMIUM",
            "bias": "bearish",
            "thesis": "Options are reasonably priced and the break is down — pay a capped premium for a capped move.",
            "playbook": "Buy a put, sell a lower one. A capped, cheaper bearish bet.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "put",
                "strike": 310.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 17.35,
                "bid": 16.25,
                "ask": 18.45,
                "iv": 65.82,
                "open_interest": 76,
                "label": "Buy 1× 2026-11-20 310 put",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "put",
                "strike": 280.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 4.85,
                "bid": 4.3,
                "ask": 5.4,
                "iv": 59.65,
                "open_interest": 748,
                "label": "Sell 1× 2026-11-20 280 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": 1305.0,
            "net_mid": 1250.0,
            "net_natural": 1415.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 1695.0,
            "max_loss": 1305.0,
            "breakevens": [
              296.95
            ],
            "profit_zone": "below",
            "pop": 0.386,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "close at +50% to +100% of the debit",
              "profit_target_pct": 50,
              "stop": "cut at −50% of the debit",
              "stop_loss_pct": 50,
              "time_stop": "be out with ~7 days to expiry — theta accelerates into the last week",
              "close_by_dte": 7
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "bear_call_spread",
            "name": "Bear Call Spread",
            "action": "SELL_PREMIUM",
            "bias": "bearish",
            "thesis": "Premium is rich and the lean is down — get paid to be right about a direction you don't need to nail.",
            "playbook": "Sell a call, buy a higher one. You collect credit and win if the stock stays below the short call.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "call",
                "strike": 345.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.105,
                "bid": 0.72,
                "ask": 1.49,
                "iv": 31.4,
                "open_interest": 168,
                "label": "Sell 1× 2026-11-20 345 call",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "call",
                "strike": 360.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.26,
                "bid": 0.08,
                "ask": 2.44,
                "iv": 42.5,
                "open_interest": 113,
                "label": "Buy 1× 2026-11-20 360 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": 67.67,
            "net_mid": 15.5,
            "net_natural": 172.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": null,
            "max_loss": null,
            "breakevens": [],
            "profit_zone": "below",
            "pop": null,
            "pop_basis": "",
            "credit_to_width": null,
            "manage": {
              "profit_target": "buy it back at 50% of the credit received",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~21 days to expiry — gamma risk rises fast after that",
              "close_by_dte": 21
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          }
        ],
        "warnings": [
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything.",
          "The credit spread here collects little for the risk — the Bull Put Spread takes only 13% of its width, under the 20% this scanner treats as thin compensation. A fill worse than the one assumed here collects less still."
        ]
      },
      "screen": {
        "compliant": true,
        "industry_ok": true,
        "industry": "Semiconductors",
        "debt_ratio": 0.04928333473717669,
        "cash_ratio": 0.029602722852488984,
        "receivables_ratio": null,
        "reasons": [
          "ok"
        ]
      }
    },
    {
      "rank": 15,
      "ticker": "AMD",
      "price": 566.42,
      "score": 43.0,
      "squeeze_on": false,
      "squeeze_days": 0,
      "squeeze_fired": false,
      "fired_dir": "",
      "bandwidth_pctile": 0.642,
      "hv_annual": 56.8,
      "hv_pctile": 0.367,
      "em_pct": 11.31,
      "horizon_days": 10,
      "down_1sigma": 502.34,
      "up_1sigma": 630.5,
      "down_2sigma": 438.27,
      "up_2sigma": 694.57,
      "lean": "Bearish",
      "note": "",
      "debt_ratio": 0.00518885825231133,
      "cash_ratio": 0.01590999085082806,
      "earnings_in_days": 3.0,
      "implied_move_pct": 15.84,
      "vol_verdict": "rich",
      "iv_annual": 79.53,
      "iv_rank": 78.9,
      "premium_score": 85.4,
      "premium_state": "rich",
      "liquidity": "fair",
      "action": "STAND_ASIDE",
      "strategy": "Stand aside",
      "options": {
        "iv_annual": 79.53,
        "hv_annual": 52.8,
        "implied_move_pct": 15.84,
        "hist_move_pct": 11.31,
        "iv_rank": 78.9,
        "iv_percentile": 87.8,
        "iv_rank_basis": "realized",
        "vrp": 26.69,
        "iv_hv_ratio": 1.51,
        "verdict": "rich",
        "premium_score": 85.4,
        "premium_state": "rich",
        "term_slope": -0.1921,
        "term_structure": "backwardation",
        "skew": 64.37,
        "skew_label": "put_skew",
        "atm_spread_pct": 4.4,
        "atm_open_interest": 431,
        "liquidity": "fair",
        "expiry": "2026-11-20",
        "days_to_expiry": 20,
        "expiries": [
          {
            "date": "2026-11-02",
            "dte": 2
          },
          {
            "date": "2026-11-04",
            "dte": 4
          },
          {
            "date": "2026-11-06",
            "dte": 6
          },
          {
            "date": "2026-11-13",
            "dte": 13
          },
          {
            "date": "2026-11-20",
            "dte": 20
          },
          {
            "date": "2026-11-27",
            "dte": 27
          },
          {
            "date": "2026-12-04",
            "dte": 34
          },
          {
            "date": "2026-12-18",
            "dte": 48
          },
          {
            "date": "2027-01-15",
            "dte": 76
          },
          {
            "date": "2027-02-19",
            "dte": 111
          },
          {
            "date": "2027-03-19",
            "dte": 139
          },
          {
            "date": "2027-04-16",
            "dte": 167
          }
        ],
        "long_expiry": "2027-12-17",
        "long_dte": 412,
        "long_iv": 52.21,
        "long_spread_pct": 4.9,
        "long_open_interest": 203,
        "long_liquidity": "fair",
        "quote_session": "closed"
      },
      "recommendation": {
        "ticker": "AMD",
        "action": "STAND_ASIDE",
        "headline": "AMD: stand aside — premium looks rich, but on this scanner's record selling it has not paid: On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money.",
        "detail": "Premium looks rich, but on this scanner's record selling it has not paid: On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money.",
        "confidence": 0.0,
        "premium_state": "rich",
        "premium_score": 85.4,
        "bias": "neutral",
        "bias_strength": "none",
        "plan": {
          "key": "stand_aside",
          "name": "Stand aside",
          "action": "STAND_ASIDE",
          "bias": "neutral",
          "thesis": "Premium looks rich, but on this scanner's record selling it has not paid: On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money.",
          "playbook": "No edge worth paying for. The best trade is often none.",
          "vega": "flat",
          "theta": "flat",
          "risk": "none",
          "legs": [],
          "expiry": null,
          "dte": null,
          "profit_horizon_dte": null,
          "net": null,
          "net_mid": null,
          "net_natural": null,
          "fill_basis": "",
          "max_profit": null,
          "max_loss": null,
          "breakevens": [],
          "profit_zone": "",
          "pop": null,
          "pop_basis": "",
          "credit_to_width": null,
          "manage": {},
          "sizing": {
            "risk_budget": 1000.0,
            "contracts": 0
          },
          "risk_form": {
            "tier": "n/a",
            "note": "No position — nothing to secure."
          }
        },
        "alternatives": [],
        "avoid": [
          {
            "name": "Long straddles / strangles",
            "reason": "IV rank 79 and the market is pricing a 15.8% move vs 11.3% realized — you'd be paying up for the move you want."
          },
          {
            "name": "Selling premium (condors, credit spreads)",
            "reason": "Not supported by the backtest: On 83 matured readings of names called rich, a straddle bought at the logged implied move returned +10% on average — so selling it lost money."
          }
        ],
        "why": [
          "IV rank 79/100 (rich premium, blended score 85).",
          "Options price a 15.8% move over the horizon vs 11.3% realized (1.51× IV/HV).",
          "Setup score 43/100, no directional edge.",
          "Term structure in backwardation (-19.2% front→back).",
          "Puts bid over calls by 64.4 vol points — the put side pays more to sell.",
          "The bearish lean is not traded on: in the backtest it did not call direction better than the base rate, so this is treated as a name with no directional read."
        ],
        "warnings": [
          "Earnings in 3 days, inside this expiry — know the catalyst before entering.",
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything."
        ]
      },
      "long_dated": {
        "expiry": "2027-12-17",
        "dte": 412,
        "target_days": 395,
        "iv_annual": 52.21,
        "front_iv_annual": 79.53,
        "liquidity": "fair",
        "atm_spread_pct": 4.9,
        "atm_open_interest": 203,
        "premium_state": "rich",
        "bias": "neutral",
        "bias_strength": "none",
        "preferred": null,
        "summary": "5 long-dated spreads price out on the 2027-12-17 expiry, but the scanner has no directional read on this name — and every 13-month spread is a directional bet. Listed for reference, not recommended.",
        "candidates": [
          {
            "key": "leaps_bull_call",
            "name": "LEAPS Bull Call Spread",
            "action": "BUY_PREMIUM",
            "bias": "bullish",
            "thesis": "A year of room for the upside thesis, at a cost that is fixed the day you put it on.",
            "playbook": "Buy a call about 13 months out, sell a higher one in the same expiry. A bullish position with a year to be right and a cost you know on day one — the short leg pays for part of the long one and caps the win.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 570.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 101.475,
                "bid": 99.0,
                "ask": 103.95,
                "iv": 38.61,
                "open_interest": 203,
                "label": "Buy 1× 2027-12-17 570 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 650.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 78.275,
                "bid": 76.15,
                "ask": 80.4,
                "iv": 41.44,
                "open_interest": 436,
                "label": "Sell 1× 2027-12-17 650 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": 2473.33,
            "net_mid": 2320.0,
            "net_natural": 2780.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 5526.67,
            "max_loss": 2473.33,
            "breakevens": [
              594.73
            ],
            "profit_zone": "above",
            "pop": 0.372,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "take 50–70% of the maximum profit — the last of it takes months to arrive",
              "profit_target_pct": 60,
              "stop": "cut at −50% of the debit, or sooner if the reason you put it on stops being true",
              "stop_loss_pct": 50,
              "time_stop": "roll or close with ~90 days left; the final quarter is where a long-dated spread loses its remaining time value fastest",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "poor_mans_covered_call",
            "name": "Poor Man's Covered Call",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Own the year cheaply through a deep in-the-money call, and rent the near month out against it every cycle.",
            "playbook": "Buy a deep in-the-money call 13 months out as a cheaper stand-in for 100 shares, then sell a near-dated call against it and roll that short leg each month. Covered-call income on a fraction of the capital — and the long call, not stock, is what secures it.",
            "vega": "long",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 450.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 150.575,
                "bid": 147.65,
                "ask": 153.5,
                "iv": 28.23,
                "open_interest": 585,
                "label": "Buy 1× 2027-12-17 450 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 670.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.635,
                "bid": 1.53,
                "ask": 1.74,
                "iv": 45.2,
                "open_interest": 3372,
                "label": "Sell 1× 2026-11-20 670 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": 20,
            "net": 14995.0,
            "net_mid": 14894.0,
            "net_natural": 15197.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 7005.0,
            "max_loss": 14995.0,
            "breakevens": [
              599.95
            ],
            "profit_zone": "above",
            "pop": null,
            "pop_basis": "",
            "credit_to_width": null,
            "manage": {
              "profit_target": "roll the short call out each month for a fresh credit; take the whole position off at 50–70% of the maximum",
              "profit_target_pct": 60,
              "stop": "cut if the long call loses half its value — the thesis is gone, not just early",
              "stop_loss_pct": 50,
              "time_stop": "roll the long leg with ~90 days left. Never let the short call go to assignment while you still want the long one.",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "option_covered",
              "note": "The short call is secured by the long call, not by shares and not by margin: assignment is covered by exercising or selling the long leg. That is why the whole position can only lose the debit — and why the long leg must never be closed first."
            }
          },
          {
            "key": "leaps_bull_put",
            "name": "LEAPS Bull Put Spread",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Paid up front to be right about a direction over a year, with the loss capped by the long wing — but the capital is committed for that whole year.",
            "playbook": "Sell a long-dated put well below the price, buy a lower one for protection. You collect the credit up front and keep it if the stock holds up — but the capital is committed for a year and the decay arrives mostly at the end.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "put",
                "strike": 450.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 73.475,
                "bid": 70.85,
                "ask": 76.1,
                "iv": 63.33,
                "open_interest": 859,
                "label": "Sell 1× 2027-12-17 450 put",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "put",
                "strike": 400.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 53.2,
                "bid": 51.05,
                "ask": 55.35,
                "iv": 63.72,
                "open_interest": 729,
                "label": "Buy 1× 2027-12-17 400 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": -1868.33,
            "net_mid": -2027.5,
            "net_natural": -1550.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 1868.33,
            "max_loss": 3131.67,
            "breakevens": [
              431.32
            ],
            "profit_zone": "above",
            "pop": 0.528,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.374,
            "manage": {
              "profit_target": "buy it back at 50% of the credit — usually long before expiry",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~90 days to expiry, before gamma starts to matter",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          },
          {
            "key": "leaps_bear_put",
            "name": "LEAPS Bear Put Spread",
            "action": "BUY_PREMIUM",
            "bias": "bearish",
            "thesis": "A year of room for the downside thesis, at a cost that is fixed the day you put it on.",
            "playbook": "Buy a long-dated put, sell a lower one. The same shape pointed down: a year of room for a thesis, at a defined cost.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "put",
                "strike": 570.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 141.35,
                "bid": 139.25,
                "ask": 143.45,
                "iv": 65.82,
                "open_interest": 130,
                "label": "Buy 1× 2027-12-17 570 put",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "put",
                "strike": 480.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 89.4,
                "bid": 86.35,
                "ask": 92.45,
                "iv": 64.29,
                "open_interest": 233,
                "label": "Sell 1× 2027-12-17 480 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": 5366.67,
            "net_mid": 5195.0,
            "net_natural": 5710.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 3633.33,
            "max_loss": 5366.67,
            "breakevens": [
              516.33
            ],
            "profit_zone": "below",
            "pop": 0.585,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "take 50–70% of the maximum profit — the last of it takes months to arrive",
              "profit_target_pct": 60,
              "stop": "cut at −50% of the debit, or sooner if the reason you put it on stops being true",
              "stop_loss_pct": 50,
              "time_stop": "roll or close with ~90 days left; the final quarter is where a long-dated spread loses its remaining time value fastest",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "leaps_bear_call",
            "name": "LEAPS Bear Call Spread",
            "action": "SELL_PREMIUM",
            "bias": "bearish",
            "thesis": "Paid up front to be right about a direction over a year, with the loss capped by the long wing — but the capital is committed for that whole year.",
            "playbook": "Sell a long-dated call well above the price, buy a higher one. The credit is yours if the stock stays under the short strike for the year.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "call",
                "strike": 680.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 70.975,
                "bid": 68.6,
                "ask": 73.35,
                "iv": 42.17,
                "open_interest": 372,
                "label": "Sell 1× 2027-12-17 680 call",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "call",
                "strike": 730.0,
                "expiry": "2027-12-17",
                "qty": 1,
                "mid": 60.975,
                "bid": 59.3,
                "ask": 62.65,
                "iv": 43.43,
                "open_interest": 1157,
                "label": "Buy 1× 2027-12-17 730 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2027-12-17",
            "dte": 412,
            "profit_horizon_dte": null,
            "net": -865.0,
            "net_mid": -1000.0,
            "net_natural": -595.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 865.0,
            "max_loss": 4135.0,
            "breakevens": [
              688.65
            ],
            "profit_zone": "below",
            "pop": 0.745,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.173,
            "manage": {
              "profit_target": "buy it back at 50% of the credit — usually long before expiry",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~90 days to expiry, before gamma starts to matter",
              "close_by_dte": 90
            },
            "sizing": {
              "risk_budget": 2500.0,
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          }
        ],
        "warnings": [
          "IV rank 79 is a front-month reading. A 13-month contract is priced off a flatter part of the volatility surface, so 'cheap' or 'rich' here is a weaker signal than it is on the near expiry — this expiry's own ATM IV is 52%.",
          "About 5 earnings reports fall inside this 412-day expiry. A long-dated spread is priced through all of them; none of them is the trade.",
          "One of these credit spreads collects very little for the risk — the LEAPS Bear Call Spread takes only 17% of its width, and holds the capital for 412 days to do it. Widen the wings or pass.",
          "The Poor Man's Covered Call's max profit below is the conservative case — assigned on the very first short call. Rolling that short leg out each month is where the structure actually earns, and no figure here counts those rolls.",
          "The short legs can be assigned early — most often a short call the day before an ex-dividend date. Know the dividend calendar before you sell one.",
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything."
        ]
      },
      "near_term": {
        "expiry": "2026-11-20",
        "dte": 20,
        "iv_annual": 79.53,
        "liquidity": "fair",
        "atm_spread_pct": 4.4,
        "premium_state": "rich",
        "bias": "neutral",
        "preferred": null,
        "summary": "4 one-direction spreads price out on the 2026-11-20 expiry, but the scanner has no proven directional read on this name, so none is recommended. Each one is a bet the stock goes one way; listed for reference.",
        "candidates": [
          {
            "key": "bull_call_spread",
            "name": "Bull Call Spread",
            "action": "BUY_PREMIUM",
            "bias": "bullish",
            "thesis": "Options are reasonably priced and the break is up — pay a capped premium for a capped move.",
            "playbook": "Buy a call, sell a higher one. A capped, cheaper bullish bet — the short leg pays for part of the long one.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "call",
                "strike": 565.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 12.525,
                "bid": 12.25,
                "ask": 12.8,
                "iv": 21.12,
                "open_interest": 431,
                "label": "Buy 1× 2026-11-20 565 call",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "call",
                "strike": 670.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.635,
                "bid": 1.53,
                "ask": 1.74,
                "iv": 45.2,
                "open_interest": 3372,
                "label": "Sell 1× 2026-11-20 670 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": 1101.67,
            "net_mid": 1089.0,
            "net_natural": 1127.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 9398.33,
            "max_loss": 1101.67,
            "breakevens": [
              576.02
            ],
            "profit_zone": "above",
            "pop": 0.379,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "close at +50% to +100% of the debit",
              "profit_target_pct": 50,
              "stop": "cut at −50% of the debit",
              "stop_loss_pct": 50,
              "time_stop": "be out with ~7 days to expiry — theta accelerates into the last week",
              "close_by_dte": 7
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "bull_put_spread",
            "name": "Bull Put Spread",
            "action": "SELL_PREMIUM",
            "bias": "bullish",
            "thesis": "Premium is rich and the lean is up — get paid to be right about a direction you don't need to nail.",
            "playbook": "Sell a put, buy a lower one. You collect credit and win if the stock stays above the short put — a bullish way to be short rich premium.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "put",
                "strike": 460.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 15.1,
                "bid": 14.55,
                "ask": 15.65,
                "iv": 109.57,
                "open_interest": 2860,
                "label": "Sell 1× 2026-11-20 460 put",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "put",
                "strike": 420.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 6.35,
                "bid": 6.15,
                "ask": 6.55,
                "iv": 105.05,
                "open_interest": 1978,
                "label": "Buy 1× 2026-11-20 420 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": -850.0,
            "net_mid": -875.0,
            "net_natural": -800.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 850.0,
            "max_loss": 3150.0,
            "breakevens": [
              451.5
            ],
            "profit_zone": "above",
            "pop": 0.783,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.212,
            "manage": {
              "profit_target": "buy it back at 50% of the credit received",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~21 days to expiry — gamma risk rises fast after that",
              "close_by_dte": 21
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          },
          {
            "key": "bear_put_spread",
            "name": "Bear Put Spread",
            "action": "BUY_PREMIUM",
            "bias": "bearish",
            "thesis": "Options are reasonably priced and the break is down — pay a capped premium for a capped move.",
            "playbook": "Buy a put, sell a lower one. A capped, cheaper bearish bet.",
            "vega": "long",
            "theta": "negative",
            "risk": "defined",
            "legs": [
              {
                "action": "buy",
                "right": "put",
                "strike": 565.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 71.15,
                "bid": 69.25,
                "ask": 73.05,
                "iv": 137.93,
                "open_interest": 307,
                "label": "Buy 1× 2026-11-20 565 put",
                "mid_source": "quote"
              },
              {
                "action": "sell",
                "right": "put",
                "strike": 460.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 15.1,
                "bid": 14.55,
                "ask": 15.65,
                "iv": 109.57,
                "open_interest": 2860,
                "label": "Sell 1× 2026-11-20 460 put",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": 5686.67,
            "net_mid": 5605.0,
            "net_natural": 5850.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 4813.33,
            "max_loss": 5686.67,
            "breakevens": [
              508.13
            ],
            "profit_zone": "below",
            "pop": 0.402,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": null,
            "manage": {
              "profit_target": "close at +50% to +100% of the debit",
              "profit_target_pct": 50,
              "stop": "cut at −50% of the debit",
              "stop_loss_pct": 50,
              "time_stop": "be out with ~7 days to expiry — theta accelerates into the last week",
              "close_by_dte": 7
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "defined_debit",
              "note": "You pay a known premium up front and can never lose more than it. The debit is the whole risk; nothing can be called on later."
            }
          },
          {
            "key": "bear_call_spread",
            "name": "Bear Call Spread",
            "action": "SELL_PREMIUM",
            "bias": "bearish",
            "thesis": "Premium is rich and the lean is down — get paid to be right about a direction you don't need to nail.",
            "playbook": "Sell a call, buy a higher one. You collect credit and win if the stock stays below the short call.",
            "vega": "short",
            "theta": "positive",
            "risk": "defined",
            "legs": [
              {
                "action": "sell",
                "right": "call",
                "strike": 670.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 1.635,
                "bid": 1.53,
                "ask": 1.74,
                "iv": 45.2,
                "open_interest": 3372,
                "label": "Sell 1× 2026-11-20 670 call",
                "mid_source": "quote"
              },
              {
                "action": "buy",
                "right": "call",
                "strike": 710.0,
                "expiry": "2026-11-20",
                "qty": 1,
                "mid": 0.815,
                "bid": 0.73,
                "ask": 0.9,
                "iv": 50.22,
                "open_interest": 1001,
                "label": "Buy 1× 2026-11-20 710 call",
                "mid_source": "quote"
              }
            ],
            "expiry": "2026-11-20",
            "dte": 20,
            "profit_horizon_dte": null,
            "net": -75.67,
            "net_mid": -82.0,
            "net_natural": -63.0,
            "fill_basis": "mid + 33% of the half-spread toward the natural price",
            "max_profit": 75.67,
            "max_loss": 3924.33,
            "breakevens": [
              670.76
            ],
            "profit_zone": "below",
            "pop": 0.951,
            "pop_basis": "held to expiry, lognormal with each breakeven at its own strike's implied vol; ignores the early exits in the management rules",
            "credit_to_width": 0.019,
            "manage": {
              "profit_target": "buy it back at 50% of the credit received",
              "profit_target_pct": 50,
              "stop": "close if the loss reaches 2× the credit received",
              "stop_loss_multiple": 2.0,
              "time_stop": "close or roll at ~21 days to expiry — gamma risk rises fast after that",
              "close_by_dte": 21
            },
            "sizing": {
              "contracts": null,
              "note": "Not recommended — listed for reference, so no position size is suggested."
            },
            "risk_form": {
              "tier": "short_premium",
              "note": "You collect a premium for taking on an obligation, held against margin. The long wings cap the loss — without them it is open-ended."
            }
          }
        ],
        "warnings": [
          "An earnings report falls inside this 20-day expiry. The gap on the day can jump straight past either strike.",
          "These quotes were read after the options market closed, when market makers widen or pull theirs. Liquidity was judged on open interest alone, and every price here is indicative: check a live quote during market hours before placing anything.",
          "The credit spread here collects little for the risk — the Bear Call Spread takes only 2% of its width, under the 20% this scanner treats as thin compensation. A fill worse than the one assumed here collects less still."
        ]
      },
      "screen": {
        "compliant": true,
        "industry_ok": true,
        "industry": "Semiconductors",
        "debt_ratio": 0.00518885825231133,
        "cash_ratio": 0.01590999085082806,
        "receivables_ratio": null,
        "reasons": [
          "ok"
        ]
      }
    },
    {
      "rank": 16,
      "ticker": "CRWD",
      "price": 261.15,
      "score": 42.3,
      "squeeze_on": false,
      "squeeze_days": 0,
      "squeeze_fired": false,
      "fired_dir": "",
      "bandwidth_pctile": 0.325,
      "hv_annual": 56.6,
      "hv_pctile": 0.55,
      "em_pct": 11.28,
      "horizon_days": 10,
      "down_1sigma": 231.68,
      "up_1sigma": 290.62,
      "down_2sigma": 202.22,
      "up_2sigma": 320.08,
      "lean": "Neutral",
      "note": "",
      "debt_ratio": 0.0031985266710099795,
      "cash_ratio": 0.01955295530046587,
      "earnings_in_days": 31.0,
      "implied_move_pct": null,
      "vol_verdict": null,
      "iv_annual": null,
      "iv_rank": null,
      "premium_score": null,
      "premium_state": null,
      "liquidity": null,
      "action": "NO_DATA",
      "strategy": "Not priced",
      "options": null,
      "recommendation": {
        "ticker": "CRWD",
        "action": "NO_DATA",
        "headline": "CRWD: not priced — no IV read this run",
        "detail": "No option chain was priced for this ticker in this run (only the top-ranked names are priced).",
        "confidence": 0.0,
        "premium_state": "unknown",
        "premium_score": null,
        "bias": "neutral",
        "bias_strength": "none",
        "plan": {
          "key": "no_data",
          "name": "Not priced",
          "action": "NO_DATA",
          "bias": "neutral",
          "thesis": "No option chain was priced for this ticker in this run (only the top-ranked names are priced).",
          "playbook": "No usable option chain this run — nothing to price.",
          "vega": "flat",
          "theta": "flat",
          "risk": "none",
          "legs": [],
          "expiry": null,
          "dte": null,
          "profit_horizon_dte": null,
          "net": null,
          "net_mid": null,
          "net_natural": null,
          "fill_basis": "",
          "max_profit": null,
          "max_loss": null,
          "breakevens": [],
          "profit_zone": "",
          "pop": null,
          "pop_basis": "",
          "credit_to_width": null,
          "manage": {},
          "sizing": {},
          "risk_form": {
            "tier": "n/a",
            "note": "No position — nothing to secure."
          }
        },
        "alternatives": [],
        "avoid": [],
        "why": [
          "Setup score 42/100 from price action alone — no implied-volatility read, so no premium call can be made."
        ],
        "warnings": [
          "Without IV there is no way to say whether options here are cheap or rich. Raise `options.top_n` in the config to price more names."
        ]
      },
      "long_dated": null,
      "near_term": null,
      "screen": {
        "compliant": true,
        "industry_ok": true,
        "industry": "Software - Infrastructure",
        "debt_ratio": 0.0031985266710099795,
        "cash_ratio": 0.01955295530046587,
        "receivables_ratio": null,
        "reasons": [
          "ok"
        ]
      }
    },
    {
      "rank": 17,
      "ticker": "CSCO",
      "price": 108.59,
      "score": 39.8,
      "squeeze_on": false,
      "squeeze_days": 0,
      "squeeze_fired": false,
      "fired_dir": "",
      "bandwidth_pctile": 0.6,
      "hv_annual": 34.8,
      "hv_pctile": 0.45,
      "em_pct": 6.92,
      "horizon_days": 10,
      "down_1sigma": 101.07,
      "up_1sigma": 116.11,
      "down_2sigma": 93.56,
      "up_2sigma": 123.62,
      "lean": "Bearish",
      "note": "",
      "debt_ratio": 0.07568444213411697,
      "cash_ratio": 0.038632193114358185,
      "earnings_in_days": 12.0,
      "implied_move_pct": null,
      "vol_verdict": null,
      "iv_annual": null,
      "iv_rank": null,
      "premium_score": null,
      "premium_state": null,
      "liquidity": null,
      "action": "NO_DATA",
      "strategy": "Not priced",
      "options": null,
      "recommendation": {
        "ticker": "CSCO",
        "action": "NO_DATA",
        "headline": "CSCO: not priced — no IV read this run",
        "detail": "No option chain was priced for this ticker in this run (only the top-ranked names are priced).",
        "confidence": 0.0,
        "premium_state": "unknown",
        "premium_score": null,
        "bias": "bearish",
        "bias_strength": "weak",
        "plan": {
          "key": "no_data",
          "name": "Not priced",
          "action": "NO_DATA",
          "bias": "neutral",
          "thesis": "No option chain was priced for this ticker in this run (only the top-ranked names are priced).",
          "playbook": "No usable option chain this run — nothing to price.",
          "vega": "flat",
          "theta": "flat",
          "risk": "none",
          "legs": [],
          "expiry": null,
          "dte": null,
          "profit_horizon_dte": null,
          "net": null,
          "net_mid": null,
          "net_natural": null,
          "fill_basis": "",
          "max_profit": null,
          "max_loss": null,
          "breakevens": [],
          "profit_zone": "",
          "pop": null,
          "pop_basis": "",
          "credit_to_width": null,
          "manage": {},
          "sizing": {},
          "risk_form": {
            "tier": "n/a",
            "note": "No position — nothing to secure."
          }
        },
        "alternatives": [],
        "avoid": [],
        "why": [
          "Setup score 40/100 from price action alone — no implied-volatility read, so no premium call can be made."
        ],
        "warnings": [
          "Without IV there is no way to say whether options here are cheap or rich. Raise `options.top_n` in the config to price more names."
        ]
      },
      "long_dated": null,
      "near_term": null,
      "screen": {
        "compliant": true,
        "industry_ok": true,
        "industry": "Communication Equipment",
        "debt_ratio": 0.07568444213411697,
        "cash_ratio": 0.038632193114358185,
        "receivables_ratio": null,
        "reasons": [
          "ok"
        ]
      }
    },
    {
      "rank": 18,
      "ticker": "META",
      "price": 624.52,
      "score": 39.8,
      "squeeze_on": false,
      "squeeze_days": 0,
      "squeeze_fired": false,
      "fired_dir": "",
      "bandwidth_pctile": 0.833,
      "hv_annual": 37.2,
      "hv_pctile": 0.325,
      "em_pct": 7.4,
      "horizon_days": 10,
      "down_1sigma": 578.29,
      "up_1sigma": 670.75,
      "down_2sigma": 532.06,
      "up_2sigma": 716.98,
      "lean": "Bearish",
      "note": "",
      "debt_ratio": 0.07303488182214656,
      "cash_ratio": 0.05243423817654641,
      "earnings_in_days": null,
      "implied_move_pct": null,
      "vol_verdict": null,
      "iv_annual": null,
      "iv_rank": null,
      "premium_score": null,
      "premium_state": null,
      "liquidity": null,
      "action": "NO_DATA",
      "strategy": "Not priced",
      "options": null,
      "recommendation": {
        "ticker": "META",
        "action": "NO_DATA",
        "headline": "META: not priced — no IV read this run",
        "detail": "No option chain was priced for this ticker in this run (only the top-ranked names are priced).",
        "confidence": 0.0,
        "premium_state": "unknown",
        "premium_score": null,
        "bias": "bearish",
        "bias_strength": "weak",
        "plan": {
          "key": "no_data",
          "name": "Not priced",
          "action": "NO_DATA",
          "bias": "neutral",
          "thesis": "No option chain was priced for this ticker in this run (only the top-ranked names are priced).",
          "playbook": "No usable option chain this run — nothing to price.",
          "vega": "flat",
          "theta": "flat",
          "risk": "none",
          "legs": [],
          "expiry": null,
          "dte": null,
          "profit_horizon_dte": null,
          "net": null,
          "net_mid": null,
          "net_natural": null,
          "fill_basis": "",
          "max_profit": null,
          "max_loss": null,
          "breakevens": [],
          "profit_zone": "",
          "pop": null,
          "pop_basis": "",
          "credit_to_width": null,
          "manage": {},
          "sizing": {},
          "risk_form": {
            "tier": "n/a",
            "note": "No position — nothing to secure."
          }
        },
        "alternatives": [],
        "avoid": [],
        "why": [
          "Setup score 40/100 from price action alone — no implied-volatility read, so no premium call can be made."
        ],
        "warnings": [
          "Without IV there is no way to say whether options here are cheap or rich. Raise `options.top_n` in the config to price more names."
        ]
      },
      "long_dated": null,
      "near_term": null,
      "screen": {
        "compliant": true,
        "industry_ok": true,
        "industry": "Internet Content & Information",
        "debt_ratio": 0.07303488182214656,
        "cash_ratio": 0.05243423817654641,
        "receivables_ratio": null,
        "reasons": [
          "ok"
        ]
      }
    },
    {
      "rank": 19,
      "ticker": "AVGO",
      "price": 345.0,
      "score": 33.0,
      "squeeze_on": false,
      "squeeze_days": 0,
      "squeeze_fired": false,
      "fired_dir": "",
      "bandwidth_pctile": 0.658,
      "hv_annual": 41.9,
      "hv_pctile": 0.55,
      "em_pct": 8.35,
      "horizon_days": 10,
      "down_1sigma": 316.19,
      "up_1sigma": 373.81,
      "down_2sigma": 287.38,
      "up_2sigma": 402.62,
      "lean": "Bearish",
      "note": "",
      "debt_ratio": 0.0381726608297561,
      "cash_ratio": 0.015402304532586134,
      "earnings_in_days": 39.0,
      "implied_move_pct": null,
      "vol_verdict": null,
      "iv_annual": null,
      "iv_rank": null,
      "premium_score": null,
      "premium_state": null,
      "liquidity": null,
      "action": "NO_DATA",
      "strategy": "Not priced",
      "options": null,
      "recommendation": {
        "ticker": "AVGO",
        "action": "NO_DATA",
        "headline": "AVGO: not priced — no IV read this run",
        "detail": "No option chain was priced for this ticker in this run (only the top-ranked names are priced).",
        "confidence": 0.0,
        "premium_state": "unknown",
        "premium_score": null,
        "bias": "bearish",
        "bias_strength": "weak",
        "plan": {
          "key": "no_data",
          "name": "Not priced",
          "action": "NO_DATA",
          "bias": "neutral",
          "thesis": "No option chain was priced for this ticker in this run (only the top-ranked names are priced).",
          "playbook": "No usable option chain this run — nothing to price.",
          "vega": "flat",
          "theta": "flat",
          "risk": "none",
          "legs": [],
          "expiry": null,
          "dte": null,
          "profit_horizon_dte": null,
          "net": null,
          "net_mid": null,
          "net_natural": null,
          "fill_basis": "",
          "max_profit": null,
          "max_loss": null,
          "breakevens": [],
          "profit_zone": "",
          "pop": null,
          "pop_basis": "",
          "credit_to_width": null,
          "manage": {},
          "sizing": {},
          "risk_form": {
            "tier": "n/a",
            "note": "No position — nothing to secure."
          }
        },
        "alternatives": [],
        "avoid": [],
        "why": [
          "Setup score 33/100 from price action alone — no implied-volatility read, so no premium call can be made."
        ],
        "warnings": [
          "Without IV there is no way to say whether options here are cheap or rich. Raise `options.top_n` in the config to price more names."
        ]
      },
      "long_dated": null,
      "near_term": null,
      "screen": {
        "compliant": true,
        "industry_ok": true,
        "industry": "Semiconductors",
        "debt_ratio": 0.0381726608297561,
        "cash_ratio": 0.015402304532586134,
        "receivables_ratio": null,
        "reasons": [
          "ok"
        ]
      }
    },
    {
      "rank": 20,
      "ticker": "PANW",
      "price": 380.57,
      "score": 29.2,
      "squeeze_on": false,
      "squeeze_days": 0,
      "squeeze_fired": false,
      "fired_dir": "",
      "bandwidth_pctile": 0.592,
      "hv_annual": 57.3,
      "hv_pctile": 0.658,
      "em_pct": 11.41,
      "horizon_days": 10,
      "down_1sigma": 337.15,
      "up_1sigma": 423.99,
      "down_2sigma": 293.72,
      "up_2sigma": 467.42,
      "lean": "Bearish",
      "note": "",
      "debt_ratio": 0.008572560932838813,
      "cash_ratio": 0.010255681541499135,
      "earnings_in_days": 19.0,
      "implied_move_pct": null,
      "vol_verdict": null,
      "iv_annual": null,
      "iv_rank": null,
      "premium_score": null,
      "premium_state": null,
      "liquidity": null,
      "action": "NO_DATA",
      "strategy": "Not priced",
      "options": null,
      "recommendation": {
        "ticker": "PANW",
        "action": "NO_DATA",
        "headline": "PANW: not priced — no IV read this run",
        "detail": "No option chain was priced for this ticker in this run (only the top-ranked names are priced).",
        "confidence": 0.0,
        "premium_state": "unknown",
        "premium_score": null,
        "bias": "bearish",
        "bias_strength": "weak",
        "plan": {
          "key": "no_data",
          "name": "Not priced",
          "action": "NO_DATA",
          "bias": "neutral",
          "thesis": "No option chain was priced for this ticker in this run (only the top-ranked names are priced).",
          "playbook": "No usable option chain this run — nothing to price.",
          "vega": "flat",
          "theta": "flat",
          "risk": "none",
          "legs": [],
          "expiry": null,
          "dte": null,
          "profit_horizon_dte": null,
          "net": null,
          "net_mid": null,
          "net_natural": null,
          "fill_basis": "",
          "max_profit": null,
          "max_loss": null,
          "breakevens": [],
          "profit_zone": "",
          "pop": null,
          "pop_basis": "",
          "credit_to_width": null,
          "manage": {},
          "sizing": {},
          "risk_form": {
            "tier": "n/a",
            "note": "No position — nothing to secure."
          }
        },
        "alternatives": [],
        "avoid": [],
        "why": [
          "Setup score 29/100 from price action alone — no implied-volatility read, so no premium call can be made."
        ],
        "warnings": [
          "Without IV there is no way to say whether options here are cheap or rich. Raise `options.top_n` in the config to price more names."
        ]
      },
      "long_dated": null,
      "near_term": null,
      "screen": {
        "compliant": true,
        "industry_ok": true,
        "industry": "Software - Infrastructure",
        "debt_ratio": 0.008572560932838813,
        "cash_ratio": 0.010255681541499135,
        "receivables_ratio": null,
        "reasons": [
          "ok"
        ]
      }
    },
    {
      "rank": 21,
      "ticker": "AMAT",
      "price": 421.66,
      "score": 28.9,
      "squeeze_on": false,
      "squeeze_days": 0,
      "squeeze_fired": false,
      "fired_dir": "",
      "bandwidth_pctile": 0.975,
      "hv_annual": 51.9,
      "hv_pctile": 0.458,
      "em_pct": 10.33,
      "horizon_days": 10,
      "down_1sigma": 378.11,
      "up_1sigma": 465.21,
      "down_2sigma": 334.55,
      "up_2sigma": 508.77,
      "lean": "Bearish",
      "note": "",
      "debt_ratio": 0.02372934921569412,
      "cash_ratio": 0.02982481564890126,
      "earnings_in_days": 12.0,
      "implied_move_pct": null,
      "vol_verdict": null,
      "iv_annual": null,
      "iv_rank": null,
      "premium_score": null,
      "premium_state": null,
      "liquidity": null,
      "action": "NO_DATA",
      "strategy": "Not priced",
      "options": null,
      "recommendation": {
        "ticker": "AMAT",
        "action": "NO_DATA",
        "headline": "AMAT: not priced — no IV read this run",
        "detail": "No option chain was priced for this ticker in this run (only the top-ranked names are priced).",
        "confidence": 0.0,
        "premium_state": "unknown",
        "premium_score": null,
        "bias": "bearish",
        "bias_strength": "weak",
        "plan": {
          "key": "no_data",
          "name": "Not priced",
          "action": "NO_DATA",
          "bias": "neutral",
          "thesis": "No option chain was priced for this ticker in this run (only the top-ranked names are priced).",
          "playbook": "No usable option chain this run — nothing to price.",
          "vega": "flat",
          "theta": "flat",
          "risk": "none",
          "legs": [],
          "expiry": null,
          "dte": null,
          "profit_horizon_dte": null,
          "net": null,
          "net_mid": null,
          "net_natural": null,
          "fill_basis": "",
          "max_profit": null,
          "max_loss": null,
          "breakevens": [],
          "profit_zone": "",
          "pop": null,
          "pop_basis": "",
          "credit_to_width": null,
          "manage": {},
          "sizing": {},
          "risk_form": {
            "tier": "n/a",
            "note": "No position — nothing to secure."
          }
        },
        "alternatives": [],
        "avoid": [],
        "why": [
          "Setup score 29/100 from price action alone — no implied-volatility read, so no premium call can be made."
        ],
        "warnings": [
          "Without IV there is no way to say whether options here are cheap or rich. Raise `options.top_n` in the config to price more names."
        ]
      },
      "long_dated": null,
      "near_term": null,
      "screen": {
        "compliant": true,
        "industry_ok": true,
        "industry": "Semiconductor Equipment & Materials",
        "debt_ratio": 0.02372934921569412,
        "cash_ratio": 0.02982481564890126,
        "receivables_ratio": null,
        "reasons": [
          "ok"
        ]
      }
    },
    {
      "rank": 22,
      "ticker": "LRCX",
      "price": 254.39,
      "score": 27.3,
      "squeeze_on": false,
      "squeeze_days": 0,
      "squeeze_fired": false,
      "fired_dir": "",
      "bandwidth_pctile": 0.983,
      "hv_annual": 59.1,
      "hv_pctile": 0.483,
      "em_pct": 11.78,
      "horizon_days": 10,
      "down_1sigma": 224.42,
      "up_1sigma": 284.36,
      "down_2sigma": 194.45,
      "up_2sigma": 314.33,
      "lean": "Bearish",
      "note": "",
      "debt_ratio": 0.012483601452892314,
      "cash_ratio": 0.024855235656146116,
      "earnings_in_days": null,
      "implied_move_pct": null,
      "vol_verdict": null,
      "iv_annual": null,
      "iv_rank": null,
      "premium_score": null,
      "premium_state": null,
      "liquidity": null,
      "action": "NO_DATA",
      "strategy": "Not priced",
      "options": null,
      "recommendation": {
        "ticker": "LRCX",
        "action": "NO_DATA",
        "headline": "LRCX: not priced — no IV read this run",
        "detail": "No option chain was priced for this ticker in this run (only the top-ranked names are priced).",
        "confidence": 0.0,
        "premium_state": "unknown",
        "premium_score": null,
        "bias": "bearish",
        "bias_strength": "weak",
        "plan": {
          "key": "no_data",
          "name": "Not priced",
          "action": "NO_DATA",
          "bias": "neutral",
          "thesis": "No option chain was priced for this ticker in this run (only the top-ranked names are priced).",
          "playbook": "No usable option chain this run — nothing to price.",
          "vega": "flat",
          "theta": "flat",
          "risk": "none",
          "legs": [],
          "expiry": null,
          "dte": null,
          "profit_horizon_dte": null,
          "net": null,
          "net_mid": null,
          "net_natural": null,
          "fill_basis": "",
          "max_profit": null,
          "max_loss": null,
          "breakevens": [],
          "profit_zone": "",
          "pop": null,
          "pop_basis": "",
          "credit_to_width": null,
          "manage": {},
          "sizing": {},
          "risk_form": {
            "tier": "n/a",
            "note": "No position — nothing to secure."
          }
        },
        "alternatives": [],
        "avoid": [],
        "why": [
          "Setup score 27/100 from price action alone — no implied-volatility read, so no premium call can be made."
        ],
        "warnings": [
          "Without IV there is no way to say whether options here are cheap or rich. Raise `options.top_n` in the config to price more names."
        ]
      },
      "long_dated": null,
      "near_term": null,
      "screen": {
        "compliant": true,
        "industry_ok": true,
        "industry": "Semiconductor Equipment & Materials",
        "debt_ratio": 0.012483601452892314,
        "cash_ratio": 0.024855235656146116,
        "receivables_ratio": null,
        "reasons": [
          "ok"
        ]
      }
    },
    {
      "rank": 23,
      "ticker": "GEV",
      "price": 887.85,
      "score": 21.4,
      "squeeze_on": false,
      "squeeze_days": 0,
      "squeeze_fired": false,
      "fired_dir": "",
      "bandwidth_pctile": 0.917,
      "hv_annual": 57.7,
      "hv_pctile": 0.633,
      "em_pct": 11.5,
      "horizon_days": 10,
      "down_1sigma": 785.72,
      "up_1sigma": 989.98,
      "down_2sigma": 683.59,
      "up_2sigma": 1092.11,
      "lean": "Bearish",
      "note": "",
      "debt_ratio": 0.016506758110443283,
      "cash_ratio": 0.0720695288007001,
      "earnings_in_days": 88.0,
      "implied_move_pct": null,
      "vol_verdict": null,
      "iv_annual": null,
      "iv_rank": null,
      "premium_score": null,
      "premium_state": null,
      "liquidity": null,
      "action": "NO_DATA",
      "strategy": "Not priced",
      "options": null,
      "recommendation": {
        "ticker": "GEV",
        "action": "NO_DATA",
        "headline": "GEV: not priced — no IV read this run",
        "detail": "No option chain was priced for this ticker in this run (only the top-ranked names are priced).",
        "confidence": 0.0,
        "premium_state": "unknown",
        "premium_score": null,
        "bias": "bearish",
        "bias_strength": "weak",
        "plan": {
          "key": "no_data",
          "name": "Not priced",
          "action": "NO_DATA",
          "bias": "neutral",
          "thesis": "No option chain was priced for this ticker in this run (only the top-ranked names are priced).",
          "playbook": "No usable option chain this run — nothing to price.",
          "vega": "flat",
          "theta": "flat",
          "risk": "none",
          "legs": [],
          "expiry": null,
          "dte": null,
          "profit_horizon_dte": null,
          "net": null,
          "net_mid": null,
          "net_natural": null,
          "fill_basis": "",
          "max_profit": null,
          "max_loss": null,
          "breakevens": [],
          "profit_zone": "",
          "pop": null,
          "pop_basis": "",
          "credit_to_width": null,
          "manage": {},
          "sizing": {},
          "risk_form": {
            "tier": "n/a",
            "note": "No position — nothing to secure."
          }
        },
        "alternatives": [],
        "avoid": [],
        "why": [
          "Setup score 21/100 from price action alone — no implied-volatility read, so no premium call can be made."
        ],
        "warnings": [
          "Without IV there is no way to say whether options here are cheap or rich. Raise `options.top_n` in the config to price more names."
        ]
      },
      "long_dated": null,
      "near_term": null,
      "screen": {
        "compliant": true,
        "industry_ok": true,
        "industry": "Specialty Industrial Machinery",
        "debt_ratio": 0.016506758110443283,
        "cash_ratio": 0.0720695288007001,
        "receivables_ratio": null,
        "reasons": [
          "ok"
        ]
      }
    },
    {
      "rank": 24,
      "ticker": "KO",
      "price": 92.82,
      "score": 20.2,
      "squeeze_on": false,
      "squeeze_days": 0,
      "squeeze_fired": false,
      "fired_dir": "",
      "bandwidth_pctile": 0.958,
      "hv_annual": 21.5,
      "hv_pctile": 0.633,
      "em_pct": 4.29,
      "horizon_days": 10,
      "down_1sigma": 88.84,
      "up_1sigma": 96.8,
      "down_2sigma": 84.85,
      "up_2sigma": 100.79,
      "lean": "Bullish",
      "note": "",
      "debt_ratio": 0.1049557369689418,
      "cash_ratio": 0.041003356262344484,
      "earnings_in_days": null,
      "implied_move_pct": null,
      "vol_verdict": null,
      "iv_annual": null,
      "iv_rank": null,
      "premium_score": null,
      "premium_state": null,
      "liquidity": null,
      "action": "NO_DATA",
      "strategy": "Not priced",
      "options": null,
      "recommendation": {
        "ticker": "KO",
        "action": "NO_DATA",
        "headline": "KO: not priced — no IV read this run",
        "detail": "No option chain was priced for this ticker in this run (only the top-ranked names are priced).",
        "confidence": 0.0,
        "premium_state": "unknown",
        "premium_score": null,
        "bias": "bullish",
        "bias_strength": "weak",
        "plan": {
          "key": "no_data",
          "name": "Not priced",
          "action": "NO_DATA",
          "bias": "neutral",
          "thesis": "No option chain was priced for this ticker in this run (only the top-ranked names are priced).",
          "playbook": "No usable option chain this run — nothing to price.",
          "vega": "flat",
          "theta": "flat",
          "risk": "none",
          "legs": [],
          "expiry": null,
          "dte": null,
          "profit_horizon_dte": null,
          "net": null,
          "net_mid": null,
          "net_natural": null,
          "fill_basis": "",
          "max_profit": null,
          "max_loss": null,
          "breakevens": [],
          "profit_zone": "",
          "pop": null,
          "pop_basis": "",
          "credit_to_width": null,
          "manage": {},
          "sizing": {},
          "risk_form": {
            "tier": "n/a",
            "note": "No position — nothing to secure."
          }
        },
        "alternatives": [],
        "avoid": [],
        "why": [
          "Setup score 20/100 from price action alone — no implied-volatility read, so no premium call can be made."
        ],
        "warnings": [
          "Without IV there is no way to say whether options here are cheap or rich. Raise `options.top_n` in the config to price more names."
        ]
      },
      "long_dated": null,
      "near_term": null,
      "screen": {
        "compliant": true,
        "industry_ok": true,
        "industry": "Beverages - Non-Alcoholic",
        "debt_ratio": 0.1049557369689418,
        "cash_ratio": 0.041003356262344484,
        "receivables_ratio": null,
        "reasons": [
          "ok"
        ]
      }
    },
    {
      "rank": 25,
      "ticker": "LLY",
      "price": 1373.7,
      "score": 17.3,
      "squeeze_on": false,
      "squeeze_days": 0,
      "squeeze_fired": false,
      "fired_dir": "",
      "bandwidth_pctile": 0.925,
      "hv_annual": 34.4,
      "hv_pctile": 0.708,
      "em_pct": 6.86,
      "horizon_days": 10,
      "down_1sigma": 1279.45,
      "up_1sigma": 1467.95,
      "down_2sigma": 1185.2,
      "up_2sigma": 1562.2,
      "lean": "Bullish",
      "note": "",
      "debt_ratio": null,
      "cash_ratio": null,
      "earnings_in_days": null,
      "implied_move_pct": null,
      "vol_verdict": null,
      "iv_annual": null,
      "iv_rank": null,
      "premium_score": null,
      "premium_state": null,
      "liquidity": null,
      "action": "NO_DATA",
      "strategy": "Not priced",
      "options": null,
      "recommendation": {
        "ticker": "LLY",
        "action": "NO_DATA",
        "headline": "LLY: not priced — no IV read this run",
        "detail": "No option chain was priced for this ticker in this run (only the top-ranked names are priced).",
        "confidence": 0.0,
        "premium_state": "unknown",
        "premium_score": null,
        "bias": "bullish",
        "bias_strength": "weak",
        "plan": {
          "key": "no_data",
          "name": "Not priced",
          "action": "NO_DATA",
          "bias": "neutral",
          "thesis": "No option chain was priced for this ticker in this run (only the top-ranked names are priced).",
          "playbook": "No usable option chain this run — nothing to price.",
          "vega": "flat",
          "theta": "flat",
          "risk": "none",
          "legs": [],
          "expiry": null,
          "dte": null,
          "profit_horizon_dte": null,
          "net": null,
          "net_mid": null,
          "net_natural": null,
          "fill_basis": "",
          "max_profit": null,
          "max_loss": null,
          "breakevens": [],
          "profit_zone": "",
          "pop": null,
          "pop_basis": "",
          "credit_to_width": null,
          "manage": {},
          "sizing": {},
          "risk_form": {
            "tier": "n/a",
            "note": "No position — nothing to secure."
          }
        },
        "alternatives": [],
        "avoid": [],
        "why": [
          "Setup score 17/100 from price action alone — no implied-volatility read, so no premium call can be made."
        ],
        "warnings": [
          "Without IV there is no way to say whether options here are cheap or rich. Raise `options.top_n` in the config to price more names."
        ]
      },
      "long_dated": null,
      "near_term": null,
      "screen": {
        "compliant": null,
        "industry_ok": true,
        "industry": "Drug Manufacturers - General",
        "debt_ratio": null,
        "cash_ratio": null,
        "receivables_ratio": null,
        "reasons": [
          "not screened: no debt, cash ratio (figure missing from Yahoo)"
        ]
      }
    },
    {
      "rank": 26,
      "ticker": "JNJ",
      "price": 275.2,
      "score": 10.8,
      "squeeze_on": false,
      "squeeze_days": 0,
      "squeeze_fired": false,
      "fired_dir": "",
      "bandwidth_pctile": 0.8,
      "hv_annual": 30.7,
      "hv_pctile": 0.9,
      "em_pct": 6.11,
      "horizon_days": 10,
      "down_1sigma": 258.38,
      "up_1sigma": 292.02,
      "down_2sigma": 241.55,
      "up_2sigma": 308.85,
      "lean": "Bullish",
      "note": "",
      "debt_ratio": 0.06789196633543118,
      "cash_ratio": 0.026195219567652694,
      "earnings_in_days": null,
      "implied_move_pct": null,
      "vol_verdict": null,
      "iv_annual": null,
      "iv_rank": null,
      "premium_score": null,
      "premium_state": null,
      "liquidity": null,
      "action": "NO_DATA",
      "strategy": "Not priced",
      "options": null,
      "recommendation": {
        "ticker": "JNJ",
        "action": "NO_DATA",
        "headline": "JNJ: not priced — no IV read this run",
        "detail": "No option chain was priced for this ticker in this run (only the top-ranked names are priced).",
        "confidence": 0.0,
        "premium_state": "unknown",
        "premium_score": null,
        "bias": "bullish",
        "bias_strength": "weak",
        "plan": {
          "key": "no_data",
          "name": "Not priced",
          "action": "NO_DATA",
          "bias": "neutral",
          "thesis": "No option chain was priced for this ticker in this run (only the top-ranked names are priced).",
          "playbook": "No usable option chain this run — nothing to price.",
          "vega": "flat",
          "theta": "flat",
          "risk": "none",
          "legs": [],
          "expiry": null,
          "dte": null,
          "profit_horizon_dte": null,
          "net": null,
          "net_mid": null,
          "net_natural": null,
          "fill_basis": "",
          "max_profit": null,
          "max_loss": null,
          "breakevens": [],
          "profit_zone": "",
          "pop": null,
          "pop_basis": "",
          "credit_to_width": null,
          "manage": {},
          "sizing": {},
          "risk_form": {
            "tier": "n/a",
            "note": "No position — nothing to secure."
          }
        },
        "alternatives": [],
        "avoid": [],
        "why": [
          "Setup score 11/100 from price action alone — no implied-volatility read, so no premium call can be made."
        ],
        "warnings": [
          "Without IV there is no way to say whether options here are cheap or rich. Raise `options.top_n` in the config to price more names."
        ]
      },
      "long_dated": null,
      "near_term": null,
      "screen": {
        "compliant": true,
        "industry_ok": true,
        "industry": "Drug Manufacturers - General",
        "debt_ratio": 0.06789196633543118,
        "cash_ratio": 0.026195219567652694,
        "receivables_ratio": null,
        "reasons": [
          "ok"
        ]
      }
    },
    {
      "rank": 27,
      "ticker": "HD",
      "price": 328.98,
      "score": 9.1,
      "squeeze_on": false,
      "squeeze_days": 0,
      "squeeze_fired": false,
      "fired_dir": "",
      "bandwidth_pctile": 1.0,
      "hv_annual": 28.7,
      "hv_pctile": 0.825,
      "em_pct": 5.72,
      "horizon_days": 10,
      "down_1sigma": 310.16,
      "up_1sigma": 347.8,
      "down_2sigma": 291.35,
      "up_2sigma": 366.61,
      "lean": "Bullish",
      "note": "",
      "debt_ratio": 0.19238859519178353,
      "cash_ratio": 0.006348202250214902,
      "earnings_in_days": 17.0,
      "implied_move_pct": null,
      "vol_verdict": null,
      "iv_annual": null,
      "iv_rank": null,
      "premium_score": null,
      "premium_state": null,
      "liquidity": null,
      "action": "NO_DATA",
      "strategy": "Not priced",
      "options": null,
      "recommendation": {
        "ticker": "HD",
        "action": "NO_DATA",
        "headline": "HD: not priced — no IV read this run",
        "detail": "No option chain was priced for this ticker in this run (only the top-ranked names are priced).",
        "confidence": 0.0,
        "premium_state": "unknown",
        "premium_score": null,
        "bias": "bullish",
        "bias_strength": "weak",
        "plan": {
          "key": "no_data",
          "name": "Not priced",
          "action": "NO_DATA",
          "bias": "neutral",
          "thesis": "No option chain was priced for this ticker in this run (only the top-ranked names are priced).",
          "playbook": "No usable option chain this run — nothing to price.",
          "vega": "flat",
          "theta": "flat",
          "risk": "none",
          "legs": [],
          "expiry": null,
          "dte": null,
          "profit_horizon_dte": null,
          "net": null,
          "net_mid": null,
          "net_natural": null,
          "fill_basis": "",
          "max_profit": null,
          "max_loss": null,
          "breakevens": [],
          "profit_zone": "",
          "pop": null,
          "pop_basis": "",
          "credit_to_width": null,
          "manage": {},
          "sizing": {},
          "risk_form": {
            "tier": "n/a",
            "note": "No position — nothing to secure."
          }
        },
        "alternatives": [],
        "avoid": [],
        "why": [
          "Setup score 9/100 from price action alone — no implied-volatility read, so no premium call can be made."
        ],
        "warnings": [
          "Without IV there is no way to say whether options here are cheap or rich. Raise `options.top_n` in the config to price more names."
        ]
      },
      "long_dated": null,
      "near_term": null,
      "screen": {
        "compliant": true,
        "industry_ok": true,
        "industry": "Home Improvement Retail",
        "debt_ratio": 0.19238859519178353,
        "cash_ratio": 0.006348202250214902,
        "receivables_ratio": null,
        "reasons": [
          "ok"
        ]
      }
    },
    {
      "rank": 28,
      "ticker": "PG",
      "price": 160.59,
      "score": 4.2,
      "squeeze_on": false,
      "squeeze_days": 0,
      "squeeze_fired": false,
      "fired_dir": "",
      "bandwidth_pctile": 0.958,
      "hv_annual": 25.5,
      "hv_pctile": 0.942,
      "em_pct": 5.08,
      "horizon_days": 10,
      "down_1sigma": 152.43,
      "up_1sigma": 168.75,
      "down_2sigma": 144.28,
      "up_2sigma": 176.9,
      "lean": "Bullish",
      "note": "",
      "debt_ratio": 0.10394296132985753,
      "cash_ratio": 0.04102976472460771,
      "earnings_in_days": 82.0,
      "implied_move_pct": null,
      "vol_verdict": null,
      "iv_annual": null,
      "iv_rank": null,
      "premium_score": null,
      "premium_state": null,
      "liquidity": null,
      "action": "NO_DATA",
      "strategy": "Not priced",
      "options": null,
      "recommendation": {
        "ticker": "PG",
        "action": "NO_DATA",
        "headline": "PG: not priced — no IV read this run",
        "detail": "No option chain was priced for this ticker in this run (only the top-ranked names are priced).",
        "confidence": 0.0,
        "premium_state": "unknown",
        "premium_score": null,
        "bias": "bullish",
        "bias_strength": "weak",
        "plan": {
          "key": "no_data",
          "name": "Not priced",
          "action": "NO_DATA",
          "bias": "neutral",
          "thesis": "No option chain was priced for this ticker in this run (only the top-ranked names are priced).",
          "playbook": "No usable option chain this run — nothing to price.",
          "vega": "flat",
          "theta": "flat",
          "risk": "none",
          "legs": [],
          "expiry": null,
          "dte": null,
          "profit_horizon_dte": null,
          "net": null,
          "net_mid": null,
          "net_natural": null,
          "fill_basis": "",
          "max_profit": null,
          "max_loss": null,
          "breakevens": [],
          "profit_zone": "",
          "pop": null,
          "pop_basis": "",
          "credit_to_width": null,
          "manage": {},
          "sizing": {},
          "risk_form": {
            "tier": "n/a",
            "note": "No position — nothing to secure."
          }
        },
        "alternatives": [],
        "avoid": [],
        "why": [
          "Setup score 4/100 from price action alone — no implied-volatility read, so no premium call can be made."
        ],
        "warnings": [
          "Without IV there is no way to say whether options here are cheap or rich. Raise `options.top_n` in the config to price more names."
        ]
      },
      "long_dated": null,
      "near_term": null,
      "screen": {
        "compliant": true,
        "industry_ok": true,
        "industry": "Household & Personal Products",
        "debt_ratio": 0.10394296132985753,
        "cash_ratio": 0.04102976472460771,
        "receivables_ratio": null,
        "reasons": [
          "ok"
        ]
      }
    },
    {
      "rank": 29,
      "ticker": "GOOGL",
      "price": 283.82,
      "score": 2.3,
      "squeeze_on": false,
      "squeeze_days": 0,
      "squeeze_fired": false,
      "fired_dir": "",
      "bandwidth_pctile": 0.933,
      "hv_annual": 50.6,
      "hv_pctile": 0.992,
      "em_pct": 10.08,
      "horizon_days": 10,
      "down_1sigma": 255.2,
      "up_1sigma": 312.44,
      "down_2sigma": 226.58,
      "up_2sigma": 341.06,
      "lean": "Bearish",
      "note": "",
      "debt_ratio": 0.041250711297491964,
      "cash_ratio": 0.07705547259413052,
      "earnings_in_days": null,
      "implied_move_pct": null,
      "vol_verdict": null,
      "iv_annual": null,
      "iv_rank": null,
      "premium_score": null,
      "premium_state": null,
      "liquidity": null,
      "action": "NO_DATA",
      "strategy": "Not priced",
      "options": null,
      "recommendation": {
        "ticker": "GOOGL",
        "action": "NO_DATA",
        "headline": "GOOGL: not priced — no IV read this run",
        "detail": "No option chain was priced for this ticker in this run (only the top-ranked names are priced).",
        "confidence": 0.0,
        "premium_state": "unknown",
        "premium_score": null,
        "bias": "bearish",
        "bias_strength": "weak",
        "plan": {
          "key": "no_data",
          "name": "Not priced",
          "action": "NO_DATA",
          "bias": "neutral",
          "thesis": "No option chain was priced for this ticker in this run (only the top-ranked names are priced).",
          "playbook": "No usable option chain this run — nothing to price.",
          "vega": "flat",
          "theta": "flat",
          "risk": "none",
          "legs": [],
          "expiry": null,
          "dte": null,
          "profit_horizon_dte": null,
          "net": null,
          "net_mid": null,
          "net_natural": null,
          "fill_basis": "",
          "max_profit": null,
          "max_loss": null,
          "breakevens": [],
          "profit_zone": "",
          "pop": null,
          "pop_basis": "",
          "credit_to_width": null,
          "manage": {},
          "sizing": {},
          "risk_form": {
            "tier": "n/a",
            "note": "No position — nothing to secure."
          }
        },
        "alternatives": [],
        "avoid": [],
        "why": [
          "Setup score 2/100 from price action alone — no implied-volatility read, so no premium call can be made."
        ],
        "warnings": [
          "Without IV there is no way to say whether options here are cheap or rich. Raise `options.top_n` in the config to price more names."
        ]
      },
      "long_dated": null,
      "near_term": null,
      "screen": {
        "compliant": true,
        "industry_ok": true,
        "industry": "Internet Content & Information",
        "debt_ratio": 0.041250711297491964,
        "cash_ratio": 0.07705547259413052,
        "receivables_ratio": null,
        "reasons": [
          "ok"
        ]
      }
    }
  ]
}
