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?

  1. Header: symbol · bucket badge (PUT-L1, PUT-L2, CC,

NAKED_CALL) · cycle status (open, closed, assigned, expired).

  1. Balance: gross premium − buyback cost − commission = net;

plus hold days and the trade ROI (see the Trade ROI section below).

  1. 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.

  1. Month breakdown: where the net premium lands in the Performance

tab (split by CALL / PUT).

  1. Underlying: cycle window + ex-dividend markers in that window

(sparkline coming in a later release).

  1. 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_id and

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.