Options Analysis Skill
Description
On-demand options pricing and structure analysis for the Radon trading agent.
Capabilities
- Fetch and parse options chains for a given ticker
- Calculate implied volatility rank and percentile
- Evaluate convexity profile of candidate structures (calls, puts, vertical spreads)
- Estimate P(ITM), conditional settlement value, and expected value for each strike
- Compare structures: naked options vs. spreads for optimal convexity
Usage
Invoke when evaluating a specific ticker's options chain as part of the /evaluate workflow.
Data Source Priority
When fetching live options pricing, use sources in this order:
| Priority |
Source |
Command/Method |
| 1 |
Interactive Brokers |
python3.13 scripts/ib_sync.py (requires TWS/Gateway) |
| 2 |
Unusual Whales |
See API reference below |
| 3 |
Exa (web search) |
Company research, fallback for data not in IB/UW |
| 4 |
agent-browser |
Interactive pages, JS-rendered content |
| 5 ⚠️ |
Yahoo Finance |
ABSOLUTE LAST RESORT — only if ALL above sources fail |
⚠️ Yahoo Finance is the ABSOLUTE LAST RESORT. It is rate limited, unreliable, and delayed. Never use it if IB, UW, Exa, or agent-browser can provide the data.
Unusual Whales API for Options
API Reference: docs/unusual_whales_api.md
Full Spec: docs/unusual_whales_api_spec.yaml
Key Options Endpoints
| Endpoint |
Purpose |
GET /api/stock/{ticker}/option-contracts |
All option contracts with greeks, IV, OI |
GET /api/stock/{ticker}/expiry-breakdown |
Available expirations with volume/OI summary |
GET /api/stock/{ticker}/greeks?expiry=YYYY-MM-DD |
Greeks for each strike at an expiry |
GET /api/stock/{ticker}/flow-per-strike |
Flow aggregated by strike |
GET /api/stock/{ticker}/flow-per-expiry |
Flow aggregated by expiration |
GET /api/stock/{ticker}/greek-exposure |
GEX data for gamma analysis |
GET /api/stock/{ticker}/volatility/realized |
IV vs realized volatility |
GET /api/stock/{ticker}/iv-rank |
IV rank percentile |
GET /api/option-contract/{symbol}/historic |
Historical data for specific contract |
Example: Fetch Option Chain
curl -H "Authorization: Bearer $UW_TOKEN" \
"https://api.unusualwhales.com/api/stock/AAPL/option-contracts?expiry=2026-04-17&option_type=call&maybe_otm_only=true"
Response includes:
strike, expiry, option_type
bid, ask, mid_price
volume, open_interest, volume_oi_ratio
implied_volatility, delta, gamma, theta, vega
underlying_price
Dependencies
- scripts/fetch_options.py — data retrieval
- scripts/kelly.py — position sizing
- data/portfolio.json — current exposure context
1---2name: options-analysis3description: On-demand options pricing and structure analysis for the Radon trading agent4---56# Options Analysis Skill78## Description9On-demand options pricing and structure analysis for the Radon trading agent.1011## Capabilities12- Fetch and parse options chains for a given ticker13- Calculate implied volatility rank and percentile14- Evaluate convexity profile of candidate structures (calls, puts, vertical spreads)15- Estimate P(ITM), conditional settlement value, and expected value for each strike16- Compare structures: naked options vs. spreads for optimal convexity1718## Usage19Invoke when evaluating a specific ticker's options chain as part of the /evaluate workflow.2021## Data Source Priority2223When fetching live options pricing, use sources in this order:2425| Priority | Source | Command/Method |26|----------|--------|----------------|27| **1** | Interactive Brokers | `python3.13 scripts/ib_sync.py` (requires TWS/Gateway) |28| **2** | Unusual Whales | See API reference below |29| **3** | Exa (web search) | Company research, fallback for data not in IB/UW |30| **4** | agent-browser | Interactive pages, JS-rendered content |31| **5 ⚠️** | Yahoo Finance | **ABSOLUTE LAST RESORT** — only if ALL above sources fail |3233**⚠️ Yahoo Finance is the ABSOLUTE LAST RESORT.** It is rate limited, unreliable, and delayed. Never use it if IB, UW, Exa, or agent-browser can provide the data.3435## Unusual Whales API for Options3637**API Reference:** `docs/unusual_whales_api.md`38**Full Spec:** `docs/unusual_whales_api_spec.yaml`3940### Key Options Endpoints4142| Endpoint | Purpose |43|----------|---------|44| `GET /api/stock/{ticker}/option-contracts` | All option contracts with greeks, IV, OI |45| `GET /api/stock/{ticker}/expiry-breakdown` | Available expirations with volume/OI summary |46| `GET /api/stock/{ticker}/greeks?expiry=YYYY-MM-DD` | Greeks for each strike at an expiry |47| `GET /api/stock/{ticker}/flow-per-strike` | Flow aggregated by strike |48| `GET /api/stock/{ticker}/flow-per-expiry` | Flow aggregated by expiration |49| `GET /api/stock/{ticker}/greek-exposure` | GEX data for gamma analysis |50| `GET /api/stock/{ticker}/volatility/realized` | IV vs realized volatility |51| `GET /api/stock/{ticker}/iv-rank` | IV rank percentile |52| `GET /api/option-contract/{symbol}/historic` | Historical data for specific contract |5354### Example: Fetch Option Chain55```bash56curl -H "Authorization: Bearer $UW_TOKEN" \57 "https://api.unusualwhales.com/api/stock/AAPL/option-contracts?expiry=2026-04-17&option_type=call&maybe_otm_only=true"58```5960### Response includes:61- `strike`, `expiry`, `option_type`62- `bid`, `ask`, `mid_price`63- `volume`, `open_interest`, `volume_oi_ratio`64- `implied_volatility`, `delta`, `gamma`, `theta`, `vega`65- `underlying_price`6667## Dependencies68- scripts/fetch_options.py — data retrieval69- scripts/kelly.py — position sizing70- data/portfolio.json — current exposure context