01 / 10

voldesk

An autonomous options-trading agent that sells volatility risk on purpose — with judgment confined to two decisions, and a deterministic risk engine holding veto over every order.

01 The Edge

Implied volatility tends to price richer than what actually happens.

vol-desk systematically harvests that spread — selling defined-risk premium (credit spreads, iron condors) on a fixed universe of liquid ETFs, with occasional debit spreads on high-conviction directional signals.

Every position has a computable max loss before it's ever placed. No naked or undefined-risk trades anywhere in the system.

Fixed universe — 7 tickers
SPY
QQQ
IWM
GLD
TLT
XLE
HYG
vol-desk · hackathon overview
02 The Process

Four agents, one pipeline. Judgment at exactly two points.

A single long-lived Python process, no cron, no web service. Position sizing, risk enforcement, and management triggers never touch an LLM — a risk check that can hallucinate isn't a risk check.

Signal
deterministic

IV rank, realized vol, trend score. Gates the LLM call.

Regime
LLM

Labels 1 of 7 regimes from a mechanical rule.

Strategy
LLM

Picks contracts; every number recomputed after.

Risk
deterministic

8 checks. Vetoes, sizes down, or halts — never widens.

Execution
Alpaca MCP

Price-ladder order, or abandoned. Sole path to a fill.

vol-desk · hackathon overview
03 Regimes

One label decides what's even allowed.

Range · High IVpremium sell
Iron condor, put & call credit spread
Range · Low IV
Stand down — cheap premium isn't worth defined-risk capital
Trend Up · High IVpremium sell
Put credit spread
Trend Down · High IVpremium sell
Call credit spread
Trend Up · Low IVdirectional
Call debit spread
Trend Down · Low IVdirectional
Put debit spread
Stress — overrideIV rank ≥ 0.90 or 20-day realized vol ≥ 0.45 preempts range/trend entirely. No new entries; existing positions still managed.
vol-desk · hackathon overview
04 Strategies

Three structures. All defined-risk, none of them guesses.

Credit Spreadpremium sell

Short one leg, long another further out. Collects part of the width as premium; max loss is width minus credit received.

Unlocked by: range or trend · high IV
Iron Condorpremium sell

Two credit spreads at once — a short strangle wrapped in long wings on both sides. Profits if price stays inside the range.

Unlocked by: range · high IV
Debit Spreaddirectional

A directional bet, still defined-risk: buy one leg, sell another to cap the cost. Only used once IV is too cheap to be worth selling.

Unlocked by: trend · low IV

Range + low IV unlocks nothing. Standing down is a normal, expected outcome — not a failure.

vol-desk · hackathon overview
05 Entry Pipeline

Six gates. Any one can stop the trade.

01
Signal gate
Skip unless IV rank clears 0.35 — a near-zero-cost pre-filter.
02
Regime classification
Cached 30 min per symbol; only recomputed when the gate passes.
03
Structure eligibility
The regime unlocks a fixed menu. Standing down is a normal, expected outcome.
04
Contract selection
Chain filtered to 7–14 DTE, within 15% of spot, targeting 0.16Δ short legs.
05
Risk evaluation
All eight checks run regardless of outcome — halt state, defined-risk, caps, sizing, cash, DTE.
06
Price-ladder execution
Three rungs toward the market over 90s. No fill → abandoned. Never widened, never chased.
vol-desk · hackathon overview
06 Risk Enforcement

Risk holds veto authority over every order.

Max risk per trade1% of equity
Soft drawdown halt — blocks new entries−5% HWM
Hard drawdown halt — flattens everything−10% HWM
Max concurrent positions6
Max positions per underlying1
Equity-beta cluster cap (SPY+QQQ+IWM)3
Take-profit50% of credit
Stop-loss2× entry credit
Force-close2 DTE, any P/L

A hard drawdown halt is terminal and manual to clear, by design — the point of a kill switch is that it stays pulled until a human looks at why.

vol-desk · hackathon overview
07 State

The process holds no truth of its own.

It can be restarted safely at any moment — on boot, it reconciles against Alpaca before doing anything else.

Alpaca
Source of truth for positions & cash.
vol-desk process
stateless · restartable
SQLite (WAL)
Source of truth for entry credit, management plan, IV history, high-water mark.
vol-desk · hackathon overview
08 Stack

The Tech Stack

Language
Python 3.11+, stdlib plus a small dependency set
Runtime
Single long-lived process, systemd-managed, in-process scheduler
Market data
Alpaca REST via alpaca-py, indicative feed, 15-min delayed
Execution
Alpaca MCP server exclusively — no order placed any other way
Inference
Groq free tier, OpenAI-compatible client, model-agnostic
Data store
SQLite, single file, WAL mode, no network dependency

If Groq is unreachable, the system degrades to hold-and-manage — existing positions keep being managed, no new entries open, nothing silently substitutes weaker judgment.

vol-desk · hackathon overview

Thanks for watching.

vol-desk