Seasonality: Stock Indices [invincible3]Seasonality: Stock Indices
Seasonality: Stock Indices is a clean dashboard-style indicator designed to display historical seasonal tendencies for major global stock indices directly on the TradingView price chart.
The indicator includes six separate seasonal mini-charts:
Australian ASX 200 — seasonal data from 2001 to 2020
FTSE 100 — seasonal data from 1985 to 2020
German DAX — seasonal data from 1999 to 2020
Nasdaq 100 — seasonal data from 1996 to 2020
S&P 500 — seasonal data from 1980 to 2020
Dow 30 — seasonal data from 1980 to 2020
Each panel displays a full 365-day seasonal curve, allowing traders to study how each index has historically performed throughout the calendar year. The indicator plots both the long-term All Years average and a Weighted Average curve, making it easier to compare broad historical behavior with a more weighted seasonal tendency.
The dashboard is arranged in a compact multi-panel layout and is designed to stay visually separated from candles, so it does not disturb the main price chart. Users can adjust the widget width, distance from candles, panel height, row spacing, column gap, and dashboard placement on either the right or left side of price.
Automatic dark/light theme detection is included, helping the dashboard remain readable across different TradingView chart themes. Manual customization is also available for the grid color, background, text color, All Years line, Weighted Average line, and line width.
This indicator is useful for index traders, swing traders, macro analysts, seasonal researchers, and market-timing studies. It helps users compare current index behavior with long-term historical seasonal patterns across major U.S., European, Australian, and technology-focused equity benchmarks.
Key Features:
Seasonal dashboard for major global stock indices
Includes ASX 200, FTSE 100, DAX, Nasdaq 100, S&P 500, and Dow 30
Full 365-day seasonal curves
All Years average line
Weighted Average line
Adjustable dashboard size and placement
Designed to stay away from candles
Auto dark/light theme support
Manual color customization
Election seasonality is intentionally excluded
Built for visual seasonal analysis
The seasonal values are approximate and digitized from historical seasonal data screenshots. This indicator is intended for educational and analytical purposes only. It does not provide financial advice, investment recommendations, or direct buy/sell signals. Historical seasonal tendencies do not guarantee future market performance.
Indicator

IV Rank & Percentile XVI (S&P/ASX200 VIX)Most IV Rank and IV Percentile indicators on TradingView are built for the US VIX. This one is built specifically for XVI — the S&P/ASX 200 VIX (A-VIX) — so Australian index traders, and anyone trading XJO options, finally get the same volatility context without borrowing a US proxy. It reads straight off the published XVI value, so there's no option-chain reconstruction or estimation involved.
The core idea:
XVI is the ASX's "fear number" — the implied volatility of the XJO, the market's estimate of how much it's about to move over the next 30 days. The problem is that a raw XVI value is meaningless on its own. Is 16 high? Low? You can't know without context. This indicator's whole job is to give that context by answering one question: compared to its own recent history, is volatility currently rich, normal, or cheap?
The two ways it measures that:
IV Rank is the simple one. It looks at the highest and lowest XVI over your lookback window (a year by default) and asks where today sits on that line. XVI at its yearly low reads 0. At its yearly high, 100. Halfway between, 50. That's it — it's just "where in the range are we."
IV Percentile asks a slightly different question: of all the days in the window, what percentage had a lower XVI than today? If it reads 70, then vol is higher than it was on 70% of the past year's days. The reason this one's usually better is that IV Rank gets distorted by a single spike — one brief crash sets a sky-high "yearly high," and then every reading afterward looks artificially low against it for a whole year. Percentile doesn't have that problem because it counts days, so one freak day is just one day. That's why the regime label runs off Percentile by default.
The regime label:
This translates those 0–100 numbers into a single word so you don't have to interpret them each time. You set two thresholds — default 80 and 20. Above 80 it reads HIGH (vol is richer than most of the past year). Below 20, LOW (vol is cheap). Anything between, NORMAL. The thresholds are yours to move: if you think 80 is too strict and want it flagging "high" earlier, drop it to 70. The cutoffs define what you consider rich versus cheap. You can also switch whether the label reads off Percentile or Rank.
Live updating:
The ranking history is built from daily XVI closes (you want to rank against a year of daily data, not intraday noise), but the current reading floats live against that history. As XVI moves through the session, IV Rank, IV Percentile, and the regime word update with it rather than waiting for the daily close.
Settings:
Volatility index — defaults to ASX:XVI. Can be pointed at another volatility index if you want to reuse the tool elsewhere.
History timeframe — the bar size the ranking history is measured on. Daily is standard.
Lookback — how far back it ranks. 252 ≈ one year. Drop it to 90 or 60 for a tighter, more recent read; the long-window and short-window answers genuinely differ when the past year contains a stale spike, so comparing the two is useful.
Regime read from / High threshold / Low threshold — choose whether the label is driven by Percentile or Rank, and set the two cutoffs.
Display — plot the Percentile line on or off, and position the readout table in any corner.
Reading it:
The pane plots IV Rank (aqua) and IV Percentile (orange) on a 0–100 scale, with dashed guide lines at your high and low thresholds and a dotted midline at 50. The corner table shows the live XVI level alongside both readings and the current regime.
A note on the data: because XVI is a calculated index rather than a traded instrument, your reading is only as live as your XVI data feed. On delayed feeds it updates with that delay, which is still perfectly adequate for volatility-regime context.
This script is a volatility-context tool, not a trading system. It tells you where implied volatility sits relative to its own history; it does not generate buy or sell signals, and nothing here is financial advice. Indicator

Strategy
