Options trading
OpenOption and CloseOption strategies, spreads, backtesting, sizing, and Aurora.
# Options trading
NexusTrade supports **algorithmic options strategies** end-to-end: you define opening and closing rules in the same **strategy / condition / action** model as equities, run **historical backtests** on options data, and (depending on your brokerage) move toward **paper or live** deployment.
👉 **[Options overview (marketing) →](/options)**
## OpenOption and CloseOption
- **OpenOption** opens a **new** options position. You configure an **options builder**: underlying ticker (or a **dynamic universe pipeline** that picks underlyings), one or more **legs** (call/put, long/short), **DTE** windows, **strike** selection (percent, dollars, or delta from at-the-money), optional **Greek filters** per leg, optional **spread type** (vertical, iron condor, straddle, strangle, calendar, diagonal, custom), and **allocation** (percent of buying power, dollars, percent of portfolio, or contracts).
- **CloseOption** closes **existing** option positions. Filters include underlyings, option type, direction, spread type, **P/L percent** (take profit / stop loss), **DTE**, **days held**, **spread-level Greeks** (delta, IV, theta), and quantity. **Always use CloseOption to exit options**—do not use **Sell** on option legs.
For how these fit into the strategy model, see [Actions](/docs/core-concepts/actions).
## Strike selection
Each leg specifies how to find its strike price relative to the underlying:
| Method | Description | Example |
|--------|-------------|---------|
| **Percent** | Distance as a % from ATM | `5` = 5% OTM |
| **Dollars** | Distance in dollars from ATM | `10` = $10 OTM |
| **Delta** | Target absolute delta | `0.30` = 30-delta option |
Positive distance always means **OTM** for both calls and puts. A distance of `0` means at-the-money.
### Strike and expiration fallback ranges
If the target strike is **unaffordable** or no contract exists there, the system can search a **fallback range**. You specify a start distance, end distance, and iteration direction:
- **OTMToITM** — search from the cheapest OTM strikes inward toward ITM (most common).
- **ITMToOTM** — search from deeper ITM strikes outward toward OTM.
Similarly, an **expiration fallback range** lets the system search a wider DTE window (`ShortestFirst` or `LongestFirst`) when the primary DTE window has no available contracts.
## Greek filters (entry)
Each leg can include optional **Greek constraints** that filter candidate contracts during resolution. Only contracts passing all specified bounds are considered.
| Filter | Use case |
|--------|----------|
| `minDelta` / `maxDelta` | Target a specific delta range (e.g. sell 25–35 delta puts) |
| `minIv` / `maxIv` | Only trade when IV is in a desired range |
| `minGamma` / `maxGamma` | Filter by gamma exposure |
| `minTheta` / `maxTheta` | Filter by time decay |
| `minVega` / `maxVega` | Filter by volatility sensitivity |
| `minRho` / `maxRho` | Filter by interest rate sensitivity |
All fields are optional — omit any to skip that constraint.
## Greek-based exits (CloseOption)
CloseOption supports **spread-level Greek filters** for dynamic exit rules beyond simple P/L thresholds:
| Filter | Description |
|--------|-------------|
| `minSpreadDelta` / `maxSpreadDelta` | Close when the net spread delta drifts outside a range |
| `minIv` / `maxIv` | Close when implied volatility crosses a threshold (e.g. IV crush) |
| `minSpreadTheta` / `maxSpreadTheta` | Close when daily theta decay is too small to justify holding |
These filters are applied at the **spread level** (aggregated across all legs). Spreads where Greeks are unavailable are skipped conservatively.
## Ratio spreads
Each leg has an optional **ratio** field (default: 1). For a 1:2 ratio put spread, set the long leg to `ratio: 1` and the short leg to `ratio: 2`. The system calculates contract quantities accordingly.
## Supported spread types
Vertical, iron condor, straddle, strangle, calendar, diagonal, and custom. The spread type is **auto-detected** from the leg configuration if not specified.
## Options indicators for conditions
NexusTrade includes seven **option-specific indicators** you can use in strategy conditions. All accept optional filters (underlying, option type, direction, spread type):
| Indicator | Description |
|-----------|-------------|
| **Option Spread Count** | Number of open spreads (use to gate entries, e.g. `< 3`) |
| **Option Position Value** | Total market value of matching spreads |
| **Option Position P&L%** | Weighted average P&L % across spreads |
| **Option Days to Expiration** | Min or max DTE across spreads |
| **Option Days Held** | Min or max days since entry |
| **Option Collateral** | Total collateral locked |
| **Option Unrealized P&L** | Total unrealized P&L in dollars |
For full parameter details, see [Advanced Indicators](/docs/indicators/advanced-indicators).
### Options order cooldowns
Two dedicated indicators measure time since your most recent **option order**:
- **Days Since Option Order** — with optional filters for underlying, option type, direction, spread type, position effect (open/close), and DTE range at order time.
- **Minutes Since Option Order** — same filters, for intraday cooldowns.
These let you build cooldowns like “don’t open another SPY spread for 30 minutes after the last one.”
## Describing strategies to Aurora
In [Aurora](/docs/features/aurora-ai), describe **concrete** option structures (underlying, spread type, DTE, strikes, allocation)—not open-ended “research then trade options” tasks. Aurora maps your request to **OpenOption** / **CloseOption** via portfolio generation.
**Example Chat / Agent prompts:**
- `”Create an SPY bull put spread when price is above the 200-day SMA: short 2% OTM put, long 5% OTM put, 30–45 DTE, 10% of buying power”`
- `”Close all SPY options at +50% profit or −30% loss”`
- `”Buy ATM calls on the top 3 S&P 500 stocks by 30-day momentum each Monday, 30–45 DTE”`
- `”Sell 30-delta puts on SPY, 20–30 DTE, close at 50% profit or when delta exceeds −0.50”`
## Portfolio starting capital (important)
Standard equity portfolios often use **$25,000** as a default **initial portfolio value** when you do not specify a size. **Options consume much more buying power** than the same dollar allocation in stock: each contract represents **100 shares** of the underlying, and strategies like **LEAPS** or **short premium on index ETFs** can require **very large** notional or margin.
**When you do not state an account size**, NexusTrade’s assistants and generators assume:
- **$25,000** for **stock/ETF-only** portfolios.
- **$500,000** as a baseline **initial value** for **options** portfolios.
- **$1,000,000** for **LEAPS**, **multi-underlying** selection (e.g. momentum-ranked names), or **short premium on broad indices** (e.g. SPY, QQQ), unless you specify otherwise.
If your backtest uses too small an **initial value**, you may see few or no fills. If you **do** use a small account, narrow the strategy: fewer underlyings, **defined-risk** spreads instead of naked short premium, shorter DTE, or smaller allocation per trade.
## Backtesting options
Options backtesting is a **premium feature** available to paid subscribers. Options backtests use historical **daily** options data where configured for your run. Treat results like any backtest: watch for overfitting, test multiple date ranges, then **paper trade** before live capital. See [Backtesting](/docs/features/backtesting) for general methodology.
## Live trading and brokerages
Not every brokerage enables every option order type in automation. Supported **multi-leg** and **options** capabilities depend on the connected broker—see [Live Trading & Deployment](/docs/features/live-trading) and your broker’s integration. **Paper trading** is the right first step for new options automations.
## Related
- [Actions](/docs/core-concepts/actions) — OpenOption & CloseOption details
- [Advanced Indicators](/docs/indicators/advanced-indicators) — Option position indicators reference
- [Strategies](/docs/core-concepts/strategies) — how conditions and actions combine
- [Aurora AI Agent](/docs/features/aurora-ai) — natural-language portfolio creation