
Well, December gave us hope. January took most of it back.
Well, here we are — Month 8. Eight months of selling options, collecting premiums, watching stocks do things I didn’t want them to do, and writing about it so you don’t have to repeat my mistakes. Or at least, so you can make them with your eyes open.
If you’re new here, the quick version: I started a personal challenge back in June 2023 to see if I could beat the S&P 500 by selling cash-secured puts and covered calls — a strategy sometimes called the wheel — inside a Roth IRA. I kicked things off with a $6,000 deposit and have been tracking it against what I would have earned by just buying Vanguard’s S&P 500 ETF, ticker VOO. You can read how I set all this up in my original post: Cash Secured Puts and Covered Calls Sales, Can it Beat the S&P 500? and then catch up month by month from there:
- Month 1, June 2023
- Month 2, July 2023
- Month 3, August 2023
- Month 4, September 2023
- Month 5, October 2023
- Month 6, November 2023
- Month 7, December 2023
Also, the usual disclaimer: I am not a financial advisor. Nothing here is investment advice. These posts exist purely for educational and entertainment purposes. If you find options trading entertaining, you and I are the same kind of weird. Welcome.
To start the month I am beginning from an account value of $6,470.21. December had been a genuine comeback — I closed out 2023 finally back in positive territory, up 7.84% from my $6,000 starting point. For a few days it felt like the turnaround was real. Then January happened.
Week 1, January 1 – 6
The new year opened with Wall Street still riding the afterglow of an incredible 2023. The S&P 500 had finished the year up 24%, the Nasdaq up over 43%, and investors broadly convinced that the Federal Reserve was done hiking rates and would start cutting them — possibly as early as March 2024. It was an optimistic mood. My account had its own plans.
I entered January carrying two existing stock positions: 100 shares of Vodafone (VOD) assigned in December at $9 per share, and a short put on Affirm Holdings (AFRM) — a $48 put expiring January 5th that had been opened in late December. Affirm is a buy-now-pay-later company, meaning its business model is highly sensitive to interest rates. Lower rates mean cheaper funding for the loans Affirm underwrites, which means better margins, which means investors get excited. AFRM had surged from the low $20s in October all the way into the high $40s by year end on exactly that excitement.
On January 5th, AFRM closed below $48. The put expired in the money, which triggered an assignment — meaning I was now obligated to purchase 100 shares of AFRM at $48.00 per share for a total of $4,800.00. Assignment is when the option seller (me) is required to fulfill the terms of the contract — in this case, buying the stock at the agreed strike price regardless of where it’s currently trading. AFRM was trading below $48 at the time, so I was immediately sitting on an unrealized loss the moment the shares landed in the account. This is the wheel strategy working exactly as designed, and it is exactly as uncomfortable as it sounds when it happens to you.
| Date | Description | Qty | Price | Fees & Comm | Amount |
|---|---|---|---|---|---|
| 01/05 | Assigned — AFRM $48 Put, Exp 01/05/24 | 1 | — | — | — |
| 01/05 | Buy — AFRM (100 shares) | 100 | $48.00 | — | ($4,800.00) |

Week 1 net cash: ($4,800.00)
Week 2, January 7 – 13
The moment I owned the AFRM shares, I moved to the next step of the wheel strategy: selling covered calls. A covered call means selling someone else the right to buy your shares at a set price by a certain date, in exchange for a premium paid to you upfront. If the stock rises above that price by expiration, your shares get called away — sold at the strike price. If the stock stays flat or drops, the call expires worthless and you keep the premium and try again next week.
On January 8th I sold a $48 covered call on AFRM expiring January 12th for $0.46, collecting $45.34 after fees. The strike matched my cost basis — if AFRM rallied back to $48, the shares would get called away and I’d walk away even on the stock while keeping all the premium. A clean exit.
AFRM didn’t cooperate. It stayed below $48 all week and the call expired worthless on January 12th. No assignment, no shares sold — just $45.34 in collected premium and 100 shares still in the account below cost basis. The wheel keeps spinning.
| Date | Description | Qty | Price | Fees & Comm | Amount |
|---|---|---|---|---|---|
| 01/08 | Sell to Open — AFRM $48 Call, Exp 01/12/24 | 1 | $0.46 | $0.66 | $45.34 |
| 01/12 | Expired — AFRM $48 Call, Exp 01/12/24 | 1 | — | — | — |

Week 2 premium collected: $45.34
Week 3, January 14 – 20
By mid-January, AFRM was drifting in the low-to-mid $40s, a meaningful distance below my $48 cost basis. The broader market was starting to show some hesitation — investors were beginning to question whether the Fed would really cut rates as aggressively as they’d been hoping. When rate-cut expectations get dialed back, rate-sensitive stocks like AFRM tend to lose altitude first. Nothing catastrophic, just the slow leak of enthusiasm that had inflated the stock so fast in the fall.
The account also earned $1.72 in bank sweep interest on January 15th. At this pace, the sweep interest should fully compensate for my unrealized losses sometime around the year 2150.
On January 16th I sold another $48 covered call on AFRM, this one expiring January 19th, for $0.08 and collecting $7.34 after fees. That’s a thin premium — when a stock is trading well below your strike, there’s very little chance of it reaching that level before expiration, so the market doesn’t pay you much for the call. I was collecting whatever I could while waiting for AFRM to find its footing.
On January 17th I opened a new position — a $8 cash-secured put on HUT 8 Mining (HUT) expiring January 26th, collecting $21.34. HUT is a Bitcoin mining company. Bitcoin had been recovering heading into 2024, partly on anticipation of a potential spot Bitcoin ETF approval and the upcoming Bitcoin halving event. Mining stocks were seeing elevated premiums as a result. If assigned, I’d own 100 shares of HUT at $8 — an $800 position I felt was manageable.
On January 19th, with the AFRM $48 call expiring that day nearly worthless, I bought it to close for $0.01 to clean up the books, then immediately sold a new covered call — this time dropping the strike to $43 and pushing expiration out to January 26th, collecting $68.34. Lowering the strike from $48 to $43 generates more premium because there’s a higher probability AFRM reaches $43 than $48, but it also means if the stock pops above $43 my shares get called away at a $5 per share loss relative to my cost basis. It’s a trade-off: take more premium now, accept more risk of selling at a loss.
On the same day I also sold a $9 covered call on my VOD shares expiring February 16th for $13.34. Vodafone had barely budged — sitting around $8.60 — and I was extracting whatever call premium the market would offer. I also bought to close the previous VOD $9 call (expiring January 19th) for $0.01 to close it out cleanly.
| Date | Description | Qty | Price | Fees & Comm | Amount |
|---|---|---|---|---|---|
| 01/15 | Bank Interest | — | — | — | $1.72 |
| 01/16 | Sell to Open — AFRM $48 Call, Exp 01/19/24 | 1 | $0.08 | $0.66 | $7.34 |
| 01/17 | Sell to Open — HUT $8 Put, Exp 01/26/24 | 1 | $0.22 | $0.66 | $21.34 |
| 01/19 | Buy to Close — AFRM $48 Call, Exp 01/19/24 | 1 | $0.01 | $0.01 | ($1.01) |
| 01/19 | Buy to Close — VOD $9 Call, Exp 01/19/24 | 1 | $0.01 | $0.01 | ($1.01) |
| 01/19 | Sell to Open — AFRM $43 Call, Exp 01/26/24 | 1 | $0.69 | $0.66 | $68.34 |
| 01/19 | Sell to Open — VOD $9 Call, Exp 02/16/24 | 1 | $0.14 | $0.66 | $13.34 |

Week 3 premium collected: $109.73 (including interest)
Week 4, January 21 – 27
A quiet week on the trading front, with two satisfying outcomes.
The AFRM $43 covered call expired worthless on January 26th — meaning AFRM had stayed below $43 all week. That’s good and bad news simultaneously. Good: I keep the $68.34 premium with no obligation to sell my shares. Bad: AFRM is trading below $43, which means it’s even further from my $48 cost basis than before. The option income is real; the hole I’m in is also real.
The HUT $8 put also expired worthless on January 26th. HUT stayed above $8, the put expired with no value, and I pocketed the $21.34 premium without taking on any new shares. A clean win for the week.
| Date | Description | Qty | Price | Fees & Comm | Amount |
|---|---|---|---|---|---|
| 01/26 | Expired — AFRM $43 Call, Exp 01/26/24 | 1 | — | — | — |
| 01/26 | Expired — HUT $8 Put, Exp 01/26/24 | 1 | — | — | — |

Week 4: No cash transactions — both positions expired worthless.
Week 5, January 28 – 31
January closed out with two new positions opened on January 29th.
On AFRM I went back to selling a $48 covered call — this time expiring February 2nd — for $0.36, collecting $35.34. I moved the strike back up to $48 rather than staying at $43. The premium is thinner at the higher strike, but I’m less comfortable locking in a certain loss on the stock if the call gets exercised. Every dollar of premium I collect at $48 is a dollar closer to breaking even on the position.
I also entered a new name: RIOT Platforms (RIOT), another Bitcoin mining company. On January 29th I sold a $11 cash-secured put expiring February 2nd, collecting $32.34. The context here matters: the Securities and Exchange Commission had just approved spot Bitcoin ETFs on January 10th — a watershed moment for the crypto industry that sent Bitcoin surging and mining stocks along with it. RIOT had been one of the biggest beneficiaries. The short-dated put premium was attractive, and the position size was manageable — if assigned, I’d own 100 shares of RIOT at $11 for an $1,100 outlay. Both positions carried over into February open.
| Date | Description | Qty | Price | Fees & Comm | Amount |
|---|---|---|---|---|---|
| 01/29 | Sell to Open — AFRM $48 Call, Exp 02/02/24 | 1 | $0.36 | $0.66 | $35.34 |
| 01/29 | Sell to Open — RIOT $11 Put, Exp 02/02/24 | 1 | $0.33 | $0.66 | $32.34 |

Week 5 premium collected: $67.68
S&P 500 (VOO) Summary Activity and Results — January 2024
VOO opened January at $449.04 and closed the month at $443.82, a gain of 1.61% for the month. That modest number somewhat undersells the dynamics playing out beneath the surface.
January started with the same rate-cut optimism that had powered the big December rally, but cracks appeared by month end. The Fed met on January 31st and held rates steady — no surprise — but Chair Jerome Powell was notably cautious about the timeline for cuts, pushing back firmly on the idea that March was a sure thing. That dampened enthusiasm and VOO actually gave back some of its early-January gains before settling at $443.82.
No VOO dividend was paid in January. VOO pays quarterly, and the next dividend won’t arrive until late March 2024. The share count carries forward unchanged from December.
| Date | Activity | Cash In/Out | Share Price | Shares | Total Shares | Total Value |
|---|---|---|---|---|---|---|
| 5/31/23 | Initial Purchase | $6,000.00 | $383.89 | 15.629 | 15.629 | $5,999.82 |
| 6/29/23 | Div Reinvested | $24.66 | $402.51 | 0.061 | 15.691 | $6,390.63 |
| 7/31/23 | End of Month | — | $420.68 | — | 15.691 | $6,600.89 |
| 8/31/23 | End of Month | — | $413.83 | — | 15.691 | $6,493.41 |
| 9/28/23 | Div Reinvested | $23.50 | $393.64 | 0.060 | 15.750 | $6,185.02 |
| 9/29/23 | End of Month | — | $392.70 | — | 15.750 | $6,185.02 |
| 10/31/23 | End of Month | — | $384.17 | — | 15.750 | $6,050.68 |
| 11/30/23 | End of Month | — | $419.40 | — | 15.750 | $6,605.55 |
| 12/20/23 | Div Reinvested | $28.50 | $430.09 | 0.066 | 15.816 | $6,908.43 |
| 12/29/23 | End of Month | — | $436.80 | — | 15.816 | $6,908.43 |
| 1/31/24 | End of Month | — | $443.82 | — | 15.816 | $7,019.46 |

Month End Results on Live Account
Here’s the honest accounting.
Opening balance: $6,470.21 Ending balance: $6,009.56 Change: ($460.65) — down 7.12%
Total premium collected across the month came to $340.07. In isolation that sounds fine. But the account lost $460.65 in total value because the 100 AFRM shares sitting in the account at a cost of $48.00 were worth only $40.51 at month end — an unrealized loss of ($631.66) on that position alone, per the brokerage statement. Add in the small unrealized loss on the 100 VOD shares and the premiums collected barely moved the needle.
That is the central tension of the wheel strategy when a stock moves against you: premium income arrives in small, steady installments. Unrealized losses arrive in lump sums. The math does not always favor patience, even when patience is the right call strategically.
Two positions were still open heading into February: the AFRM $48 covered call and the RIOT $11 put, both expiring February 2nd.

January 2024 Full Trades Summary:
| Date | Description | Qty | Price | Fees & Comm | Amount |
|---|---|---|---|---|---|
| 01/05 | Assigned — AFRM $48 Put, Exp 01/05/24 | 1 | — | — | — |
| 01/05 | Buy — AFRM (100 shares) | 100 | $48.00 | — | ($4,800.00) |
| 01/08 | Sell to Open — AFRM $48 Call, Exp 01/12/24 | 1 | $0.46 | $0.66 | $45.34 |
| 01/12 | Expired — AFRM $48 Call, Exp 01/12/24 | 1 | — | — | — |
| 01/15 | Bank Interest | — | — | — | $1.72 |
| 01/16 | Sell to Open — AFRM $48 Call, Exp 01/19/24 | 1 | $0.08 | $0.66 | $7.34 |
| 01/17 | Sell to Open — HUT $8 Put, Exp 01/26/24 | 1 | $0.22 | $0.66 | $21.34 |
| 01/19 | Buy to Close — AFRM $48 Call, Exp 01/19/24 | 1 | $0.01 | $0.01 | ($1.01) |
| 01/19 | Buy to Close — VOD $9 Call, Exp 01/19/24 | 1 | $0.01 | $0.01 | ($1.01) |
| 01/19 | Sell to Open — AFRM $43 Call, Exp 01/26/24 | 1 | $0.69 | $0.66 | $68.34 |
| 01/19 | Sell to Open — VOD $9 Call, Exp 02/16/24 | 1 | $0.14 | $0.66 | $13.34 |
| 01/26 | Expired — AFRM $43 Call, Exp 01/26/24 | 1 | — | — | — |
| 01/26 | Expired — HUT $8 Put, Exp 01/26/24 | 1 | — | — | — |
| 01/29 | Sell to Open — AFRM $48 Call, Exp 02/02/24 | 1 | $0.36 | $0.66 | $35.34 |
| 01/29 | Sell to Open — RIOT $11 Put, Exp 02/02/24 | 1 | $0.33 | $0.66 | $32.34 |
Final Comparison
VOO gained $111.03 in January — a quiet 1.61% while the index processed the Fed’s messaging and kept climbing. My account lost $460.65. The gap between those two numbers in a single month is a pretty clean illustration of what happens when a stock assignment goes wrong inside a small account.
Here’s the full running scoreboard since the beginning of the challenge:
| Date | S&P 500 ETF Account (VOO) | Change % | Total Change % | Live Account | Change % | Total Change % |
|---|---|---|---|---|---|---|
| 5/31/23 | $6,000.00 | — | — | $6,000.00 | — | — |
| 6/30/23 | $6,390.63 | +6.51% | +6.51% | $6,457.71 | +7.63% | +7.63% |
| 7/31/23 | $6,600.89 | +3.29% | +10.01% | $7,459.88 | +15.52% | +24.33% |
| 8/31/23 | $6,493.41 | -1.63% | +8.22% | $6,132.29 | -17.80% | +2.20% |
| 9/29/23 | $6,185.02 | -4.75% | +3.08% | $5,496.47 | -10.37% | -8.39% |
| 10/31/23 | $6,050.68 | -2.17% | +0.84% | $4,751.35 | -13.56% | -20.81% |
| 11/30/23 | $6,605.55 | +9.17% | +10.09% | $5,652.56 | +18.97% | -5.79% |
| 12/29/23 | $6,908.43 | +4.59% | +15.14% | $6,470.21 | +14.47% | +7.84% |
| 1/31/24 | $7,019.46 | +1.61% | +16.99% | $6,009.56 | -7.12% | +0.16% |

VOO is now up 16.99% from the start of the challenge. My account is up 0.16%. Eight months of active management, and I have outperformed a savings account by approximately nothing. The index took the elevator. I took the stairs — specifically the stairs in a building that kept quietly adding floors while I wasn’t looking.
December had genuinely narrowed the gap to the closest it had been since July. January opened it right back up. The cumulative deficit is now nearly 17 percentage points.
Ending Thoughts
There’s a version of this story where AFRM rallies back above $48, my covered call gets exercised, I exit the position at cost, and every dollar of premium I collected along the way becomes pure profit. The wheel strategy is built on exactly that sequence working out. That version is still possible.
There’s also a version where AFRM grinds lower, the covered call premiums stay thin, and the unrealized loss sits in the account slowly counteracting everything I collect. That’s the less fun version, and it’s the one I was living in January.
I’ve also added RIOT to the mix now alongside HUT. Bitcoin ETF approval was a genuine market event and the miner premiums were worth chasing. Whether mixing crypto-adjacent names into a small Roth IRA is a sound strategy or just a new flavor of volatility is something February is going to have opinions about.
Either way, I’m still here, still spinning the wheel, still documenting. See you next month.
