Skip to main content

Options Data

Status: Verified against code Last Updated: 2025-12-11

What This Means

When you request an OPTIONS trade, the algorithm needs to pick a specific contract. This section explains what data we have to make that selection.

What We Get

Options Chain

The full list of available contracts for your ticker:

Data PointWhat It Tells You
Strike PriceThe price the option lets you buy/sell at
Expiration DateWhen the contract expires
Contract TypeCALL (bullish) or PUT (bearish)
Bid / AskCurrent prices to sell / buy
VolumeContracts traded today
Open InterestTotal contracts outstanding

The Greeks

Risk measurements for each contract:

GreekWhat It MeasuresHow We Use It
DeltaPrice sensitivity (0-1)We filter for 0.30-0.55
ThetaTime decay per dayLower = better for buyers
GammaDelta's rate of changeNot directly filtered
VegaVolatility sensitivityNot directly filtered
IVImplied volatilityNoted but not filtered

Historical Options Prices

We CAN fetch historical OHLC bars for specific options contracts.

Currently used for: Backtesting and trade evaluation

NOT used during trade plan generation — We use the current chain snapshot when selecting contracts.

How We Filter Contracts

Step 1: Direction

  • Technical Agent says LONG → look at CALLs only
  • Technical Agent says SHORT → look at PUTs only

Step 2: Expiration (DTE)

StyleDays to Expiration
SCALP0 DTE when available (otherwise nearest expiration)
DAY3-7 DTE
SWING8-30 DTE
INVESTMENT30-60 DTE

0DTE availability note: Index ETFs (SPY/QQQ/IWM) can have daily expirations. Most individual stocks typically only have true same-day expiration on Fridays. If 0DTE isn't available for the ticker/day, the system should use the nearest expiration and clearly flag that it is not a true 0DTE scalp.

Step 3: Delta Filtering (Three Phases)

  1. Phase 1: Delta 0.30 to 0.55 (ideal range)
  2. Phase 2: Delta 0.20 to 0.65 (expanded, if Phase 1 finds nothing)
  3. Phase 3: Contracts with valid bid/ask but missing delta

Step 4: Expired Contract Removal

The data source sometimes returns stale contracts. We filter out:

  • Contracts where expiration is in the past
  • Contracts expiring TODAY if it's after 4:00 PM ET

Mike's Top 5 Selection Criteria

  1. Price - Affordable within risk budget
  2. Volume - Liquidity for entry/exit
  3. Theta - Low time decay
  4. Delta - 0.30-0.55 range
  5. Open Interest - Minimum 100 contracts

Backtest Methodology (Transparency Note)

When evaluating the historical accuracy of OPTIONS trade plans, the system uses underlying stock price movement rather than actual option premium P&L.

What this means:

  • If the trade plan says "BUY CALLS with stop at $95 and target at $105"
  • The backtest checks if the underlying stock hit $95 (loss) or $105 (win)
  • It does NOT track the actual option premium changes

Why this matters:

  • This approach measures directional accuracy (was the trade direction correct?)
  • It may not reflect actual option P&L due to theta decay, IV changes, or greeks
  • A "win" in the backtest means the underlying moved in the predicted direction and hit the target

Implication: Win rates reflect directional accuracy of the underlying asset, which is the most important factor for options trades, but actual P&L will vary based on contract selection, timing, and market conditions.

What We DON'T Have

  • Options flow (institutional orders)
  • Multi-leg strategies (spreads)
  • Real-time unusual activity alerts