IBKR Options Assistant
/install ibkr-options-assistant
IBKR Trader Toolkit
Real-time data, options analysis, and portfolio risk for Interactive Brokers — all via JSON-emitting CLI scripts.
Core rule: Scripts produce data. You (the model) produce the analysis.
When to trigger this skill
| User asks about... | Example phrasing |
|---|---|
| Stock / ETF prices | "What's SPY at?" "Current AAPL price" |
| Option chains, Greeks, IV | "Show me AAPL puts for next month" |
| Strategy ideas | "Should I sell a put on MU?" |
| Position risk | "Am I too long delta?" |
| P&L, win rate, history | "How are my wheel trades doing?" |
| Earnings risk | "Does ARM report before my call expires?" |
| Alerts / monitoring | "Warn me if SPY IV > 80%ile" |
Fire even if the user doesn't mention IBKR — if they're asking about their positions or P&L, this skill is the source of truth.
Critical: For stock prices, always use market_quote.py. Never web-search a stock price — the web is minutes-to-hours stale.
Workflows
"Should I sell a put on $SYM?"
Run these in order, then synthesize:
| Step | Command | Why |
|---|---|---|
| 1 | portfolio_positions.py |
Know existing exposure first |
| 2 | earnings_calendar.py SYM --days 60 |
Avoid earnings inside DTE |
| 3 | options_analyzer.py SYM --outlook bullish --risk-profile conservative --iv-context |
Get IV environment + candidate strikes |
| 4 | options_chain.py SYM --dte-min 25 --dte-max 45 |
Live mid prices for chosen strikes |
Your recommendation must include: strike • delta • premium • breakeven • annualized yield • earnings/IV warnings.
"What's my portfolio looking like?"
| Step | Command |
|---|---|
| 1 | portfolio_positions.py → positions + Greeks |
| 2 | options_daily.py → expiry warnings + IV summary |
| 3 | pnl_analytics.py --days 7 → recent realized P&L |
"I'm thinking of adding trade X — is it safe?"
risk_simulator.py --add "SYM STRIKE EXPIRY R ACTION QTY"
Flag any of:
- Vega magnitude doubles → much more IV-exposed
- Net delta flips sign → directional bet now opposite
- One symbol > 30% of capital → concentration risk
"How's my wheel doing?"
wheel_tracker.py summary
Returns per-symbol: stage (short_put / assigned / covered_call / called_away), cumulative premium, days in cycle, annualized return.
"Should I roll position X?"
| Step | Command | Why |
|---|---|---|
| 1 | portfolio_positions.py |
Confirm the leg's current strike, expiry, P&L, delta |
| 2 | options_chain.py SYM --dte-min 25 --dte-max 60 |
Survey roll candidates further out |
| 3 | Consult references/wheel_strategy.md |
"Roll vs accept assignment" decision tree |
Your recommendation must include: new strike • new DTE • net credit (new premium − close cost) • effective basis change vs current leg • roll count so far (cap at 2).
Script reference
| Script | When to use |
|---|---|
market_quote.py SYM [SYM2 ...] |
Any stock/ETF price question |
portfolio_positions.py |
What do I own? Portfolio Greeks |
options_chain.py SYM |
Strikes survey + IV by expiry |
options_analyzer.py SYM --outlook X --risk-profile Y --iv-context |
Strategy ideas given outlook |
options_daily.py |
Morning/EOD options report (start here) |
pnl_analytics.py [--days N] |
Realized P&L, win rate, best/worst |
risk_simulator.py --add "..." |
Pre-trade Greeks impact |
earnings_calendar.py SYM ... |
Earnings within N days |
technical_indicators.py SYM |
RSI / MA / BB / ATR |
wheel_tracker.py summary |
Wheel cycle status & yield |
alerts_monitor.py |
Threshold rules (cron-friendly) |
cost_basis.py SYM [...] |
Premium-adjusted effective cost basis (wheel) |
concentration.py |
HHI, sector mix, top-N portfolio concentration |
flex_import.py [--flex-dir ...] |
Parse IBKR Flex CSV/XML history into JSON |
trade.py \x3Cstock|option|combo|...> |
Place orders (opt-in, dual-gate). See references/trading.md |
All read-only scripts:
- Output JSON to stdout (or to
--output FILE) - Read IBKR config from env vars (
IBKR_HOST,IBKR_PORT,IBKR_CLIENT_ID_BASE,IBKR_MARKET_DATA_TYPE) - Cannot place orders — only
trade.pycan, and only when bothIBKR_TRADING_ENABLED=1and--confirm-tradeare present
Pre-trade checklist (every options recommendation)
Before suggesting any options trade, verify all three:
- IV environment — from
options_analyzer.py --iv-context. Don't sell premium in low-IV; don't buy premium in high-IV. - Earnings inside DTE — from
earnings_calendar.py. IV crush after earnings flips the math. - Existing position Greeks — from
portfolio_positions.py. If already +5000 delta, adding more is wrong direction-of-thesis or not.
State each check explicitly:
"IV environment: low (ratio 0.7); earnings: none in next 45 days; current net delta: +1,200."
This lets the user audit the reasoning.
Operating constraints
| Constraint | What it means |
|---|---|
| JSON in, judgement out | The script's recommendations list is candidate data, not a final answer. Re-rank against the user's situation. |
| Smart data type | IBKR_MARKET_DATA_TYPE=3 by default — IBKR auto-upgrades to realtime when user is subscribed, falls back to delayed otherwise. If quotes look stale, check market hours + subscriptions. |
| One clientId per script | If you see clientId already in use, wait a few seconds or bump IBKR_CLIENT_ID_BASE. |
| Cache chains across calls | options_chain.py --output /tmp/chain.json then options_analyzer.py --chain-file /tmp/chain.json saves IBKR roundtrips. |
Deeper references
Read on demand when the user's question warrants it:
references/strategies.md— full McMillan/Overby strategy library + selection matrixreferences/greeks_primer.md— practical Delta/Gamma/Vega/Theta interpretationreferences/wheel_strategy.md— strike/DTE selection, roll-vs-assign decision treereferences/options_book_summary.md— McMillan/Overby/Natenberg/Sinclair operational rulesreferences/troubleshooting.md— connection errors, subscription issues
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install ibkr-options-assistant - After installation, invoke the skill by name or use
/ibkr-options-assistant - Provide required inputs per the skill's parameter spec and get structured output
What is IBKR Options Assistant?
Interactive Brokers options & stock trading assistant. Provides real-time portfolio Greeks, option chain analysis, McMillan/Overby strategy recommendations,... It is an AI Agent Skill for Claude Code / OpenClaw, with 52 downloads so far.
How do I install IBKR Options Assistant?
Run "/install ibkr-options-assistant" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is IBKR Options Assistant free?
Yes, IBKR Options Assistant is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does IBKR Options Assistant support?
IBKR Options Assistant is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created IBKR Options Assistant?
It is built and maintained by AlexLiu0130 (@alexliu0130); the current version is v0.2.4.