Contraction Engine

14 settings on this page.

Contraction Entry IV Rank

Setting key
contraction_entry_iv_rank
Default
80

What it does

IV Rank floor for the contraction engine. Only enters on a genuine spike, not an elevated plateau. IVR 80 means current implied volatility is in the top 20% of its 52-week range. At that level, premium is rich and mean reversion is more likely to be fast.

When to change it

Lower to 70 to catch more spikes, at the cost of entering on spikes that may not revert as quickly. Raising above 85 means fewer trades but stronger mean-reversion setups.

Safe range

70 (more trades, weaker signal) to 90 (fewer trades, stronger signal).

Example

AMD IV Rank spikes from 35 to 83 on an analyst downgrade. With contraction_entry_iv_rank=80, the bot evaluates AMD for a short-dated iron condor. IV Rank at 65 would not qualify.

Contraction Require IV Rank Jump

Setting key
contraction_require_iv_rank_jump
Default
20

What it does

Minimum recent IV Rank jump (over the last few days) required to confirm the spike is fresh. Prevents the bot from entering a name that has been sitting at elevated IV for weeks: the mean-reversion thesis requires a recent catalyst, not a high plateau.

When to change it

Lower to 10 to catch slower-building spikes. Raise to 30 for stricter freshness requirements.

Safe range

10 (permissive) to 30 (strict freshness).

Example

XLF has had IV Rank around 75 for two weeks. A new spike brings it to 82. The jump is only 7 points, below the 20-point threshold, so the bot does not enter. A name jumping from 40 to 82 in two days (42-point jump) qualifies.

Contraction Target DTE Min

Setting key
contraction_target_dte_min
Default
7

What it does

Minimum DTE for contraction engine trades. Short-dated by design: the thesis is that vol spikes mean-revert fast (from IVR 80, on average less than 7 days to fall ~20 points). Short cycles ride the contraction and exit before the position has time to be tested.

When to change it

Raising above 7 gives the position more time but also more exposure. The sweet spot is 7-21 DTE.

Safe range

5 (very short) to 14. Below 5 the spread is too tight to build cleanly.

Example

Vol spike on Monday. With 7 DTE minimum, the bot targets the following Monday's expiration or later.

Contraction Target DTE Max

Setting key
contraction_target_dte_max
Default
21

What it does

Maximum DTE for contraction engine trades. Caps the cycle at 21 days. The sweet spot is around 15 DTE, long enough to manage if needed, short enough that the vol contraction thesis resolves before expiration.

When to change it

Keep at 21 unless your universe lacks expirations in the 7-21 DTE window. Widening to 30 starts to overlap with mechanical engine territory.

Safe range

14 (tight) to 30 (overlaps mechanical).

Example

Vol spike on June 1. Bot looks for an expiration between June 8 (7 DTE) and June 22 (21 DTE).

Contraction Short Strike Delta

Setting key
contraction_short_strike_delta
Default
0.16

What it does

Short strike delta for contraction engine structures. 0.16 delta places the strikes at approximately one standard deviation OTM, roughly an 84% probability of expiring worthless. Tighter than the mechanical engine's 0.20 because contraction trades are shorter-dated with more gamma risk.

When to change it

Raise to 0.20-0.25 for more premium but higher risk of being tested. Lower is not meaningful: 0.16 is already near one standard deviation.

Safe range

0.12 (very wide) to 0.25 (tighter breakevens).

Example

AMD at $150. IV spike scenario. 0.16 delta put strike approximately $130, 0.16 delta call strike approximately $172. The condor survives a 13-15% move in either direction.

Contraction Normalized IV Rank Exit

Setting key
contraction_iv_normalized_rank
Default
30

What it does

IV Rank threshold at which the bot considers the vol contraction complete and closes the position. When IVR falls back to 30, the edge (selling into elevated vol) has been harvested. The position is closed regardless of DTE. This exit only fires when the short strikes are not tested; if a short is tested, the roll ladder takes over instead.

When to change it

Raise to 40 to harvest more of the contraction before exiting. Lower to 20 to exit earlier and lock in less gain but with higher certainty.

Safe range

20 (early exit) to 45 (full contraction).

Example

Contraction trade entered when IVR = 83. Five days later IVR has fallen to 28. With iv_normalized_rank=30, the bot closes the position at the next cycle (IVR below threshold, shorts untested).

Contraction Manage DTE

Setting key
contraction_manage_dte
Default
3

What it does

DTE backstop for contraction trades. Closes the position when it reaches 3 DTE regardless of profit or IV level. This is an expiration safety valve: at 3 DTE, gamma risk is extreme on short options. The mechanical engine uses 21 DTE for the same reason, but contraction enters at 7-21 DTE so the backstop is at 3 DTE instead.

When to change it

Raise to 5 if you want to exit contraction trades slightly earlier. Lowering below 3 is not recommended: gamma blowup risk increases rapidly in the final days.

Safe range

2 (aggressive, hold until near-expiry) to 7 (conservative, exit a week out).

Example

Contraction trade entered at 14 DTE. Vol has not fully normalized by the time the position reaches 3 DTE. Bot closes at 3 DTE regardless: the safety valve fires before pin and assignment risk becomes a factor.

Contraction Engine Enabled

Setting key
contraction_enabled
Default
ON

What it does

Master on/off toggle for the volatility contraction engine. When OFF, ACondor does not scan for non-earnings IV spike entries. Existing contraction positions continue to be managed. The contraction engine fires on sudden IV spikes (IV Rank above 80 with a confirmed recent jump) in names without upcoming earnings, entering short-dated defined-risk positions to ride the fast mean-reversion of volatility.

When to change it

Turn OFF if you want to trade only the mechanical and earnings engines. The contraction engine requires a high IV Rank floor so it fires infrequently; it is rarely the right one to disable unless you specifically want to avoid short-dated positions.

Safe range

ON or OFF.

Example

A sector-wide selloff causes several tech names to spike to IV Rank 85. With contraction enabled, ACondor evaluates these for short-dated iron condor entries. With it disabled, these opportunities are skipped.

Contraction Profit Target %

Setting key
contraction_profit_target_pct
Default
50%

What it does

Profit target for contraction engine positions, expressed as a percentage of maximum credit received. When an open contraction position reaches this percentage of its maximum possible profit, ACondor closes it. The contraction engine also has a secondary exit: if IV Rank normalizes back below 30 (the vol has mean-reverted), the position closes regardless of profit percentage.

When to change it

Lower to 35-40% to take profits faster on contraction trades, which can reverse quickly if vol spikes again. Raising above 50% means holding longer to capture more premium but accepting more risk of the position turning against you.

Safe range

25% (quick exits, lower reward) to 75% (greedy, higher risk of reversal). Default 50% matches the mechanical engine.

Example

$0.80 credit contraction iron condor. At 50% profit target, close when the position is worth $0.40 (you've captured $0.40 of the $0.80 credit). If IV normalizes before reaching the profit target, the position closes anyway.

Contraction News Entry Confidence Threshold

Setting key
contraction_news_entry_confidence_threshold
Default
HIGH (0.80)

What it does

Minimum Claude news classifier confidence score required to trigger a contraction news entry. The contraction engine has an optional offensive mode (gated off by default) where a high-confidence news headline about a specific company can trigger a short-dated entry on that name. This threshold controls how confident the classifier must be before the entry fires. At 0.75, the classifier must be at least 75% confident in the directional signal.

When to change it

Raise to 0.85-0.90 to require very high confidence before news-triggered entries. Lower to 0.65 to allow more entries on moderate confidence signals. This setting only matters when contraction_news_entry_enabled is ON; that feature is off by default pending live validation.

Safe range

0.60 (more entries, lower confidence required) to 0.95 (very selective). Default 0.75 is a reasonable starting point once the feature is enabled.

Example

News classifier rates a headline as 0.82 confidence bearish for TSLA. With threshold=0.75, the signal clears the gate and a contraction entry is evaluated. With threshold=0.85, this signal is skipped.

Contraction News Entry Lookback Hours

Setting key
contraction_news_entry_lookback_hours
Default
4

What it does

How far back the contraction news entry engine looks for qualifying news signals, in hours. When evaluating a potential news-triggered entry, the bot checks whether a high-confidence news signal for this symbol appeared within this window. A shorter window means only very recent news triggers entries; a longer window allows entries based on news that arrived hours ago but has not yet been fully priced in.

When to change it

Lower to 1-2 hours to only trade on fresh news. Raise to 6-8 hours if you believe market reactions to news take longer to fully develop. This setting only matters when contraction_news_entry_enabled is ON.

Safe range

1 hour (very fresh news only) to 12 hours (broader lookback). Default 4 hours is a reasonable middle ground.

Example

A news signal arrives at 10:00 AM. With lookback_hours=4, the bot considers this signal eligible until 2:00 PM for potential entries on that name.

Contraction News Entry Profit Target %

Setting key
contraction_news_entry_profit_target_pct
Default
25%

What it does

Profit target for news-triggered contraction entries, expressed as a percentage of maximum credit. News-triggered entries use a lower profit target than standard contraction entries (35% vs 50%) because news-driven vol spikes tend to resolve faster and can reverse unexpectedly if follow-on news arrives. Taking profits earlier reduces the risk of a reversal.

When to change it

Raise toward 50% if you want to capture more premium on news entries and are comfortable with the faster-moving risk profile. Lower toward 20-25% to take profits very quickly on news plays.

Safe range

20% (very quick exits) to 50% (same as standard contraction). Default 35%.

Example

$0.60 credit news-triggered entry. At 35% profit target, close when worth $0.39. This fires earlier than a standard 50% target ($0.30), intentional, since news-driven positions can reverse faster.

Contraction Engine: Max Alloc %

Setting key
engine_max_alloc_pct_contraction
Default
40%

What it does

Caps the fraction of your total allocation budget the contraction engine may use. IV spikes can qualify many symbols at once; this ceiling prevents overconcentrating during volatile sessions when several names hit the IV Rank trigger simultaneously. Independent of the other engines; they do not need to sum to 100%.

When to change it

Lower it if a single volatile session (e.g. a sector-wide selloff) tends to qualify more contraction candidates than you want deployed at once. Raise it only if contraction is a primary part of your strategy mix.

Safe range

20% (tight, few spikes traded at once) to 50% (above this, a single volatile week can dominate the book).

Example

Set to 40 → contraction positions combined may not consume more than 40% of the cap, keeping room for the mechanical and directional engines.

Contraction Engine: Max Positions

Setting key
engine_max_positions_contraction
Default
not set

What it does

A hard ceiling on the number of simultaneously open contraction positions. IV spikes can qualify many symbols at once; this cap prevents the engine from piling into all of them in a single volatile session. Leave blank for no engine-level count cap: only the global max concurrent positions applies.

When to change it

Set this if a volatile session tends to surface more qualifying spikes than you want open positions for, regardless of remaining allocation budget.

Safe range

Leave blank for no cap, or set 3-8 to bound how many spikes get traded in one session.

Example

Set to 5 → even if eight symbols hit contraction criteria simultaneously, only the top five are entered and the rest wait.

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.