schwab_get_brokerage_positions
Get current positions in the active Schwab account, with automatic vertical-spread detection.
Pulls Schwab's account endpoint with fields="positions" and emits up to three markdown sections, omitting any that are empty:
Spreads — vertical spreads detected from paired option legs:
- <underlying> <spread_type> (<short_strike>/<long_strike> P|C exp <date>,
DTE <n>) | Credit: $X | Max Loss: $Y | Current: $Z | P&L: $WOptions (unmatched) — single legs not paired into a spread:
- <underlying> <strike> P|C exp <date> (DTE <n>) | Qty: ±N | Avg: $X |
MktVal: $Y | P&L: $ZEquities — long/short share positions:
- <symbol> | Qty: ±N | Avg: $X | Price: $Y | P&L: $ZQuantities are computed as (longQuantity − shortQuantity) — short positions show as negative numbers in Qty.
Spread detection is heuristic: legs of the same underlying with matching expiration and put/call type, opposite long/short direction, and adjacent strikes get paired. Anything that doesn't fit cleanly drops into Options (unmatched). The tool does not currently detect iron condors, butterflies, or calendars — those will appear as multiple Options (unmatched) rows.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| npub | No | Required. Your Nostr public key (npub1...) for credit billing. | |
| dpop_token | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |