Research/Research note
Covered calls lagged what they sold calls on
Of 111 covered-call ETFs, 12 beat the asset they sell calls on. The median trailed it by 6 percentage points a year, and the bigger the rally, the bigger the gap.
What was measured
A covered-call ETF holds an asset and sells call options against it. That gives up gains above the strike in exchange for premium, which the ETF pays out. The question: over the same months, did the ETF return more or less than the asset it sells calls on?
The sample is every covered-call ETF StoryVector classifies, with at least 12 months of prices, except inverse and levered wrappers: 111 ETFs. They are 69 index ETFs, 26 single-stock ETFs, 5 daily-expiry ETFs and 11 sector or asset ETFs (energy, midstream, bonds, AI, crypto), together about $165bn of assets. Return is annualized total return at market price, with distributions counted. The underlying is the named stock for single-stock ETFs and, for the rest, the benchmark whose weekly returns fit best. The window is the last 36 months or the ETF's life.
Each covered-call ETF against the asset it sells calls on
Annualized total return, last 36 months or ETF life. Hover or tap a dot for the ETF. Hollow dots track their benchmark loosely (fit below 0.85).
Yield view: what each ETF paid against how much of its underlying’s gains it kept; large rings mark each type’s median. Gap view: dots below the zero line trailed their underlying; zoom narrows it to underlyings that gained 0 to 50% a year. Close fits only hides the hollow dots.
Yield bought no extra upside
Single-stock ETFs paid a median yield of 69% and index ETFs 13%, yet both kept about 75% of their underlying’s gains in rising months (the main chart’s first view). Their median total return, distributions counted, was 16% a year against 14% for index ETFs. More yield did not buy more of the rally.
The gap grew with the rally
The median ETF trailed by 2 points a year where its underlying gained 10% or less, and by 17 points where it gained more than 30%. A covered call gives up upside, so the more upside there was, the more it gave up.
The more the underlying gained, the further ETFs fell behind it
Every ETF's gap to its underlying, grouped by the underlying's annualized gain. White line: group median. Hover a dot for the ETF.
The large ETFs
The large ETFs against what they sell calls on
The six largest by assets, sorted by gap. Annualized total return: amber is the ETF, white is the index it sells calls on. Gap in percentage points a year.
JEPI and JEPQ hold equity-linked notes and a defensive stock book, so the index is a loose benchmark for them. Windows differ by ETF age, so the index return differs across rows.
What happened in the down months
In falling months the cushion showed up: the median ETF lost 84% as much as its underlying, and 86 of 110 lost less.
Down months by ETF type
Left: share of the underlying's fall the ETF took (1.0 = the same loss). Right: gap in months the underlying rose, points a month.
The cushion was smaller than the cost. The median ETF trailed by 1.4 points a month when the underlying rose, and rising months outnumbered falling ones about 17 to 10, so the cushion covered the cost for only 10 of 110 ETFs. Large ETFs that sell calls on the whole index kept the most protection, falling 0.20 to 0.43 as much as their underlying in down months; those that sell calls on part of the portfolio, or through notes, fell 0.60 to 0.81 as much. The window held no deep or prolonged decline (the worst month, March 2025, saw a median underlying fall of 6.9%), so this shows the cushion exists, not how large it is in a real bear market.
Single-stock ETFs trailed most
The 26 single-stock ETFs trailed their stock by a median 10.6 points a year, and six lost money outright. The range is wide, from one that matched its stock almost exactly to one that trailed by about 39 points. Three beat their stock; none of the 5 daily-expiry ETFs did.
The 11 sector or asset ETFs sat closest to their underlyings, a median 2.2 points behind, and four were ahead. Their benchmarks are the loosest fits, so read them with care.
Two readings
One rising market cannot separate the two: it shows how much upside was given up, not how well the strategy protects. Fees sit inside the gap, but at a median 0.68% a year for index ETFs and about 1% for single-stock ETFs they explain only a small part of it.
The bottom line
Covered-call ETFs paid the income and gave up the rally: in a mostly rising market, 99 of 111 trailed what they sell calls on, by a median 6 percentage points a year. A higher yield bought no more of the upside, and the cushion in falling months was real but small next to the cost.
The limits
This measures what covered calls cost in a rising market. The other side of the trade, protection in a falling one, rests on about ten mostly shallow down months per ETF.
Index underlyings are matched by weekly return fit, and 25 of the 69 index ETFs fit loosely (below 0.85). Windows run from 12 to 36 months depending on ETF age, and returns are at market price, not NAV. The 111 measured are the covered-call ETFs StoryVector classifies with at least a year of prices, excluding inverse wrappers, and they hold 95% of the category’s assets. The 11 sector or asset ETFs fit their benchmarks least well: read them as a check on the pattern, not part of it.
Method
Sample: ETFs StoryVector classifies as covered-call or daily-expiry covered-call with at least 12 months of price history and at least six months in which the underlying rose, excluding short and inverse wrappers: 111 of 170. 100 are income ETFs and 11 are thematic. Total return per month = (close + distribution) / prior close − 1, annualized over the window (last 36 months or ETF life). Gap = ETF annualized return minus underlying annualized return over the same months. Underlying: named reference stock for single-stock ETFs; best weekly-correlation match across a fixed benchmark set for the rest (three assigned by hand). Yield = trailing 12-month distributions over latest price, including return of capital, shown on a log scale. Upside kept = average ETF return over average underlying return, in months the underlying rose. Expense ratios from StoryVector’s ETF records. Data: daily market prices and distributions.
Past behavior only. Not a forecast, and nothing here is investment advice. How the measurement works →