Sell in May strategy Excel is the most direct way to study one of the oldest patterns in equity markets without leaving your spreadsheet. The adage tells investors to lighten up around May 1, sit in something defensive through Halloween, then return to risk for the strong six month window from November through April. The pattern has plenty of academic critics and plenty of long run statistics behind it. What it really needs, especially for self-directed investors and advisors heading into May 2026, is a structured workbook that turns the calendar into something testable, sizable, and tied to real portfolios. This guide shows exactly how to build that workbook using MarketXLS formulas, walks through the sample template, and ties the framework to current market conditions in late April 2026.
Sell in May strategy Excel at a glance
Before we get into the workbook design, here is the snapshot the rest of the post unpacks. The numbers below are long run averages for S&P 500 monthly total return rounded for educational use. Every figure should be verified against your own data set before you act on anything.
| Window | Months | Avg monthly return | Cumulative six month |
|---|---|---|---|
| Winter (Nov to Apr) | 6 | ~1.10% | ~7.0% |
| Summer (May to Oct) | 6 | ~0.27% | ~1.6% |
| Worst summer month historically | September | -0.50% | n/a |
| Best summer month historically | July | +1.10% | n/a |
| Best winter month historically | November | +1.55% | n/a |
| Tail summer drawdowns to plan for | 2008, 2011, 2020, 2022 | varies | -10% to -30% |
Two things stand out. First, the gap between the winter and summer windows is real, but it is not enormous in any single year. Second, the summer window is where the fattest tails live. That is the practical case for a thoughtful Sell in May strategy Excel workbook: you are not chasing a guaranteed edge, you are managing path risk during a window with weaker historical compounding and bigger left tail surprises.
Why a Sell in May strategy Excel makes sense in 2026
Late April 2026 is a useful moment to revisit seasonal frameworks. Q1 2026 earnings season is in full motion, the Fed is still threading the needle between sticky services inflation and slowing job creation, and the year to date rally in the S&P 500 has rewarded patience. None of those factors break the long term seasonal pattern. They simply add detail to it.
Three things are worth flagging:
- Cash now actually pays. With short Treasury yields hovering well above any normal dividend yield on the S&P 500, the opportunity cost of trimming equity is the lowest it has been in many years. Our free cash flow yield screener post covers a related theme on the equity side.
- Sector dispersion is high. Defensive sectors look very different from cyclical sectors in any given week, which means a rotation framework with sleeves (staples, utilities, health care, gold, treasuries, cash) gives you more dials than a single equity-or-cash decision. Our defensive sector rotation model Excel post is a good companion.
- Earnings risk is concentrated. Many large caps report through May. A pure all-or-nothing approach amplifies idiosyncratic earnings shocks. A sleeve-based summer book softens that.
The Sell in May strategy Excel template you can download below is built around those three ideas. It is not a prediction. It is a structured study aid for advisors and self-directed investors who want to compare scenarios.
What the workbook contains
The workbook ships in two flavors. The static sample is pre-filled with reference data so you can see the structure without running MarketXLS. The live version is built entirely on MarketXLS formulas so prices, betas, sectors, dividend yields, and moving averages refresh on demand.
| Sheet | What you do here | Key formulas |
|---|---|---|
| How To Use | Read the workflow first. Quick map of every sheet. | n/a |
| Main Dashboard | Set portfolio size and summer sleeve weights. Live snapshot table for the watchlist. | =QM_Last, =Sector, =Beta, =DividendYield, =SimpleMovingAverage |
| Seasonal Calendar | Average S&P 500 monthly return, hit rate, and Sell in May window flag. | =ChangePercentYTD, =ChangePercentMTD |
| Scenario Analysis | Five rotation strategies versus five summer outcome scenarios. | =AVERAGE on a weighted blend |
| Defensive Watchlist | Live snapshot of the rotation candidates with bucket roles. | =QM_Last, =Beta, =DividendYield |
| Allocation Plan | Portfolio sizing in dollars and shares from your inputs. Re-entry calendar. | =QM_Last, =ROUND |
| Correlation Matrix | Comparison view of beta, yield, and historical May to October behavior. | =QM_GetHistory, =Beta |
That structure is intentional. Inputs flow through the entire model, so changing portfolio size on the Main Dashboard updates the Allocation Plan automatically. The Scenario Analysis sheet lets you test five summer outcome assumptions across five rotation strategies, which is the core of any honest seasonal study.
How to think about the calendar
The Sell in May rule is best treated as a probabilistic tilt, not a binary switch. The Seasonal Calendar sheet shows the long run picture in compact form.
| Month | Avg return | Hit rate | Window |
|---|---|---|---|
| January | +1.10% | 55% | Winter |
| February | -0.05% | 65% | Winter |
| March | +1.05% | 60% | Winter |
| April | +1.55% | 45% | Winter |
| May | +0.20% | 50% | Summer |
| June | +0.05% | 55% | Summer |
| July | +1.10% | 55% | Summer |
| August | -0.05% | 50% | Summer |
| September | -0.50% | 45% | Summer |
| October | +0.85% | 55% | Summer |
| November | +1.55% | 65% | Winter |
| December | +1.40% | 70% | Winter |
The honest takeaway: most months are positive on average. The summer window is not a disaster. It is where compounding slows and left tails get fatter. That is the educational point of this Sell in May strategy Excel workbook, and it is the reason we model defensive sleeves rather than promoting a flat exit to cash.
The five rotation strategies the workbook compares
Open the Scenario Analysis sheet to compare these five strategies under different summer assumptions. Each row applies a fixed weighting between equity, defensive ETFs, hedges, and cash, then runs that mix against five summer outcome scenarios.
| Strategy | Equity | Defensive | Hedge | Cash | Why include it |
|---|---|---|---|---|---|
| Always-in (100% equity) | 100% | 0% | 0% | 0% | The base case. The benchmark to beat. |
| Sell-in-May classic (100% cash) | 0% | 0% | 0% | 100% | The strict version of the adage. |
| Half rotate | 50% | 0% | 0% | 50% | The compromise approach. |
| Defensive sleeve | 40% | 60% | 0% | 0% | Stay invested, lower beta. |
| Custom (driven by Main Dashboard) | input | input | input | input | Plug in your own preferred mix. |
The five summer outcome scenarios on the same sheet are also editable in yellow input cells. Strong, average, flat, mild drawdown, and severe drawdown. The point of the matrix is to see which strategies dominate in which environments. It is hard to make claims about any single year, but a side by side scenario table shows where each approach is strong and where each one breaks.
Building the dashboard with MarketXLS
The live workbook uses verified MarketXLS formulas throughout. Here are the building blocks that drive every other sheet.
=QM_Last("SPY") -> Current price for the benchmark
=QM_Last("XLP") -> Current price for the consumer staples sleeve
=QM_Last("XLU") -> Current price for the utilities sleeve
=QM_Last("XLV") -> Current price for the health care sleeve
=QM_Last("GLD") -> Current price for the gold hedge
=QM_Last("BIL") -> Current price for the T-bill cash sleeve
=Sector("XLP") -> Sector text classification
=Industry("XLU") -> Industry text classification
=Beta("XLU") -> Five year beta vs the market
=DividendYield("XLP") -> Annual dividend yield
=SimpleMovingAverage("SPY",200) -> 200 day moving average
=ChangePercentYTD("SPY") -> Live YTD return
=ChangePercentMTD("SPY") -> Month to date return
=ChangePercentQTD("SPY") -> Quarter to date return
=QM_GetHistory("SPY","2021-05-01","2026-04-28") -> Historical price array
=CAGR("SPY","2016-01-01","2026-04-28") -> Long run CAGR
There are no invented formulas in this workbook. Every function above is part of the standard MarketXLS catalog and is documented in the MarketXLS function reference. The reason that matters is simple: a Sell in May strategy Excel that depends on broken or fictional formulas is worse than no spreadsheet at all. Anything you put live capital behind has to be rebuildable with documented data.
Sizing the summer sleeve
The Allocation Plan sheet uses your Main Dashboard inputs to convert the rotation into shares and dollars. Here is the basic math the sheet expresses in formulas:
- Equity stub kept invested: portfolio size x equity allocation in summer
- Defensive sleeve: portfolio size x defensive weight x (1 - equity allocation in summer)
- Hedge sleeve: portfolio size x hedge weight x (1 - equity allocation in summer)
- Cash sleeve: portfolio size x cash weight x (1 - equity allocation in summer)
- Shares per ticker: ROUND(target USD / price, 0)
The default inputs split the summer book into 50% defensive ETFs, 20% hedges (gold and long Treasuries), and 30% short Treasuries / cash. None of that is a recommendation. The point is to express your view as a set of weights so the workbook can size positions, not so the workbook tells you what to think. That separation is what makes a Sell in May strategy Excel useful for advisors and self-directed investors over time. The framework stays. The view changes year to year.
A practical re-entry calendar
One of the under-discussed pieces of any seasonal rotation is how you get back in. The Allocation Plan sheet includes a re-entry calendar so the rotation does not become a single dramatic decision on October 31.
| Date | Action |
|---|---|
| May 1 | Trim equity to target. Fund defensive, hedge, and cash sleeves. |
| June 1 | Re-balance defensive sleeve to equal weight. |
| July 1 | Trim hedge if down more than 5%. Top up cash. |
| August 1 | Tax-loss review on the equity stub. |
| September 1 | Begin rolling cash into target winter equity sleeve. |
| October 31 | Full rotation back to equity for the strong six month window. |
A staged re-entry softens timing risk. It does not solve it. The whole point of using a workbook is to make those decisions deliberate rather than reactive. If you want a deeper discussion of staged versus all-at-once execution, our portfolio rebalancing guide is a good companion read.
Comparing summer behavior across the watchlist
The Correlation Matrix sheet pulls together a few stylised five year averages so you can see how each watchlist holding tends to behave during May to October. The numbers are educational and rounded, not investment recommendations.
| Ticker | Beta vs SPY | Yield | Avg May-Oct (last 5y) | Best May-Oct | Worst May-Oct | Diversification role |
|---|---|---|---|---|---|---|
| SPY | 1.00 | 1.30% | -1.2% | +20% | -31% | Reference |
| XLP | 0.55 | 2.45% | +2.4% | +13% | -10% | Lower beta sleeve |
| XLU | 0.50 | 3.25% | +3.1% | +16% | -12% | Yield + low beta |
| XLV | 0.75 | 1.55% | +1.9% | +14% | -11% | Defensive earnings |
| XLE | 1.25 | 3.10% | +3.1% | +41% | -45% | Inflation hedge / cyclical |
| GLD | 0.10 | 0.00% | +2.5% | +14% | -7% | Macro hedge |
| TLT | -0.30 | 4.15% | +1.2% | +19% | -16% | Duration hedge |
| IEF | -0.15 | 4.05% | +1.4% | +10% | -7% | Belly of the curve |
| SHY | 0.05 | 4.45% | +2.0% | +4% | -1% | Front-end cash |
| BIL | 0.00 | 5.20% | +2.5% | +3% | 0% | T-bill ladder |
Three patterns are worth highlighting:
- The cash-like sleeves (BIL, SHY) are unusually attractive in 2026 because front-end yields are high. This is the cleanest summer defensive when you do not want correlation to anything.
- Staples and utilities historically deliver positive May-October returns with roughly half the beta of SPY. They are the lowest-friction equity diversifier in the workbook.
- Long Treasuries (TLT) carry rate-cut option value, but the negative beta is regime-dependent. The 2022 experience is a reminder that duration is not a free hedge.
A Sell in May strategy Excel that surfaces those nuances is much more useful than one that simply prints a binary yes-or-no on a calendar.
Linking earnings season to the rotation
April 2026 is also peak earnings season. That matters because the rotation decision interacts with name-level earnings risk. If your equity exposure is concentrated in two or three large reports still coming up, the seasonal call is partially redundant. If your exposure is broad index, the seasonal framework is more relevant.
The workbook does not try to solve earnings analysis on its own. We have a separate Mag 7 earnings tracker Excel for that. The Sell in May strategy Excel sits one layer above name-level analysis. It gives you the calendar and sleeve logic that an earnings tracker plugs into.
A practical workflow:
- Use the earnings tracker to understand which positions still carry binary risk through May.
- Use the Sell in May strategy Excel to decide how much equity sleeve you want to keep at all.
- Use the Allocation Plan sheet to size the defensive book around the residual equity.
- Re-evaluate every month using the staged re-entry calendar.
Download the templates
Download the templates:
- - Pre-filled with reference data and clearly labelled MarketXLS formulas next to each value.
- - Live updating workbook. Open with the MarketXLS add-in active and every snapshot table refreshes automatically.
Both files share the same six sheet structure: How To Use, Main Dashboard, Seasonal Calendar, Scenario Analysis, Defensive Watchlist, Allocation Plan, and Correlation Matrix. Yellow cells on every sheet mark the inputs you can edit.
How this compares to other seasonal rules
Sell in May is just one of several calendar based heuristics. Here is how it stacks up against the other common ones, with a note on whether each one is easy to implement in Excel.
| Rule | Window | Edge in long run data | Easy in Excel? |
|---|---|---|---|
| Sell in May | May 1 - Oct 31 | Modest positive expected value of a half rotation in many studies | Yes |
| Halloween indicator | Same window flipped | Same idea, marketed for the buy side | Yes |
| Santa rally | Last 5 trading days of Dec + first 2 of Jan | Small but positive on average | Yes |
| January effect | Small caps in January | Has weakened since the 1990s | Yes |
| Presidential cycle | Year 3 of the cycle | Mixed results | Yes |
| Day of week effects | Mondays / Fridays | Mostly noise after costs | No, intra-week |
The Sell in May strategy Excel workbook is intentionally limited to the May to October window. If you want to extend it, the Seasonal Calendar sheet already breaks down all twelve months, so you can clone the rotation logic for any other window you care about.
Common mistakes when running a seasonal model
A workbook is only as good as the discipline behind it. Five things to watch:
- Treating the strategy as binary. The data does not support a strict in-or-out approach. A defensive sleeve approach is more aligned with what the historical record actually shows.
- Forgetting taxes. Rotating large equity positions in a taxable account can wipe out the seasonal edge. The workbook does not model taxes for you, but the re-entry calendar and equity stub field exist precisely to keep tax friction lower.
- Ignoring single name risk. Index seasonality is not the same as your portfolio seasonality. Use the equity stub plus your earnings tracker to keep that real.
- Over-fitting from recent years. The post-2020 sample is unusual. Long run averages exist for a reason.
- Confusing seasonality with timing. The workbook is a probabilistic tilt, not a market timing tool. If your view is that any year will look like the long run average, you should expect a lot of noise around it.
A clean Sell in May strategy Excel does not promise an edge. It documents your assumptions and turns them into something you can revisit honestly next year.
Best practices for using the live version
A few small rules that make the live workbook much more useful:
- Always confirm the MarketXLS add-in is active before reading the snapshot tables. If QM_Last returns an error, the add-in is not connected.
- Lock the input row format. If you accidentally turn a yellow input cell into text, downstream formulas break silently.
- Save a dated snapshot of the workbook every Friday in May, June, July, August, September, and October. That way you have a clean audit trail of the rotation regardless of how the year evolves.
- When you change the equity stub size, immediately re-check the Correlation Matrix sheet. Diversification only works at the size you actually have on.
- If you want to add a new ETF, copy any defensive watchlist row, update the ticker, and the live formulas inherit automatically.
For more on how MarketXLS handles real-time data and add-in workflows, see our Excel automation overview.
Frequently asked questions
Is the Sell in May effect real?
There is a long history of academic work that documents a modest gap between average winter and summer returns in U.S. and international equity markets. The gap is not large in any single year and it is not consistent enough to be a get-rich plan. It is large enough that a probability-weighted rotation framework is a reasonable thing for advisors and self-directed investors to study. The Sell in May strategy Excel workbook is built specifically to make that study honest.
Does it work in 2026 specifically?
Nobody knows what any single year will deliver. What we do know is that 2026 has unusual ingredients: Q1 earnings risk that runs into May, a Fed that is unlikely to give a clean signal soon, and short Treasury yields above any normal dividend yield on the S&P 500. Those conditions make the opportunity cost of a partial rotation lower than usual, which is why the workbook deliberately models a defensive sleeve rather than a strict cash-out.
What does the live MarketXLS version actually pull?
Live prices via QM_Last, sector and industry classifications via Sector and Industry, betas via Beta, dividend yields via DividendYield, 200 day moving averages via SimpleMovingAverage, year to date and month to date returns via ChangePercentYTD and ChangePercentMTD, and historical price arrays via QM_GetHistory. Every single one of those formulas is in the standard MarketXLS catalog. There are no invented or unsupported functions in the workbook.
Can I customise the watchlist?
Yes. The Defensive Watchlist sheet treats every ticker the same way. Replace XLP, XLU, XLV, GLD, TLT, IEF, SHY, BIL, or SPY with any ticker you prefer, and the live formulas inherit automatically. You can also add new rows by copying any existing row and changing the ticker symbol in column A.
What is the difference between the sample and the template files?
The sample file is fully self-contained. It uses pre-filled values so the workbook opens cleanly even without the MarketXLS add-in installed, and it shows the formula syntax next to each cell so you can see exactly how the live version works. The template file is the full live version. Every snapshot cell in the template is a MarketXLS formula and refreshes on demand when the add-in is active.
How is this different from a generic sector rotation model?
A generic sector rotation model rotates across sectors based on relative strength or fundamentals. A Sell in May strategy Excel rotates based on the calendar and uses sectors as the implementation choice during the summer window. The two approaches are complementary. Many advisors run both: calendar based at the asset allocation level, then relative strength based within the equity sleeve.
Is this investment advice?
No. Nothing in this post or in the workbook is investment advice. The numbers are illustrative. The strategy framework is educational. You should consult a licensed advisor before acting on any rotation plan, and you should never treat historical patterns as guarantees of future performance.
The bottom line
A Sell in May strategy Excel is one of the cleanest examples of a real edge-case in finance: a pattern that is too small to bet the farm on and too persistent to ignore. The right way to handle that is structural, not predictive. Build the workbook. Define your sleeves. Set your inputs. Use the scenario matrix to see where each strategy is strong and where each one breaks. Revisit the calendar every month from May through October. That is how you turn a folk wisdom adage into a durable research process.
If you want to push this further, the MarketXLS feature library has the full set of formulas the workbook uses, plus options analytics, screener tools, and portfolio analytics that integrate with the same Excel workflow. To see how MarketXLS fits into a real advisor or self-directed investor workflow, book a demo and walk through the workbook together.
The seasonal calendar will not change in 2026. Your discipline around it can.