id: wheel-beleg title: Wheel Ledger (position receipt) locale: en ---
Wheel Ledger
The Wheel Ledger shows the full cycle overview for any trade: which STO/BTC legs belong together, gross vs. net premium, commissions, and where the premium is booked in the monthly performance.
Think of it as a booking / settlement receipt: one card per position with every relevant fact at a glance.
Where do I open the ledger?
A small receipt icon appears next to the symbol in:
- Active tab (
/trades/active) — per open position. - Closed tab (
/trades/closed) — per archived cycle. - All pipeline stages (
My drafts,To send,Open).
Clicking it slides a panel in from the right. Close with Esc or by clicking outside.
What's inside?
- Header: symbol · bucket badge (PUT-L1, PUT-L2, CC,
NAKED_CALL) · cycle status (open, closed, assigned, expired).
- Balance: gross premium − buyback cost − commission = net;
plus hold days and the trade ROI (see the Trade ROI section below).
- Cycle timeline: all legs of the roll chain in chronological
order, color-coded. Green = STO (premium in), red = BTC (premium out). Each leg shows limit, fill, commission, fill timestamp, status, optional metric and journal note.
- Month breakdown: where the net premium lands in the Performance
tab (split by CALL / PUT).
- Underlying: cycle window + ex-dividend markers in that window
(sparkline coming in a later release).
- Journal note: the free-text note attached via the sticky-note
icon on the trade.
Trade ROI
The balance section shows the trade ROI as a percentage - so you immediately see how much return the cycle generated on the deployed capital.
Capital base (denominator) is derived from the root leg (first STO of the chain):
- Covered call:
stock_cost_basis × 100 × qty- the stock cost
basis is the actual capital tied up.
- Short put (PUT-L1/L2, naked call):
strike × 100 × qty-
cash-secured basis, i.e. the money that would move on assignment.
Numerator (return):
- Pure premium cycles -> net premium (gross - buyback - commission).
- CC cycles with assignment -> cycle net (net premium + stock
capital gain), so the price move captured on exercise is part of the ROI.
Annualized = ROI × 365 / hold days. For very short cycles the annualized value can look inflated (mathematical artifact, don't read as a forecast).
Example: PUT-L1 on XYZ, strike $50, 1 contract, net premium $80, hold days 30. Capital base = 50 × 100 × 1 = $5,000. ROI = 80 / 5,000 × 100 = 1.60 %. Annualized = 1.60 × 365 / 30 ≈ 19.5 %.
Bucket snapshot
The bucket (PUT-L1 / PUT-L2 / CC / NAKED_CALL) is captured once on draft creation from the depot state at that moment, and never changed afterwards. Reason: after an assignment sold off the stock, PUT-L2 (with stock) can no longer be distinguished from PUT-L1 (without stock) retrospectively.
Roll chains
The ledger walks the full roll chain automatically:
- Root = the original STO (
covered_call/short_put). - Each roll pair =
roll_call/roll_put(close leg) + new STO
(open leg).
- Chain is stitched via
close_of_proposal_idand
roll_from_proposal_id in the preflight JSON.
You can open the ledger from any leg of the chain — it always shows the full history starting at the root.
Legal note
All numbers are algorithmic outputs for traceability. The ledger is not a tax certificate — tax reports still come from the Flex import.
Not investment advice.