Use case · Construct
Compose an iron condor for a high-IV regime
Premium-selling structures need a different policy than directional debits. Gate condor construction on an IV-rank floor, choose a target probability-of-profit, and fix wing widths in dollars or delta-space — the engine returns a typed IronCondorCandidate priced consistently on one smile.
When to use it
- You sell premium and want construction gated on the volatility regime, not filtered afterward.
- You want both wings priced on the same parametric smile so the credit and max-loss are internally consistent.
- You want a target probability-of-profit and delta-based short strikes expressed in the policy.
Example
use ferro_spread::{SpreadBuilder, SpreadStrategy};
let policy = SpreadBuilder::default()
.strategy(SpreadStrategy::IronCondor)
.iv_rank_floor(0.65) // regime gate
.target_pop(0.70) // 70% probability
.wing_width_pts(10.0) // $-space wings
.short_strike_delta(0.16); // ~1σ tails
let condors = policy.construct(&chain)?;
// Empty Vec when iv_rank < floor — no condors in low-vol
// regimes. Embed the gate, not in caller code.Notes
iv_rank_flooris a construction gate: below it, the policy returns an emptyVecrather than marginal structures.target_popandshort_strike_deltaare model-based — see conventions on how probabilities are computed.
Regime
Gate on the regime in the policy, not the caller. A low-vol tape simply yields no condors, so downstream ranking and screening need no special case.