Methodology

How ACondor works

A complete walkthrough of the strategy, entry engines, exit rules, and risk controls.

On this page

The strategy: selling implied volatility

The edge in options premium selling is simple to state: implied volatility, what the market prices into options, tends to overstate the move that actually happens. Selling that gap is the structural edge.

The metric that tells you when premium is expensive is IV Rank: where current implied vol sits in its trailing one-year range. (IV_now − IV_low) / (IV_high − IV_low) × 100. At IV Rank 30 you are in the upper third of the historical range. At 80 you are near the annual peak. ACondor only sells when IV Rank meets its engine-specific floor.

Strike selection and the expected move

ACondor selects short strikes by delta, not by arbitrary distance from the money. Delta approximates the probability that an option finishes in-the-money. A 20-delta short strike sits near the edge of the expected move, with roughly an 80% chance of expiring worthless. A 16-delta short strike sits at approximately one standard deviation, with roughly an 84% chance of expiring worthless.

The mechanical engine uses 20-delta shorts, placing the condor around the expected move. The earnings engine goes further: it reads the implied move the options market is pricing for the report and places each short at the further of the 16-delta strike and 1.3× that implied move from the stock price, so the strikes scale with how big a print the market expects. The contraction engine uses 16-delta shorts for higher probability on the faster, shorter cycle.

Getting a fair fill

Entry orders are priced with a concession toward the touch, not submitted at the raw midpoint. ACondor reads the live bid and ask and gives up only as much edge as it takes to trade, which improves fill rates without conceding more than necessary. The same real bid/ask read backs urgent exits: the bot moves its price only as far as the actual market requires, never further than a stale quote would suggest. An order that hasn't found a fill within about 90 seconds is canceled and re-priced against the current market rather than left resting on a stale price.

The four engines

Mechanical engine

Sells iron condors 30 to 65 days out when volatility is rich.

Max profitMax lossMax lossShort putShort callStock Price at ExpiryP&L
IV Rank floor
50
DTE band
30-65
Short delta
0.20
Wing width
$10 (5/10/15/20 per account)
Profit target
50% of max
DTE backstop
21

The default engine. It sells iron condors at 30 to 65 DTE on liquid, non-earnings underlyings whenever IV Rank is at or above 50. Monthly expirations are preferred for liquidity.

Closes at 50% of the credit collected, or at 21 DTE regardless if the target is never reached, since the theta-to-gamma tradeoff degrades past that point. The roll ladder may engage when a short strike's delta reaches 0.45 or the underlying moves more than 1.5x the implied move at entry, but for defined-risk iron condors the bot prefers to let it ride or close rather than roll.

Earnings IV-crush engine

Enters before an earnings report, holds through it, closes the morning after.

Max profitMax lossShort putStock Price at ExpiryP&L
IV Rank floor
50
Short strikes
Further of 0.16Δ and 1.3× implied move
Wing width
$10, credit ≥ 1/3 of width
Selection
Beta ≤ 1.3, implied move ≤ 8%, calmest first
Expiry
≥ 7 days past the report
Exit
Profit target next morning, else standard defense

Enters before an earnings report when IV Rank is at or above 50. Short strikes anchor to the implied move the market is pricing for the report, on 10-point wings, only when the credit is at least a third of the wing. Names that price as true binaries never make the list: beta above 1.3 or an implied move over 8% of the stock price screens a candidate out, and the remaining names are ranked calmest-first.

The chosen expiry sits at least a week past the report. The morning after, a position at its profit target closes immediately to bank the crush; anything else hands off to the same management rules as a mechanical position, delta defense and the roll ladder on a tested side.

Volatility contraction engine

Fires on non-earnings IV spikes and rides the fast mean-reversion back down.

Max profitMax lossMax lossShort putShort callStock Price at ExpiryP&L
IV Rank floor
80 + confirmed jump
DTE band
7-21
Short delta
0.16
Exit
Vol normalized or 3 DTE

Fires on non-earnings IV spikes. The trigger requires both an IV Rank above 80 and a confirmed recent jump, so static high-IV names do not constantly trigger.

Short-dated structures (7 to 21 DTE) ride the fast mean-reversion at a tighter 16-delta for extra probability cushion on the shorter clock. Exit is the first to fire: IV Rank normalizes back below 30, profit target hits, or 3 DTE.

Directional engine

The offensive engine: enters only on a strong directional signal, off by default.

Max profitMax lossLong strikeStock Price at ExpiryP&L
Default
Off
Signal
News-derived bias or chain skew
Structure
Credit-funded debit pair
Reward:risk floor
Configurable

Enters only when a strong directional signal is present: a high-confidence news bias or an explicit chain-skew inference. Prefers credit-funded pair structures, selling a credit spread to subsidize a directional debit. Off by default and operator-enabled.

News gate, all engines

Runs before every engine's own exit rules, on every open position, every cycle.

  • High-confidence opposing news (≥ 0.90) closes the position immediately, regardless of loss depth.
  • Lower-confidence opposing news (≥ 0.75) reduces the position to half size instead of closing it outright.
  • Non-directional structures (mechanical, earnings, contraction) treat both strongly bullish and strongly bearish news as a threat. Directional positions only react to news opposing their own direction, bearish news for a bullish structure, bullish news for a bearish one, so a winning position is never closed by favorable headlines.

The exit state machine

Every open position is evaluated on every cycle. Rules fire in priority order below; the first rule that matches wins.

# Rule Trigger Action
1 Assignment cleanup A stock leg exists (early assignment occurred) Close the whole position immediately
2 News gate High-confidence opposing news Close at ≥ 0.90 confidence regardless of loss depth. Reduce by half at ≥ 0.75. Flag only at ≥ 0.60
3 Fast exit News-triggered entries, sliding profit target 15% within 30 min, 25% within 2h, 35% within 12h
4 VIX collapse VIX drops 5+ points since entry and position is profitable ≥ 25% of max Harvest the IV crush
5 Expiry flatten Expiration day after 1:00 PM ET Close regardless of P&L
6 Assignment risk (proactive) ITM short with extrinsic value below $0.10/share Pulled before assignment
7 Per-engine rules None of the above fired Profit target (50% mechanical/earnings/contraction, 82% directional) → hard stop (off by default) → delta defense (roll ladder) → earnings avoid → DTE backstop
8 Hold Nothing fired Hold through to the next cycle

Profit-target exits also check market width before firing: if the widest leg is quoted more than 30% wide, the close waits for a tighter market rather than paying that spread. Defensive and must-fill exits, including the news gate and assignment cleanup above, are never delayed by this check.

The roll ladder

When a short strike is tested, its delta reaches 0.45 or the underlying has moved more than 1.5x the implied move at entry, ACondor engages the roll ladder. For undefined-risk structures (strangles), it rolls the tested side out in time and further OTM for a net credit.

For defined-risk structures (iron condors), the wing already caps the loss; the bot prefers to let it ride or close rather than roll, following tastytrade's stated stance. A vertical roll, bringing the untested side in toward the money for extra credit, is available but off by default.

Risk controls

Market-wide
Control Trigger What happens
VIX kill switch VIX ≥ 35 Halts new entries for the rest of the session
Macro halt windows FOMC or CPI release windows Halts new entries
Intraday risk-off halt SPY drops 1.5% or VIX jumps 5 points on the day Halts new entries
Per-account
Control Trigger What happens
Daily loss circuit breaker -$500 or -5% of NLV (realized P&L), whichever hits first Halts new entries for the session
Weekly loss circuit breaker -$1,500 or -10% (realized P&L) Halts new entries for the week
Sector concentration cap 3 positions per sector (adjustable) Blocks a 4th same-sector entry
Allocation cap 10% of net liq deployed by default Blocks further entries
Buying power ceiling 35% of broker buying power, including manual positions Blocks further entries
Beta-weighted delta band Book leans further than 1% of net liq per 1-point S&P move Only balancing trades are opened
Position count cap Configured per account Blocks further entries
Per-position
Control Trigger What happens
Per-trade risk cap $700 flat by default (or % of NLV) Candidate is skipped, not resized
Volatility risk premium gate Implied volatility must exceed recent realized volatility Candidate is skipped

Daily and weekly loss limits are based on realized P&L, losses from positions actually closed, not open drawdown in positions still held. A volatility spike that reverses within a day or two won't trip a halt on its own; the VIX kill switch and intraday risk-off halt are the controls that respond to market-wide stress directly.

Multi-account architecture

ACondor manages multiple tastytrade accounts simultaneously from a single dashboard. Each account has its own credentials, dry-run toggle, trading-enabled toggle, and per-account config overrides. The scanner runs once; positions and fills are isolated per account number in the database. One bot process handles them all.

Each position row carries at-a-glance status cues: an account chip showing which account and environment (paper or live) it belongs to, an earnings badge when a name is inside its earnings window, and a mark-freshness indicator so a stale quote is never mistaken for a current one.

Accounting you can check

A premium-selling strategy earns in many small increments, which means friction compounds. Every order records the broker's own fee calculation, commissions plus regulatory and clearing charges, taken from the same validation the broker runs before accepting the trade. Performance is reported gross and net of those fees side by side, so a strategy is never judged on a number it did not actually keep.

Closed trades book from actual fills, never from estimates, and live positions are valued from the broker's own marks. Roll a position and you get two figures, both true: the campaign result since the trade was opened, and the profit on just the legs currently open, which is what your brokerage shows.

If you close one of the bot's positions yourself in tastytrade, it does not sit there as an unresolved row. On its next pass ACondor reads your account's transaction history, finds the fills and fees that actually executed, records the real result, and notifies you that it did.

Financial Information Disclaimer

This site provides general information about ACondor, a software tool for automating options trading strategies. Nothing on this site is investment, tax, or financial advice. Options trading involves substantial risk of loss. Past behavior of any strategy does not guarantee future results. Consult a licensed financial professional before trading options. ACondor may earn a commission from affiliate links at no extra cost to you.