CC Income Manager
● CACHED CHAINS · 1h
GENERATEDSep 03, 2026 00:37
Insight 2 candidates from the cc_scanner scan Sep 02, 23:49 · 1h ago (fortress_rebuild cc_picks as fallback). Coverage + CC-SS from the fortress_rebuild scan · Sep 03, 00:04 · 1h ago. Insight 1 marks: live.
Sep'26 INCOME · CC + PUTS + INTEREST
$30,635
S$38,940
floor $30,000  ·  ideal $50,000  ·  stretch $100,000  ·  28 days left  ·  ahead of pace
$4,602 interest
$4,815 booked
$21,218 pipeline
floor $30k
ideal $50k
dark teal = interest posted (last month's accrual, cash now) · solid = booked CC income · faded = projected pipeline (open CCs, net-adj)
Goal tracker - active target: Sep'26
MonthGrossNet-adjGap to ideal
Sep'26 projected$37,785$26,033$23,967
Oct'26 forecast$-5,246$-5,751-
Ties to the headline: Net-adj $26,033 + $4,602 posted interest = $30,635 above. The tracker counts CC + put income only; interest stays out so the graded ledger stays clean.
The forward (open-CC) premium is GROSS - it assumes every open call expires worthless. Historically only 65% is kept (the rest is bought back when stocks run), so the Net-adj column haircuts the forecast to match the realized number. The haircut applies to premium you COLLECTED only: a leg opened at a net debit (a roll-up cost) is money already spent, so it carries into Net-adj at full weight rather than being shrunk by a keep rate that has nothing to buy back. Gap is measured on Net-adj.
Tracking to goal - projected Sep'26 income
Projected Sep'26 income
$85,308
S$108,433
reaches ideal
floor $30,000 · ideal $50,000 · stretch $100,000 (optional)
Capital engine: 15 up-rolls in the last 30d unlocked $332,850 of cap headroom, $129,193 already reclaimed by spot (gains the old caps would have forfeited). Part of the low income pace is that toll; velocity resumes as the rolled legs roll off. Unrealized, lives in portfolio MTM, never counted in these income totals. per-ticker ledger ↓
floor $30k
ideal $50k
stretch $100k
Tap any segment or chip to jump to its panel below. Interest = posted cash interest (last month's accrual) · Booked = realized this month (done, no forecast) · Pipeline = open CCs' remaining premium × historical keep · New CCs = Insight 2 sell-all ($4,320/mo full rate) × 28/30 days left = $4,032 · E[rollover] = held CCs re-written before month-end, income survival-weighted (expected value) · E[fight] = every UNCOVERED deep-drawdown name at fight's near-term safe-yield strike (the tenor you actually sell), valued at your historical keep rate and prorated like New CCs - counted since 2026-07-14 because it lands in actuals when sold (70% of July's realized came from deep names). Each term covers a DISJOINT set: Booked = done, Pipeline / E[rollover] = open CCs (this cycle / re-written), New CCs = uncovered safe, E[fight] = uncovered deep. (2b/2c below are FYI-only references - they feed nothing.)
Step A - 3-month income-CC behaviour
In plain English. Over the last 297 income covered calls you sold and closed, you came out even-or-ahead on 89%; only 34 “ran over” (the stock jumped past your strike, so you had to buy the call back at a loss). You hold each one about 6 days and keep about 65% of every premium dollar after the early buy-backs. That 65% “keep” is exactly what the forecast up top uses to turn gross premium (if every call expired worthless) into the realistic net number.
MetricValue
Closed CC round-trips297 (73 expired full / 224 bought back / 34 run over)
Avg time CC stays open6.4 days
Win rate (kept >= 0) / run-over rate89% / 11%
Typical premium given up (per bought-back CC)$240 · mean $526 (skewed by a few big run-overs)
Give-up ratio (buyback / premium)32.8% dollar-weighted · typical trade gives back 20% (median, size-free)
Mean keep (blended)67%
Forecast keep (maturity-weighted month)65%
only the 3 month(s) from 2026-06 count: earlier months predate the mature stack (FIGHT, CC-SS floors) and describe a book you no longer trade. Across all 6 months this would read 66%.
Premium sold vs kept, by month
MonthCCsSoldBought backKeptKeep %
2026-0344$122,850$-23,660$99,19081%
2026-0446$88,788$-15,516$73,27283%
2026-0530$46,060$-15,587$30,47366%
2026-06 MATURE70$91,755$-32,072$59,68365%
2026-07 MATURE148$190,138$-70,261$119,87763%
2026-08 MATURE75$73,608$-14,550$59,05880%
TOTAL$613,199$-171,646$441,55372%
Read the KEPT column, not the rate. The keep % is efficiency per premium dollar sold, not income. A quiet month where most calls simply expire scores a high rate on little money; an active month where you buy winners back early scores lower and can still bank far more. Only the mature months (from 2026-06) feed the forecast keep above.
Early-cover read: MODERATE - keeping ~67% of premium; some room to widen strikes.
Confused by these numbers? Plain-English guide with your own figures ↓
Excluded 6 structural ticker(s) (net CC < 0 over all history = un-caps, not income): AVGO, CLSK, HOOD, IBIT, SOFI, UAMY. Removed from BEHAVIOUR stats only (income totals count them since the 2026-07 NET methodology), so the give-up ratio reflects genuine income-CC behaviour, not the cost of intentionally un-capping Fortress winners.
Window: last 3 months by close date. Run over = an income CC bought back at a net loss (stock ran past the strike). DBB / defensive un-caps are NOT counted here.
Premium needed to reach ideal
QuantityValue
Gap to ideal (Sep'26)$23,967
Gross premium to sell (grossed up 67%)$35,667
Avg CC hold6.4 days
Cycles that still fit this month4.3
Actuals by account - Sep'26 realized
AccountRealizedAccruing MTD (info)Share
Main$2,092$2,254
43%
RetireInc$1,397$1,290
29%
Neville$1,016$872
21%
Joint$310$-592
6%
TOTAL$4,815$3,824
Interest posted this month: $4,602 (last month's accrual as of Aug 31)  →  Realized + posted: $9,417
accruing now: $3,824 → posts next month
Realized NET income booked this Sep'26 (losses included). The sheet has no account column, so each closed trade is attributed via: exact strike held in an account this month (book + history, 6 matched). CSV fortress sizes are the truth for the qty fingerprint (MU 5 contracts = Main, 2 = Neville) and the pro-rata fallback. Accruing MTD = live IBKR AccruedCash per account (posts as cash next month); interest posted (footer, total only) = last month's final accrual, paid early this month. Interest never counts in CC income totals or projections.
Insight 1 - open CC / put book (29 open, 0 to close, bank $0, 2 check rebuild)
TickerSpotStrikeCTDTESurvCollectedOutstandingExit TodayActionWhy
INTCNeville90.196.0C5Sep 041d97%$261$115$146hold56% banked, 44% to decay
GOOGNeville334.4345.0C15Sep 041d97%$1,324$652$671hold51% banked, 49% to decay
GOOGNeville334.4345.0C5Sep 041d97%$441$218$224hold51% banked, 49% to decay
CRWVNeville80.293.0C5Sep 118d94%$430$185$245hold57% banked, 43% to decay
HIMSMain29.036.0C15Sep 1815d93%$450dr$292$-742holdopened at a $450 debit, 93% safe
PATHMain17.823.0C35Sep 118d93%$1,085$945$140hold13% banked, 87% to decay (off-roster)
IGVMain102.9125.0C12Nov 2078d92%$3,204dr$834$-4,038holdopened at a $3,204 debit, 92% safe
AMDNeville457.2475.0C2Sep 041d92%$1,084$362$722hold67% banked, 33% to decay
DELLRetireInc457.1485.0C3Sep 041d91%$1,254$952$302hold24% banked, 76% to decay
COPXJoint89.3100.0C20Sep 1815d90%$220$1,250$-1,030holdunderwater, 90% safe
IRENNeville37.840.0C20Sep 041d89%$500$580$-80holdunderwater, 89% safe
IRENRetireInc37.840.0C20Sep 041d89%$500$580$-80holdunderwater, 89% safe
COINMain176.4220.0C8Oct 0229d89%$21$2,204$-2,183holdunderwater, 89% safe
AMZNJoint254.9267.5C5Sep 118d89%$410$380$30hold7% banked, 93% to decay
RKLBRetireInc62.369.0C6Sep 118d87%$390$315$75hold19% banked, 81% to decay
MUJoint946.11050.0C1Sep 1815d85%$1,650$1,073$577hold35% banked, 65% to decay
IRENMain37.842.0C20Sep 118d84%$920$1,000$-80holdunderwater, 84% safe
IRENJoint37.842.0C20Sep 118d84%$920$1,000$-80holdunderwater, 84% safe
GOOGJoint334.4365.0C5Oct 1643d82%-$2,025-hold82% safe
MSTRRetireInc122.8150.0C4Oct 1643d82%$267$1,730$-1,463holdunderwater, 82% safe
MSTRJoint122.8150.0C10Oct 1643d82%$667$4,325$-3,658holdunderwater, 82% safe
GLDMain400.7425.0C10Oct 0229d81%$5,040dr$3,550$-8,590holdopened at a $5,040 debit, 81% safe
MUMain946.11030.0C5Sep 1815d80%$9,275$7,112$2,162hold23% banked, 77% to decay
MUNeville946.11030.0C2Sep 1815d80%$3,710$2,845$865hold23% banked, 77% to decay
QCOMRetireInc169.2180.0C5Sep 1815d78%$920$1,028$-108holdunderwater, 78% safe
METAMain592.6665.0C3Nov 2078d76%$438$6,630$-6,192holdunderwater, 76% safe
SNDKNeville1544.01650.0C1Sep 1815d71%$7,274$4,710$2,564hold35% banked, 65% to decay
NOWMain136.9140.0C10Oct 1643d59%$1,130dr$8,650$-9,780CHECK REBUILD59% safe + opened at a debit - rebuild: WAIT (MARGINAL) (cc near atm low sigma)
NEMMain124.0125.0C5Sep 1815d55%$200dr$1,850$-2,050CHECK REBUILD55% safe + opened at a debit - rebuild: WAIT (MARGINAL) (cc near atm low sigma)
CLOSE = you have banked >= 80% of the premium - lock the win and free the shares (the last sliver is not worth the pin/tail risk), OR a still-OTM call whose survival has fallen below 67% (cut it before it breaches). ROLL = already ITM and losing: the LEAPS defends it, so roll up/out (see roll_calls) rather than realize the loss. CHECK REBUILD = still OTM but deteriorating AND underwater: closing would realize the loss, and roll-vs-cut on a fortress is fortress_rebuild's call - the row mirrors rebuild's own routing so you see its answer here. ACT TODAY = expires today ITM: buy back or roll before the close. Everything else HOLDS - a safe call with real premium still decaying to you. The decision is about THIS call's own premium, not whether a fresh CC exists (you find those in Insight 2). Surv colours mark the two levels that actually do something: red below 67% (holding has gone -EV, so the verdict flips), amber up to 80% (safe to hold, but you could not write this strike today), green at/above the 80% write floor.
Insight 2 - CCs to sell, ALL available contracts (DTE 5-30, survival >= 80%)
TickerSpotCC-SSStrikeDTESurvSell all
SPYNeville765.1703.8773.0Sep 107d80%
$4,320/mo
$1,008/wk12c
Sell all: 12 contract(s) on 1 ticker(s) → $1,008/wk · $4,320/mo  ·  blended surv 80%  ·  ✓ floor · ✗ ideal
ONE view (per Abhi, 2026-07-10): sell every available contract at each fortress's income pick - the projection's New-CCs term uses exactly this number. Cell shows monthly / weekly income and contracts. CC-SS is the scalar safe floor; every strike passed fortress_rebuild's per-expiry exit-model safety check.
NOT BEING SOLD
TickerReason
SPCXNevilledeep drawdown (safe floor 34% above spot)
APPRetireIncdeep drawdown (safe floor 96% above spot)
GLXYMaindeep drawdown (safe floor 48% above spot)
Deferred by CSV - 9 fortresses skipped (income deferred upstream)
FortressLCCTHalf-max capTagNet / mo (deferred)
BMNRMain255025 of 50Half Max; Skipdeferred upstream
BMNRMain237537 of 75Half Max; Skipdeferred upstream
BMNRJoint2315075 of 150Half Max; Skipdeferred upstream
CLSKRetireInc1725-Skipdeferred upstream
ENPHRetireInc4510-Skipdeferred upstream
ETHAMain1350-Skipdeferred upstream
IBITJoint7550-Skipdeferred upstream
MARAMain13400-Skipdeferred upstream
MARARetireInc40500-Skipdeferred upstream
Income deferred: $0 / mo · NOT in the projection
These fortresses carry Skip; in the CSV Comments column, so they are held out of New CCs, E[rollover] and E[fight] - the projection forecasts income you will actually write, and you have deferred these. They are still fully live everywhere else: realized income, the Base pipeline and every buyback verdict in Insight 1 are unaffected, because those are about calls you ALREADY sold. The goal ($30,000 floor / $50,000 ideal) is deliberately NOT lowered to match - this is an income-for-safety trade and the number above is its price. Clear the tag in the CSV and the income returns on the next run.
Insight 2d - expected rollover income (held CCs re-written before Sep'26 end)
TickerSpotStrikeDTESurvContractsCollectedCyclesGrossE[income]
MUMain946.11030.0Sep 1815d80%5$9,2751.7x$10,342$8,308
SNDKNeville1544.01650.0Sep 1815d71%1$7,2741.7x$8,111$5,773
MUNeville946.11030.0Sep 1815d80%2$3,7101.7x$4,137$3,323
GOOGNeville334.4345.0Sep 041d97%15$1,3243.1x$2,634$2,546
AMDNeville457.2475.0Sep 041d92%2$1,0843.7x$2,619$2,400
DELLRetireInc457.1485.0Sep 041d91%3$1,2542.9x$2,356$2,145
PATH off-rosterMain17.823.0Sep 118d93%35$1,0852.7x$1,916$1,774
MUJoint946.11050.0Sep 1815d85%1$1,6501.7x$1,840$1,559
IREN uwMain37.842.0Sep 118d84%20$9202.7x$1,624$1,369
IREN uwJoint37.842.0Sep 118d84%20$9202.7x$1,624$1,369
IREN uwNeville37.840.0Sep 041d89%20$5003.7x$1,208$1,080
IREN uwRetireInc37.840.0Sep 041d89%20$5003.7x$1,208$1,080
GOOGNeville334.4345.0Sep 041d97%5$4413.1x$878$849
QCOM uwRetireInc169.2180.0Sep 1815d78%5$9201.7x$1,026$799
CRWVNeville80.293.0Sep 118d94%5$4302.7x$759$710
AMZNJoint254.9267.5Sep 118d89%5$4102.7x$724$644
INTCNeville90.196.0Sep 041d97%5$2613.7x$631$611
RKLBRetireInc62.369.0Sep 118d87%6$3902.7x$689$602
COPX uwJoint89.3100.0Sep 1815d90%20$2201.5x$215$193
Gross $44,540 → E[rollover] $37,136 to Sep'26 end
Held CCs are not dead weight: a covered name expiring before Sep'26 end frees its shares to be re-written. Cycles come from your real re-write cadence (STEP A median hold, ~6d), floored at a fresh CC's tenor (~7d) so a full weekly premium is never banked more than once a week. Income is expected value = collected × 65% keep × cycles × survival (you only re-write if you keep the shares), so there is no survival cliff - an uw (banked < 0) row simply carries a lower survival weight, not a different formula. Defensive and deep-drawdown names route to 2c instead.
Insight 3 - deep-drawdown income (near-term safe-yield; the E[fight] projection term)
FortressSpotCC-SSStrikevs CC-SSDTESurvCTRungThis cycleGross / moE[net] / mo
GLXYMain23.534.725.0⚠ belowSep 052d86%8150% normal$1,215$18,225$11,855
SPCXNeville140.6189.0147.0⚠ belowSep 052d91%450% normal$168$2,520$1,639
APPRetireInc313.1612.8330.0⚠ belowSep 052d87%133% normal$100$1,500$976
Deep-name income: $1,483 this cycle · gross $22,245 / mo → E[net] $14,469 / mo · 0 of 3 at/above CC-SS (safe)
Read from fortress_fight --all run Sep 02, 23:51 · 1h ago. THE panel for every uncovered deep-drawdown fortress, at the near-term safe-yield strike you actually sell weekly (survival >= 90%). ✓ safe = strike at/above CC-SS (assignment wouldn't lock a loss); ⚠ below = below CC-SS (assignment locks a loss - the risk you accept for the near-term tenor). This E[net] IS the projection's E[fight] term (prorated): you sell it, it lands in actuals. This cycle = the gross cash you collect on THIS sale (bid × 100 × contracts). Gross/mo is that ×(30/DTE), so a 2-3 DTE rung is a ×10-×15 extrapolation that assumes you re-sell it all month. E[net]/mo = gross × your 65% historical keep rate, the same rate the Goal Tracker net-adjusts with. (It is NOT fight's own vol-edge EV: on 3-DTE penny strikes that number is a difference of two near-equal pennies ×10 proration, so a single IV tick swung it $64k→$22k on an unchanged bid.) Skipped: names whose live book shows an open call (already in Base/E[rollover]). The 45-DTE at/above-CC-SS alternative is FYI in Insight 2c below. Trade plan / escape doors live on the FIGHT dashboard.
FYI / reference · not counted in the projection
FYI 2b - max-safety alternative (same contracts, safest strikes; not counted)
TickerSpotStrikeDTESurvContractsNet / mo
SPYNeville765.1782.0Sep 129d94%12$1,075
Max-safety alternative (swap, not add): $1,075
The SAME contracts as Insight 2, at the SAFEST strike (highest survival) whose whole-position income still clears $1,000/mo (a fixed ‘worth writing’ bar). Measuring the total, not per-contract premium, lets a big position reach a deeper, safer strike while still material. An alternative allocation for when you would rather maximise survival than income - a SWAP versus Insight 2, never additive (same inventory). Positions that can't clear the floor at any strike, or whose income pick already is the safest, are omitted.
FYI 2c - safe recovery strikes (at/above CC-SS, up to 45 DTE; not counted)
No underwater fortress pays meaningful premium at/above its CC-SS.
FYI ONLY - not counted in the projection. The fully safe alternative: the best CC at/above CC-SS out to 45 DTE that still pays >= 1000/cycle. Safe by construction (assignment can't lock a loss), but the tenor is far out - you sell these names near-term instead (see Insight 3, which IS counted). Kept here so you can see which deep names have a safe strike available. Income = 30/DTE monthly rate; Net / mo applies the keep haircut.
Escape hatches - cap headroom ledger
TickerOld capRolled toCtSpotHeadroom $Banked by roll $Status
COINMain160C220COct 02 · 29d8176.4$48,000$13,088through old cap
GLDMain377C425COct 02 · 29d10400.7$48,000$23,690through old cap
MSTRJoint105C150COct 16 · 43d10122.8$45,000$17,815through old cap
NOWMain104C140COct 16 · 43d10136.9$36,000$32,890through old cap
IGVMain97C125CNov 20 · 78d12102.9$33,600$7,104through old cap
COPXJoint85C100CSep 18 · 15d2089.3$30,000$8,680through old cap
METAMain570C665CNov 20 · 78d3592.6$28,500$6,780through old cap
MSTRRetireInc105C150COct 16 · 43d4122.8$18,000$7,126through old cap
MUMain1000C1030CSep 18 · 15d5946.1$15,000$0headroom only
NEMMain100C125CSep 18 · 15d5124.0$12,500$12,020through old cap
MUNeville1000C1030CSep 18 · 15d2946.1$6,000$0headroom only
HIMSMain33C36CSep 18 · 15d1529.0$4,500$0headroom only
GOOGJoint357.5C365COct 16 · 43d5334.4$3,750$0headroom only
DELLRetireInc475C485CSep 04 · 1d3457.1$3,000$0headroom only
CRWVNeville91C93CSep 11 · 8d580.2$1,000$0headroom only
AMDNeville502.5C475CSep 04 · 1d2457.2$-5,500$0net down over episode
SNDKNeville1900C1650CSep 18 · 15d11544.0$-25,000$0net down over episode
15 up-rolls$332,850$129,193
One row per open LOT. Old cap = the start of the lot's ROLL CHAIN: buybacks link to the leg that replaced them (re-opened within 3d; an expiry gap breaks the chain), walked back from the most recent buyback - so a progressive escape (435 → 475 → 540) scores its ENTIRE move even when early steps predate the 30d window, which only decides whether the chain still counts as a live escape. DOWN-roll steps net through: a lot whose episode net-LOWERED its cap shows muted as “net down”, outside every total. Lots pair to chains by contract count (the sheet has no account column), so same-size lots share a chain start; unmatched sizes fall back to the ticker's highest recent buyback. A row tagged [roll] in the log links to its predecessor AUTHORITATIVELY (tag every rolled-to leg; fresh writes never), and a tagged chain STOPS at the first untagged leg: the cap that stood before the first tagged roll is where counting starts. Tagged escapes STAY VISIBLE while the leg is open and bypass the up-and-out tenor bar; the 30d recency window and the 21d tenor bar gate only the untagged heuristics; for untagged history an open leg links to a closed one only when the close was a PENNY/zero buyback (a roll: the cost lives in the successor's net premium or negok row) or a real buyback continued DOWNWARD (post-breach de-risk); a real buyback followed by a HIGHER fresh strike is an exit plus a new campaign and never links (BMNR 17.5 exited → fresh 20.5, one day apart), and an escape must go up AND OUT: tenor at entry >= 21d, so a next-weekly re-strike (MU 950→1000, IREN 40.5→45) is the income machine adapting, never an escape. Headroom = (new - old) cap × contracts: LEAPS upside the roll unlocked. Banked by roll = spot minus the OLD cap when spot trades through it: gains the old cap would have handed to the call buyer at expiry. Marked to spot, UNREALIZED - it firms up only as the LEAPS are monetized or spot holds. Puts and down-rolls never count. Never in income totals, projections or --score.
Realized by month — if closed through the new cap
MonthLotsTickersRealized $
Sep 20267COPX, MU, NEM, HIMS, DELL, CRWV$72,000
Oct 20266COIN, GLD, MSTR, NOW, GOOG$198,750
Nov 20262IGV, META$62,100
TOTAL$332,850
The flip side of the buyback toll: income given up NOW comes back as cap P&L on this schedule. Each up-roll lands in the month its rolled-to call expires; IF spot finishes that expiry through the new cap and the trade is closed (assigned / LEAPS monetized), the month realizes the lot's full headroom over the old cap. Conditional on the rally holding to expiry - a lot that finishes below the new cap realizes nothing here (and keeps the upside unrealized instead). Display-only, like the ledger above.
Reading Step A - plain English, with your own numbers
Step A looks at every income covered call you have closed in the last 3 months and asks one question: how much of the premium you sell do you actually get to keep? That single percentage is what turns the gross forecast at the top of this page into the net one. Calls still open are not here, they are in Insight 1.
1 · What happens to one covered call
Say you sell one call for $1,000. Three endings:
A. It expires worthless. You keep the whole $1,000. → counted in expired full (73 of yours).
B. You buy it back early for $200 to free the shares. You keep $800. → counted in bought back (224 of yours). That $200 is the “premium given up”.
C. The stock rips past your strike and you buy it back for $1,300. You are down $300. → still bought back, and also counted as run over (34 of yours).
The bit that trips everyone up: run-overs are a subset of buy-backs, not a third bucket. 73 + 224 = 297, your total. The 34 run-overs are the worst 34 of those 224 buy-backs, counted again so you can see how often it goes badly.
2 · Four percentages that all sound the same
NumberThe question it answersWorked from your book
Give-up ratio
32.8%
Of every premium dollar you sold, how much went back out?You sold $359,165 of premium and paid $117,822 to buy calls back. 32.8% of what came in went back out. Your biggest trades dominate this one.
Typical give-back
20%
For a normal single trade, what fraction came back?Line your 224 buy-backs up by what share of their OWN premium they handed back. The middle one gave back 20%. Here a $18 SOFI call counts exactly as much as a $10,000 MU call.
Mean keep
67%
The mirror of the give-up ratio.Just 100% minus 32.8%. Nothing new, it is the same dollar-weighted view stated as what you keep.
Forecast keep
65%
What a NORMAL MONTH keeps.This is the only one that changes any number on this page. Work out the keep for each month on its own, then take the middle month.
3 · Why the middle month, and why recent ones count more
Your months: 2026-03 81%, 2026-04 83%, 2026-05 66%, 2026-06 65%, 2026-07 63%, 2026-08 80%. Their plain average is 73%. The tool does not use the average, because one unusually good or bad month should not set the forecast for every month after it. It lines the months up and takes the middle one.
With one twist: only the months from 2026-06 onward are counted. That is when the toolset matured (FIGHT, CC-SS floors, the scanner's picks), so those are the only months describing a book you still trade. Counting all 6 months instead would read 66%; the mature months alone read 65%.
The current month is always left out, because it is only part finished.
3b · A high keep % is not a good month
This is the trap in the whole card. The keep % measures efficiency per premium dollar sold, not money. Your best rate was 2026-04 at 83%, which banked $73,272. Your best month was 2026-07 at 63%, a worse rate, which banked $119,877.
A quiet month where most calls simply expire scores a high rate on a small amount of premium. An active month where you buy winners back early scores lower by construction (buying back at 80% banked hands back the other 20%) and can bank far more. That is why the card now shows Sold / Bought back / Kept next to the rate: read the Kept column for how you did, and the rate only for how hard the premium worked.
4 · Why two numbers for “premium given up”
Of the 224 calls you bought back, the middle one cost $240 to close. The average is $526, pulled up by a handful of big run-overs. When those two are this far apart, the median is the honest one for “what does a normal buy-back cost me?”
5 · Where the early-cover read comes from
Two rules of thumb on the numbers above:
AGGRESSIVE if you hand back 40%+ of premium, or 30%+ of calls run over. Strikes are too tight; write further out.
HEALTHY if 80%+ come out ahead and you hand back under 25%.
MODERATE anything in between.
Yours: win rate 89% clears 80%, but give-up 33% is above 25%, so it lands in the middle band.
6 · Why some tickers are missing
6 ticker(s) are held out of these behaviour numbers: AVGO, CLSK, HOOD, IBIT, SOFI, UAMY. On those you deliberately buy the call back to let the stock run (an un-cap). That is a capital-gains decision, not a bad strike. Their money still counts in your income totals at the top of the page; it just should not pollute “how well do I pick strikes?”
Window: last 3 months by close date. Only CLOSED round-trips count. A buy-back tagged [DBB] (a deliberate un-cap) contributes its premium and no buy-back cost, so it never looks like a strike mistake.
Read-only and advisory. Places no orders.