The Price Cycle Analyser draws a symbol’s fitted cycles over its price, projects them past today, and lists every trade the model made in a test period it was not fitted on.
The full Price Cycle Analyser for S&P 500 E-Mini Futures (ES=F) is open to everyone, with no account: the fitted cycles, the oscillator, the projection and every trade in the test period, exactly as Pro members see them.
Net return is the model’s result over its nine-month test period, after 5 bps costs per side. The model was picked from 5,000 settings by that same return, so it describes the past rather than an expected result. Projected entry dates do not allow for exchange holidays.
Price, the composite cycle fitted to it and the dashed projection past today on one chart, with the training cutoff and the grey test period marked, so you can see where the fit ends and the test begins.
Each trade in the nine-month test period with its dates, prices and return, plus the position open today and the next projected entry. Expand a trade to see it on its own chart.
The spectrum shows which cycle lengths are strongest in the price history, and the active cycles table lists each one in the model with its fitted size and Bartels score. Pick a cycle to draw it alone over the price.
Switch between Highest return and Best with ≥5 trades, the two results saved for each symbol. The chart, the oscillator and the trade list follow the one you pick.
Worked example
The free E-mini S&P 500 futures (ES=F) model combines two cycles, of 8 and 79 trading days. In the two years of prices before its training cutoff of December 26, 2025, the 79-day cycle, roughly 16 weeks, repeated six times and scored 91.9 on the Bartels test, where higher means steadier. Its oscillator thresholds are 10 and 90, so it waits for deep troughs and high crests.
After the cutoff the model was frozen and traded the nine months to September 28, 2026. Three of its five trades made money, for +18.6% after costs, and the largest fall in daily equity along the way was 4.5%.
| Turn | Side | Entry | Exit | Entry price | Exit price | Return |
|---|---|---|---|---|---|---|
| Jan 15 | Short | Jan 20 | Mar 24 | 6,918.25 | 6,635.00 | +3.99% |
| Mar 20 | Long | Mar 24 | May 14 | 6,635.00 | 7,477.50 | +12.59% |
| May 12 | Short | May 14 | Jul 20 | 7,477.50 | 7,485.00 | -0.20% |
| Jul 16 | Long | Jul 20 | Sep 9 | 7,485.00 | 7,681.00 | +2.52% |
| Sep 4 | Short | Sep 9 | Sep 28 (open) | 7,681.00 | 7,746.75 | -0.96% |
| Compounded, after costs | +18.64% | |||||
Price cycles × seasonality
Preview seasonality opens the symbol’s seasonal curve beside its cycle model. It takes today’s cycle position, long or short, follows it to the next seasonal peak or trough, and shows how those calendar days went in past years: every trade, beside only those taken when the price cycle pointed the same way at entry.
Trade Filter Comparison
BLDR · Long · 10 years
| Metric | All trades | Williams A/D | EC HOT only | Cycle aligned |
|---|---|---|---|---|
| Trades | 10 | 6 | 0 | 4 |
| Win Rate | 30% | 50% | — | 75% |
| Avg Return | -1.46% | -0.27% | — | +0.72% |
| Total Return | -14.63% | -1.62% | — | +2.87% |
| Compounded Equity | $861 | $983 | — | $1,029 |
| Max Win | +2.21% | +2.21% | — | +2.21% |
| Max Loss | -5.52% | -2.68% | — | -1.06% |
Cycle filter method · Current cycle, historical refits · 10/10 entries covered
Open a symbol from the Price Cycle Screener or choose one in the app’s symbol search. The analyser loads its saved cycle model; nothing is recalculated when you open it.
Highest return opens by default, and Best with ≥5 trades is a click away when the symbol has one. Each shows its net return, trades and drawdown, and the settings of its model.
Price, the fitted cycle and its projection sit above the cycle oscillator. Arrows mark the fill that opened today’s position and the next projected fill, and dots on the oscillator mark every qualifying turn.
The trade list shows every trade in the test period and the next projected signal. The search and validation details show how many settings were checked and how the model did in three earlier windows.
The analyser shows one saved cycle model for one symbol: how it was fitted, where it projects next and how it traded. These are the panels and what they mean.
The analyser reads one saved calculation per symbol. The chart, the oscillator, the statistics and the trades all come from it, and nothing is refitted when the page opens.
Daily closes up to the training cutoff are detrended and scanned for their strongest cycle lengths. The strongest single cycles form a candidate pool, and combinations of up to six are fitted jointly as sine waves and ranked on the year before the cutoff. No price after the cutoff shapes the fit.
The composite cycle is scaled to a 0 to 100 oscillator. A trough at or below the long threshold, or a crest at or above the short threshold, is confirmed at the next close and traded at the following open, reversing any open position. Each trade uses the whole account without leverage, with 5 bps costs per side and no borrow costs or dividends.
The fitted cycle is projected 120 trading days past the last saved price, and the next entry is the first qualifying turn in that projection, found with the same rules as past trades. Projected dates do not allow for exchange holidays, and the projection shows timing, not a price target.
Each symbol’s search checks 5,000 settings, and Highest return and Best with ≥5 trades are picked by their net return in the nine-month test. The cycles were not fitted on those prices, but picking the best of many settings by their results flatters them. The figures describe a historical search, not an expected return.
Models are recalculated each January from prices through December 31; until the first annual run, the latest saved run is shown as a historical result. Daily closes added since then continue the price line on the chart but never refit the model or change its results, trades or projection.
The seasonality comparison keeps the cycle lengths of the saved model and refits them before each past seasonal entry, on prices from before that entry only. A year counts as Cycle aligned when the refitted model held a long position at entry for a long window, or a short one for a short window. The seasonal entry and exit dates and returns are unchanged. The lengths were chosen with today’s data, so the comparison is retrospective, and with one trade a year the samples are small.
14-day money-back guarantee. Cancel anytime.
One symbol’s saved cycle model: the cycles fitted to its daily prices, the composite cycle and its projection on the price chart, the 0 to 100 cycle oscillator, the cycle spectrum and every trade the model made in its nine-month test period, after costs.
Yes. The full analyser for E-mini S&P 500 futures (ES=F) is open to everyone, with no account, and so is Apple (AAPL). Every other symbol is part of the Pro plan.
No. It reads the model saved by the latest run, so the chart, the statistics and the trades are the same for everyone and do not change between visits. Newer daily closes are drawn on the chart without refitting anything.
No. The dashed cycle shows when the fitted rhythm would turn, not how far the price will move, and it holds only as long as the past rhythm keeps repeating. The projected entry dates do not allow for exchange holidays.
A statistical test of how regularly a cycle has repeated in the price history before the training cutoff. A high score means a steady rhythm in the past; it says nothing directly about future profit.
Highest return is the setting with the best net return in the test period. Best with ≥5 trades also needs at least five trades, a positive return and positive earlier validation, so it rests on more trades. Both were picked by their results in that period, so treat them as a historical search.
Yes, with the Pro plan. Preview seasonality follows today’s cycle position to the next seasonal peak or trough and compares how those calendar days went in past years: all trades against only those where the cycle, refitted before each entry, pointed the same way. The cycle lengths come from today’s model, so the comparison is retrospective.
Create your account and start researching.
Get startedAll statistics are historical and for research purposes. Past performance does not indicate future results.