Covered Call Selector Update

I should have known better, there was a bug in my code. :frowning:

But I also found a quirk in the php date arithmetic, a rounding error but only when the days to expiration are multiples of 5 weeks (35 days rounded up to 36). It’s a bug not worth fixing.

o o o o o o o o o o o o o o o o o o o o o o o o

June was the first month when I applied the full power of the Covered Call Selector and it was a very good month, 4.7% in premiums collected and only 1 out of 10 contracts had a capital loss. Six were assigned which means most they had capital gains - around 25% of the premium.

July will see little activity as it’s earnings season.

The Captain


Earnings season just crapped ENPH, down pre market to $143.50, down by $23.30, 13.97%.

I was expecting my $170 strike price calls to be assigned today. Now they will expire worthless. What to do with ENPH? I’ll make up my mind before the trading day is over.

Just to be on the safe side I downloaded the option chains I would be using to reinvest the ENPH cash.

o o o o o o o o o o o o o o o o o o o o o

The market opened with ENPH at $150. I bought back the call (10¢) and sold ENPH. Might as well go all in with the covered call strategy instead of anchoring on ENPH.

With the cash I sold covered calls on SentinelOne, Inc. (S) and Roku, Inc. (ROKU) bringing the July premiums to 4% of the portfolio. The monthly average from April to July is 4.3%. While it’s too early to tell how the strategy will perform long term it’s beating the S&P 500 handily as well as the NASDAQ. Have to see how well it will perform in a bear market taking into account capital gains or losses.

My next project is to update the Balance feature of the Portfolio app to replace the tracking spreadsheets which are quite cumbersome.

The Captain


Two questions:

  1. Why bother buying back the call? Why not just let it expire worthless? I sell puts all the time (on stocks that I am willing to buy at that strike price minus the put premium I receive), and they regularly expire worthless. A few expired worthless last Friday.
  2. If you already own ENPH, albeit at a loss, did you consider keeping it and selling new calls against it? You could probably do that repeatedly, even every week, for at least for 3-6 months, because there’s only a small chance of it rising anytime soon (IIRC, their guidance was 4-6 months of no growth).

Good question! It gives me three extra days to expiration on any call I sell on Friday instead of on Monday. A bit higher premium!

I did not lose money on ENPH, I made an IRR of 6.6% over 4 years, not bad but less than the market average. I would have made more selling at $170. After ENPH hit its all time high on Dec 2 I sold 13 calls serially but I would have been better off selling ENPH at $336.00.

The reason not to repeat was because ENPH is a bit too pricy for the covered call strategy that needs diversification to reduce the risk of capital loss. It only costs two commissions to change to something else. In this case three because I sold calls on two stocks.

There is no reason to anchor. Every time I run the Covered Call Selector it picks the best stocks to sell call on. That’s it’s job description!

The Captain


Covered calls had great results during May and June and less great from then on. Bull runs sure help. Part of the problem was using longer time to expiration. Not only does time value drop fastest during the last week but the shorter holding period produces fewer surprises.

The Covered Call Selector is designed to crunch as much data as possible, the difficulty is downloading the option chains. I had been building an ad-hoc list of covered call candidates but the list or inventory needed to be improved which I just finished doing. I decided to explore three new sources, S&P 100, NASDAQ 100 and ARK Invest which has been recovering from a terrible slump. Cathy wood has some good picks

ARKK ARK Innovation ETF


Instead of doing time consuming research I let the Covered Call Selector do the picking, it knows what it likes! :slight_smile:

Processing so many stocks is a mind and soul numbing exercise but it had to be done. First I eliminated all the duplicates, securities that had no options, all the securities under $10, and most of the securities over $100. That left 178 ticker symbols and it took several hours to download their option chains.

The Selector’s default settings are:

  • Strike: ATM, max 35 days
  • Premium > $100
  • Cash per day > $5
  • Discount > 1%

Anything less is just worth the trouble. The normal procedure is to tighten the settings in stages until only a handful of calls are left standing. The default settings applied to the current list of 176 stocks yields 862 calls when limiting the share price to $100. Limiting the share price to $120 yields over 1,000 calls.

I had some 300 candidates to deal with and I knew I had to pare the list down to a manageable size. My first attempt cut too much specially because I shortened the days to expiration to two weeks. My next attempt leaving days to expiration at 35 days yielded a reasonable 176 stocks.

The list is at

The Captain


Captain Denny’s “covered calls” strategy is the best, novel, workable alternate to “invest in the whole market for the long term” strategy I have seen presented on METAR.

Except mine: study where rich people are starting to move, study why, and buy bare land or the occassional building with land in the path of development that has water rights, security, and lots of whatever the rich want.

Both take a lot of work.

david fb


Hi David fb,

Thanks for that…how do you do this in practice? I mean, how do you assess where the rich are starting to move and why? Are there any useful resources that have helped in your endeavors?


I doubt this would work for @captainccs … how does bare land for future development provide a monthly income to cover living expenses?

Charlie, in the past I randomly encountered and noticed it, or read about it in status magazines etc (rather boring and tedious to read but easy to scan), and gave especially close attention to gay folk, who are often pioneers. You have to be careful because many communities and RE agencies who want to attract people simply pay flacks to place stories. But San Miguel de Allende, Mexico, starting to surge with richer people, mostly USAians, 25 years or so ago and stories abounded. About 8 years ago the flow shifted from USAians to mostly wealthy Mexicans. The pattern in San Miguel echoed what I had seen much earlier in Carmel by the Sea in California, which was first energized over 70 years ago by craftspeople and arty types attracted by the stunning beauty and then cheap cost of living. Vacationers followed, and then the rich went nuts for the place. I avoid even stopping for lunch there any longer. Aspen, Colorado, repeated the story.

As to monthly income, well that comes nearer the end of the cycle from owning not bare land but switching to homes you can rent out. We have just reached that point now in San Miguel, where I have switched from predominantly bare land (only 25% by value of my holdings there) to homes with some kind of special attraction, such as stand out architectural homes with a very cool vibe or location near clubs etc.

david fb
(the gay angle is ancient and has now mostly faded out, as it was based on how gay people were ferociously discriminated against and reacted with cleverness. I started RE investing long ago by mapping where gay men were pioneering (locations of hip Antique Shops were a dead giveaway) in the gay version of gentrification in poorer districts of San Francisco, Seattle, and etc. I took on long term rental leases in those locations and subleased to tenants, sometimes guys living communally…) (But my best investment of all time was not searching out rich or gay folk, but by betting big big time in bare land at Mammoth Mountain California when people got hysterical and panic sold over a huge increase in volcanically related earthquakes there that I knew from long study signifiied almost nothing)

1 Like

Spot on, I love liquidity. My covered calls have a max time horizon of four to five weeks, Less is better. But I don’t think david fb meant it for me, only that he too thought outside the box.

The Captain

1 Like

The money is in the box.

Yes! But my way of doing that is to think outside the box and then put the money in the box.

Captain is right. He and I are very very different, often on different sides of policy issues, but both like to stay outside of boxes. Maybe that correlates with our expatriate natures…

david fb


Here it is.

I work outside the box. I need to sell the work inside the box.

1 Like

Apologies, on Sunday I uploaded the wrong file, the old list. That is now corrected. Ten entries were removed from the old list and 21 new ones added for a total of 136.

The Captain

1 Like

There is a fly in the ointment

In software we call them bugs. I found (another) one :frowning:

When shares are split the old options have to be repriced. The problem is that the CBOE option chains have both, new and old, and no filter to separate them. This problem has to be solved with a workaround in my Upload code. The solution is simple enough, the old options have an extra digit in the symbol.

The fly in the ointment is that the option list I created has stocks that should not be on the list.

The Captain

Don’t they just split the price per the split ratio? (and reverse split the quantity) But perhaps the problem is as follows (example):

  1. Stock trades at ~100.
  2. There are 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160 strikes.
  3. Split 2:1 occurs, now stock price is ~50.
  4. The 40s becomes 20s, the 50s become 25s, the 100s become 50s. Etc.
  5. Is the problem differentiating the old 50s from the new 50s? Do the old 50s even exist anymore symbol-wise? They are now 25s.

The strike price is split but the bid/ask prices are set by the market and they are not necessarily in sync with the new options.

That’s part of it but more important is that I can’t buy’s shares at the old price and split them so those calls become a nuisance that complicates the Call Selector’s job. The easiest solution is to ignore them.

The php ignore code turned out to be extra special simple

if(strlen($t[1]) > strlen($comp) + 15) { 
} // old option

I ran into a more complex problem, the selection of the expiration date range. When working mid week I want to exclude the options expiring this Friday. Not that these are poor calls to sell, the ‘dollars per day’ calculation is so high that it make comparisons difficult. This is another issue that I had not thought about ahead of time. The Selector keeps evolving, it’s now in its fourth year.

The Captain

1 Like


You are, at times, working very hard for your money.

But I suspect you are enjoying it mightily. LOL.

My nephews are now agog with your methodology and I send you their thanks. They are sticking to traditional long term buy and hold mostly focused on high tech they know (silicon valley boys all three), but want to diversify their knowledge of how “it can be done.”

david fb

1 Like

Writing code has been a gift of the gods for me. Some people paint, others make music, some are athletes. I write beautiful code and enjoy the creativity. Having started writing machine code before computing was taught in school I have gone through several generation of the art.

Once upon a time there was RPG, Report Program Generator, whose job it was to replicate on the IBM 360 what was previously done with Unit Record (punched cards) and so avoid writing real code. I got into a discussion with Data Processing friends and one bet me it was not possible to make bar charts with RPG. The two bottles of Chivas Regal I won were smooth! It’s fun and games. Best yet, it tells me I’m not yet brain dead.

Traditional long term buy and hold requires a lot of smart guessing about what will work and what won’t. Selling covered calls has the benefit of the law of large numbers and it has elements of casino gambling and insurance. Simply put, call options have high premiums when investors are bullish on the stock and they buy calls on them as bets they can beat the market. Finding those bets is what the Call Selector does. These days I’m 1/3rd LTBH, 2/3rds covered calls.

I’m glad to hear some people like it enough to send me their thanks, most gratifying!

The Captain


Thanks Captain…Your covered calls selector is great, and I particularly enjoy your commentary on those…was to why you enter/ exit etc. Very informative!!


1 Like