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 | 2.48 | -7.29 | -1.57 | 14.43 | 5.79 | -5.12 | 0.33 | 9.98 | 4.34 | -7.29 | 14.43 | 2.60 | |||
| 2025 | 4.05 | -13.24 | 0.50 | 24.06 | 16.93 | 12.59 | -2.08 | 7.13 | 8.53 | -12.59 | 5.37 | -13.24 | 24.06 | 4.66 | |
| Summary | |||||||||||||||
| Avg Returns (%) | 2.48 | -1.62 | -7.41 | 7.47 | 14.93 | 5.91 | 6.46 | 3.95 | 5.74 | 8.53 | -12.59 | 5.37 | -12.59 | 14.93 | 3.27 |
| Max Pos Return (%) | 2.48 | 4.05 | -1.57 | 14.43 | 24.06 | 16.93 | 12.59 | 9.98 | 7.13 | 8.53 | -12.59 | 5.37 | -12.59 | 24.06 | 7.62 |
| Max Neg Return (%) | 2.48 | -7.29 | -13.24 | 0.50 | 5.79 | -5.12 | 0.33 | -2.08 | 4.34 | 8.53 | -12.59 | 5.37 | -13.24 | 8.53 | -1.08 |
| Pos Occurances (%) | 100 | 50 | 0 | 100 | 100 | 50 | 100 | 50 | 100 | 100 | 0 | 100 | 0 | 100 | 71 |
| Neg Occurance (%) | 0 | 50 | 100 | 0 | 0 | 50 | 0 | 50 | 0 | 0 | 100 | 0 | 0 | 100 | 29 |
- Treat this calendar as weak evidence. The first half of the sample and the second half rank-correlate -0.25 across the twelve months — the pattern that held early did not hold late, which is what noise looks like.
- May is the strongest month (edge 64/100, Moderate): median +21.43%, mean +17.62%, higher in 7 of 7 years (100%), t = 3.59, p = 0.011.
- Dec is the weakest month (edge 23/100, Noise): median -2.71%, mean -2.96%, lower in 4 of 6 years, t = -0.92, p = 0.399.
- Best stretch of the year is May–Oct: median +62.06% compounded, positive in 5 of 6 seasons (83%), p = 0.028.
- Worst stretch is Sep: median -3.14% compounded, positive in only 3 of 6 seasons (50%).
- We are in Sep, historically a -3.14% median month with a 50% hit rate. Month-to-date NVDA is +4.34% — ahead of the seasonal norm.
- Seasonal path from here: Oct +8.92% (67% hit), Oct–Dec +12.21% (67%), Oct–Mar +15.26% (50%) — medians of the compounded window return.
- The median seasonal year peaks around Nov at +155.85%, troughs around Mar at -11.23% and finishes the year at +126.85% (5 complete years).
- Best weekday is Monday at +0.444% a session (significant, p = 0.020); weakest is Friday at -0.019%.
- Turn-of-month (last 3 sessions plus first 3) averages +0.193% a session against +0.303% for the rest of the month — a -0.110% daily spread across 483 sessions.
- By quarter, Q2 is the best (median +44.21%, 86% positive) and Q1 the worst (median -2.09%).
- Risk is seasonal too: Mar is the most volatile month (61.7% annualised) and Dec the calmest (37.9%); participation peaks in Mar at +21% 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 7 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