Seasonality · Seasonality Analyser

See how a symbol behaved in every past year

Chart a symbol’s average seasonal path, pick an entry and exit date up to 60 days apart, and see how that window performed year by year.

AAPL — Apple Inc.
Seasonal trend patterns with top/bottom detection
EntryMar▾3▾
ExitMar▾11▾
LongShort
History10 yrs▾
Seasonal Trend5 tops, 5 bottoms
0.050.0100.0JanFebMarAprMayJunJulAugSepOctNovDecMar 3Mar 11TopTopTopBottomBottomBottomBottom
Win Rate
80%
Regime
HOT
W. A/D
Acc
Avg Ret
+1.6%
Avg $
$3.28
Max W
$17.1
Max L
-$1.2
Take-Profit
+0.1%71%
Stop-Loss
-5%30%
Trades
10
Winners
7
Losers
3
Seasonal PatternsRanked by efficiency (pts/day)
#DirEntryExitMoveDaysPts/DayEfficiency
1LongJan 20(0)Feb 7(27.9)27.9181.55
2ShortJan 4(16.5)Jan 20(0)16.5161.03

What you can do with it

Decades on one chart

The average seasonal path on one chart, with each past year’s result for your window in a bar chart and trade list, so a strong average driven by one outlier year stands out.

Every trade, listed

Entry, exit, prices and return for each year the window was tested, listed under the summary statistics.

Statistics beyond the win rate

Average return, average win and loss, best and worst year, equity curve and drawdown for the window, plus its current regime.

Second opinions on every window

A comparison table sets the window’s counted trades beside those that started when Williams A/D agreed with your direction and, with Pro, beside those taken only when the symbol’s price cycle pointed the same way.

Seasonality × price cycles

Does the price cycle agree with the season?

A seasonal window opens on the same dates every year, but the symbol’s own price cycle can be rising or falling when it does. With the Pro plan, the Trade Filter Comparison adds a Cycle aligned column: the window’s past trades counted only in the years when the price cycle pointed the same way at entry, beside the full record.

Fitted before each entry
For every past year, the cycle lengths of the symbol’s current model are refitted on prices from before that year’s entry, so no year is judged with prices from after it.
The same trades, fewer of them
The filter only decides which years count. Entry and exit dates and returns are the seasonal window’s own. Years without a usable cycle fit are left out, and the table says how many were covered.
The cycle one click away
Preview price cycles opens the symbol’s saved cycle model in a side panel, with your seasonal window marked on the cycle chart, so you can compare the two without leaving the page.
Part of the Pro plan

Trade Filter Comparison

BLDR · Long · 10 years

MetricAll tradesCycle aligned
Trades104
Win Rate30%75%
Avg Return-1.46%+0.72%
Total Return-14.63%+2.87%
Compounded Equity$861$1,029
Max Win+2.21%+2.21%
Max Loss-5.52%-1.06%

Cycle filter method · Current cycle, historical refits · 10/10 entries covered

BLDR, a seasonal long window with 10 trades over the last 10 years, as the app showed it on October 9, 2026. Four trades is a small sample, where one year moves the win rate by 25 points, and the cycle lengths come from today’s model, so the comparison is retrospective, not a forecast. The filter does not improve every window.

How it works

  1. Step 01

    Pick a symbol

    Choose a symbol in the app’s symbol search. The Analyser draws its seasonal curve, the average shape of its price through the calendar year, and marks the turning points on it.

  2. Step 02

    Set the date window

    The page pre-selects a window, usually from today to the next turning point on the curve, or the one from a screener link you followed. Change it with the date menus, two clicks on the chart, or a row in the seasonal patterns table.

  3. Step 03

    Choose direction and history

    Switch between Long and Short, and set how many past years feed the curve and the statistics: 5, 10, 20 or 50, or all available data. The default is 10 years.

  4. Step 04

    Read the year-by-year record

    The page shows how that window turned out in each past year: win rate, average return, a bar per year and a row per trade. Windows with at least 10 past trades in total also get an equity curve and cycle analysis.

What you’ll see

The chart and the patterns table describe the symbol’s average calendar year. Most other panels describe the date window and direction you select. These are the main elements and what they mean.

Seasonal trend chart
One line for the symbol’s average path through the calendar year, on a 0 to 100 scale where 0 and 100 are that path’s lowest and highest points, so it shows timing rather than price. Top and Bottom markers flag turning points, and your selected window is shaded.
Seasonal patterns table
Every move between consecutive turning points that lasts 4 to 60 days, with its direction, dates, move on the 0 to 100 scale, length and steepness, the measure the Seasonality Screener calls Strength. Rows are sorted by steepness by default, not by backtest results, and selecting one loads its trades.
Pattern performance
Win rate, average trade, number of trades, average win, average loss and the range from the worst to the best year, counted over your History setting. A Limited sample badge appears when the trade count is small.
Regime
HOT, COLD or NEUTRAL, from a cycle model fitted to the window’s full past record and projected over its next few occurrences. It ignores the History setting and shows N/A below 10 past trades.
Williams A/D
Accumulation or Distribution, a label taken from the Williams Accumulation/Distribution line on the latest day. The line is a running total of buying and selling pressure. A comparison table further down sets the counted trades beside those that started when this label agreed with your direction.
Trade Filter Comparison
The window’s counted trades beside filtered versions of them: Williams A/D, the equity-curve regime and, with the Pro plan, Cycle aligned, the years when the symbol’s price cycle pointed the same way at entry. Each column shows trades, win rate, average and total return, compounded equity and the largest win and loss.
Preview price cycles
A button that opens the symbol’s saved price-cycle model in a side panel, with the selected window marked on the cycle chart, and a link to the full Price Cycle Analyser. Price cycles are part of the Pro plan.
Concentrated edge warning
An amber note that appears when, across a minimum number of counted trades, the average return is positive despite a low win rate, and one year accounts for an outsized share of the result. It names that year and its share.
Equity curve and cycle detection
Shown when the window has at least 10 past trades. It compounds every past year’s return from a starting capital you set, whatever the History setting, and reports end equity, total return, maximum drawdown and win rate, with the fitted cycle, its projection and a Bartels test.
Yearly returns and trade history
A bar for each year’s return, and a row for each trade with its actual entry and exit dates, adjusted prices and return, plus Max Rise and Max Drop, the largest favorable and adverse moves during the trade.

How the numbers are calculated

Every number on the page comes from stored daily price history and fixed rules that are the same for every symbol. This is what goes into each part and what is left out.

The seasonal curve

Each past year inside your History setting is put on a common scale, and the years are combined into one average seasonal curve, shown from 0 at its lowest point to 100 at its highest. With the default turning-point method, Top and Bottom markers flag the curve’s major peaks and lows.

One trade per past year

Each qualifying year gives one trade for the window, from the close at the entry date to the close at the exit date, moved to a trading day when either date falls on a day the market is closed. The return is the percentage change between those two closes, with the sign reversed for Short. Commissions, slippage and position sizing are not included. Years with too little price data, or with long gaps in it, are skipped.

Win rate, averages and the equity curve

A trade counts as a win when its result is zero or positive. Win rate and averages use the calendar years inside the History setting, so the default of 10 years can include up to 11 trades. Averages are simple means of the yearly percentage returns. The equity curve compounds every past trade whatever the History setting, and its maximum drawdown is the largest fall from a peak along that curve.

Regime and the Bartels test

The regime comes from a cycle model fitted to the window’s full compounded record. It looks for repeating rhythms in how the window has performed and projects them over its next few occurrences. The label is HOT when that projection leans above the cycle’s midline, COLD when it leans below, and NEUTRAL when it is balanced. The Bartels test is a statistical test of whether wins and losses line up with the strongest cycle. It is marked low confidence when the record covers too few cycles.

The Cycle aligned filter

Cycle aligned starts from the cycle lengths in the symbol’s current saved price-cycle model. Before each past seasonal entry, those lengths are refitted on prices from before the entry, and the year counts only if the refitted model was in a long position for a long window, or a short one for a short window. Entry and exit dates and returns stay the window’s own. The lengths were chosen with today’s data, so the comparison is retrospective, and with one trade a year the filtered samples are small.

Data and update schedule

Daily prices are downloaded with split and dividend adjustments and refreshed every weeknight, so older entry and exit prices can differ from those quoted at the time. The seasonal curve, turning points and Williams A/D reading are recalculated from stored prices each time the page loads. Per-year trades are regenerated once a week for most symbols, starting Sunday night. The current year’s trade appears after that run. For windows that close early in the year, it appears only once the year has enough price data.

Which plans include Seasonality Analyser

14-day money-back guarantee. Cancel anytime.

Compare every tool by plan

Questions about Seasonality Analyser

Can I test any entry and exit date?

The date menus accept any pair of dates, but year-by-year results exist only for windows of 4 to 60 calendar days that start and end in the same calendar year, in either direction. For a longer window, or one that crosses December 31, the chart still loads but no trades are listed.

How is the Seasonality Analyser win rate calculated?

Each past year gives one trade for the window, from the close on the entry date to the close on the exit date, shifted to a trading day when either date is not one. Win rate is the share of those trades with a zero or positive result, counted over your History setting of 5, 10, 20 or 50 years or all data. No trading costs are included.

Which symbols can I analyze in the Seasonality Analyser?

The seasonal curve works for any symbol in the app’s symbol list, more than 4,500 in all, subject to your plan. Year-by-year results are generated for a smaller set: the several hundred symbols with at least 10 years of daily data that the Seasonality Screener covers. For other symbols the page shows the curve, turning points and patterns table, but no trades.

How often is Seasonality Analyser data updated?

Daily prices are refreshed every weeknight, and the seasonal curve, turning points and Williams A/D reading are recalculated from them each time the page loads. Per-year trade results are regenerated once a week for most symbols, so a window that closed in the last few days appears after the next weekly run. A window that closes early in the year appears only once the current year has enough price data.

What does the HOT or COLD regime mean for a seasonal window?

It is a label from a cycle model fitted to the window’s past results and projected over its next few occurrences: HOT when the projection leans above the cycle’s midline, COLD when it leans below. It needs at least 10 past trades, and with one trade a year the page often marks its cycle test low confidence. It is an extrapolation of past results, not a statement about future returns.

What does Cycle aligned mean in the Trade Filter Comparison?

It counts only the past years in which the symbol’s price cycle, refitted on prices from before that year’s entry, pointed the same way as the window: long for a long window, short for a short one. Dates and returns are unchanged, so it shows whether the pattern did better or worse when the cycle agreed. It is part of the Pro plan, and because the cycle lengths come from today’s model, it is a retrospective comparison.

What can I see in the Seasonality Analyser on a free account?

A free account opens the full Analyser for AAPL, NVDA and TSLA, plus a rotating set of symbols with a strong historical record and a screener window opening soon. Other symbols need a full-access plan. The alerts plan adds full reports for each symbol in its weekly email, through links valid for eight days.

Try Seasonality Analyser

Create your account and start researching.

Get started

All statistics are historical and for research purposes. Past performance does not indicate future results.