Seasonality Analysis
Historical Prices Year-by-Year
Historical Returns (%) By Years/Months
| Year | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec | Min | Max | avg |
| 2026 | -8.70 | -8.77 | -6.08 | 15.70 | 24.27 | -14.02 | 9.76 | 43.38 | 1.23 | -14.02 | 43.38 | 6.31 | |||
| 2025 | -6.21 | -21.21 | -3.69 | 0.61 | 17.88 | 1.03 | 25.50 | 1.17 | -9.46 | 1.45 | 11.51 | -21.21 | 25.50 | 1.69 | |
| Summary | |||||||||||||||
| Avg Returns (%) | -8.70 | -7.49 | -13.65 | 6.01 | 12.44 | 1.93 | 5.40 | 34.44 | 1.20 | -9.46 | 1.45 | 11.51 | -13.65 | 34.44 | 2.92 |
| Max Pos Return (%) | -8.70 | -6.21 | -6.08 | 15.70 | 24.27 | 17.88 | 9.76 | 43.38 | 1.23 | -9.46 | 1.45 | 11.51 | -9.46 | 43.38 | 7.89 |
| Max Neg Return (%) | -8.70 | -8.77 | -21.21 | -3.69 | 0.61 | -14.02 | 1.03 | 25.50 | 1.17 | -9.46 | 1.45 | 11.51 | -21.21 | 25.50 | -2.05 |
| Pos Occurances (%) | 0 | 0 | 0 | 50 | 100 | 50 | 100 | 100 | 100 | 0 | 100 | 100 | 0 | 100 | 58 |
| Neg Occurance (%) | 100 | 100 | 100 | 50 | 0 | 50 | 0 | 0 | 0 | 100 | 0 | 0 | 0 | 100 | 42 |
- Treat this calendar as weak evidence. The first half of the sample and the second half rank-correlate -0.38 across the twelve months — the pattern that held early did not hold late, which is what noise looks like.
- Aug is the strongest month (edge 52/100, Moderate): median +24.40%, mean +20.58%, higher in 5 of 6 years (83%), t = 2.67, p = 0.044.
- Mar is the weakest month (edge 13/100, Noise): median -2.00%, mean -4.62%, lower in 3 of 5 years, t = -1.03, p = 0.362.
- Best stretch of the year is May–Aug: median +50.38% compounded, positive in 3 of 5 seasons (60%), p = 0.259.
- Worst stretch is Mar–May: median -14.99% compounded, positive in only 2 of 5 seasons (40%).
- We are in Sep, historically a +1.17% median month with a 60% hit rate. Month-to-date ZETA is +1.23% — ahead of the seasonal norm.
- Seasonal path from here: Oct -6.59% (40% hit), Oct–Dec +5.63% (80%), Oct–Mar +30.90% (60%) — medians of the compounded window return.
- The median seasonal year peaks around Apr at +31.72%, troughs around Jun at -9.72% and finishes the year at +10.54% (4 complete years).
- Best weekday is Thursday at +0.272% a session (not significant); weakest is Wednesday at +0.018%.
- Turn-of-month (last 3 sessions plus first 3) averages +0.732% a session against -0.019% for the rest of the month — a +0.751% daily spread across 381 sessions.
- By quarter, Q3 is the best (median +28.28%, 60% positive) and Q4 the worst (median +5.63%).
- Risk is seasonal too: Nov is the most volatile month (85.0% annualised) and Jan the calmest (55.9%); participation peaks in Nov at +50% of the average month's volume.
- Twelve months were tested at once, so the 5% bar is really 0.0042 after a Bonferroni correction — no month clears it. With 6 seasons of data, seasonality is context, not a trade on its own.
Ask the market a question. Get a calculated answer.
The AI is not a chatbot bolted onto a document store. It calls the same analytics engine that powers every screen on this platform — so what comes back is a number it computed from raw history, with the command that produced it.
86,000+ instruments
Global equities, ETFs, funds, options, FX, commodities, crypto, economics, filings, transcripts and news — one normalised symbol universe with adjusted history.
A real analytics engine
Screening, backtesting, technicals, options analytics, correlations, seasonality and factor models — computed on demand from raw prices, never a stale cache.
It shows its working
Answers arrive with the charts, tables and tool calls behind them, so you can check the number instead of trusting a paraphrase.
Your own documents
Upload filings, decks and research. Ask across them and the answer cites the page it came from.
Agents and workflows
Multi-step research that runs the platform's tools for you — screen, pull the history, compute, compare, then write it up.
MCP, CLI and API
The same command catalogue from Claude, your own agent, a shell or your pipeline. The answer on screen is the answer your job gets at 4am.
You ask
“How does NVDA usually trade through earnings?”
It calls
→ ka.options_expected_move(NVDA)
It answers
NVDA has averaged a 9.2% absolute move on the day after earnings and closed higher 67% of the time. Two in three reactions land between −4.2% and +16.3% — the distribution is skewed right, not symmetric.
Every figure computed live from our own history — not scraped, not summarised.
Or start with