Wheel Strategy · Expiration Cycle Desk

Where every leg lands — and what happens next.

Forget spreadsheets. This desk tracks your cash-secured puts and covered-call legs across the full Wheel cycle, flags ITM/OTM status as expiration approaches, and surfaces assignment-risk the moment it matters. Connected live to your moomoo OpenD — refresh daily or on demand.
@MoomooMYbot ● OpenD 10.4 FUTUSG · ...8617 · HK/US/SG Paper US OPT · ...8613
last refresh:
Open Legs83 puts · 5 calls
Premium Captured$4,872cycle-to-date
Capital at Risk$58.4kassignment notional
Expiring ≤7d4legs
Assignment RiskMedium2 ITM · 1 near

Expiration cycle timeline

Each bar is a sold leg, running from today to expiration. The vertical line is now; the dotted gold line marks the strike vs. current underlying price. Bars are sized to days-to-expiration and colored by leg type (put=ice, call=gold). Hover a row for full leg detail.

Underlying · Leg
Today → Expiration (0–45 d)
DTE · Status

Scenarios at expiration

Four representative outcomes across the cycle. Each card shows the underlying price path, strike, ITM/OTM outcome, and the Wheel decision the desk recommends.

All positions · Cycle detail

Every leg in the book. Premium, collateral, moneyness, and unrealized P&L. Click a row to spotlight it in the timeline above.

SymbolLegQtyStrikeExpiryDTE SpotMoneynessPremiumCollateralUPLAction

Assignment risk meter

Probability-weighted across ITM legs and time-to-expiry. >65% means a roll or close is overdue.

SafeWatchElevatedCritical

Telegram alert preview

What @MoomooMYbot will push to your phone when a leg crosses the risk threshold. Educational mock — wiring it to the live bot needs a Telegram Bot token + moomoo monitor loop.

📈
MoomooMYbotBot · @MoomooMYbot
EDU
⚠ Assignment risk · CNC
Your CSP CNC 261016 65.00P is ITM. Spot 64.99 vs strike 65.00 · 24 DTE.
Action needed: roll to 261120 55.00P for credit, or accept assignment (≈$6,500 cash → start CC cycle).
Account: FUTUSG …8617 (REAL) · alert rule: ITM ≤ 25 DTE
↩ reply · ⤴ forward
Educational mockup. Sample data is illustrative and refreshed on-demand from the moomoo OpenD connection shown in the top bar. To wire this to live positions: get_portfolio.py --acc-id … --security-firm FUTUSG --trd-env REAL for stock legs, and get_portfolio.py --show-option-strategy-view for option legs. Telegram alerts require a bot token via @BotFather and a monitor loop polling positions every N minutes — see the Wire it live notes at the bottom of the source.