# Expiration Effects

Expiration Effects is an indicator on [Vela](https://vela.luxalgo.com/chart), our next-generation charting platform, written in Pine Script®.

Maps the US derivatives expiration calendar onto the chart: monthly OpEx third Fridays, quarterly witching dates and VIX expiry Wednesdays are labeled and shaded along with OpEx week, while a dashboard counts down upcoming dates and measures each window's average session range, absolute change and relative volume from the symbol's own history. Five alerts track window opens and session starts.

- Indicator in the LuxAlgo Library, by LuxAlgo, published Jun 4, 2026.
- Access: free.
- Concepts: [Expiration Effects](https://www.luxalgo.com/library/concept/expiration-effects/) (primary)
- Open on Vela: https://vela.luxalgo.com/chart?pineScriptCodeId=cahtuc8dxrgglts3becd1lb7
- Page: https://www.luxalgo.com/library/indicator/expiration-effects/

**Expiration Effects** lays the US derivatives calendar over the chart and audits the folklore against the symbol's own sessions, a first purpose-built implementation of the written concept. Monthly OpEx third Fridays, quarterly witching dates and VIX expiry Wednesdays are computed on the exchange calendar (holiday shifts handled), labeled and shaded, and every completed session is pooled into buckets so the tendencies described under [expiration effects](https://www.luxalgo.com/library/concept/expiration-effects/) can be measured rather than assumed.

## How to Trade the Expiration Effects?

- **OpEx week shading**: Monday through the third Friday is tinted while dealer hedging flow concentrates; the pre-expiry bucket shows whether range actually compresses on this symbol.
- **Witching emphasis**: the March, June, September and December dates get their own color. Their heavy volume is mechanical, so RelVol spikes there are not ordinary conviction.
- **Dashboard buckets**: compare TR%, |Δ|% and RelVol for each bucket against the All sessions row, the direct check of the classic reads.
- **Post-expiration window**: optional shading for the sessions after each expiry, when expiring hedges unwind.

## Expiration Effects Settings

- **Monthly OpEx (3rd Friday)**, **Emphasize quarterly witching**, **VIX expiry (Wednesday)** and **Shade OpEx week** (all on) plus **Shade post-expiration window** (off): the calendar layers.
- **Pre-expiration window (sessions)** (default 5) and **Post-expiration window (sessions)** (default 5): sessions pooled into each bucket.
- **Relative-volume baseline (sessions)** (default 20): the average each session's volume is divided by.
- **Show dashboard**, **Upcoming expirations** and **Session statistics** (all on) with **Position** (Top Right) and **Size** (Small); **Event labels** (on) and **Shading transparency** (default 88).

## Frequently Asked Questions

### How does this differ from Futures Roll Dates?

[Futures Roll Dates](https://www.luxalgo.com/library/indicator/futures-roll-dates/) watches contract-level flow: volume and open interest migrating from an expiring futures month to the next. This build works from the options calendar on any symbol, measuring session behavior around the dates.

### Do the statistics predict direction?

No. The change column is an absolute value on purpose: expiration behavior is a tendency in movement and participation, not a schedule for direction. The footer also notes that the growth of short-dated options dilutes the monthly pattern. Verify on recent data.

### Which timeframes does it support?

Daily and intraday charts. Expiration sessions are date-based, and intraday bars aggregate to sessions. Prefer daily for the statistics, since intraday history limits the sample.

## Related indicators

- [Sessions](https://www.luxalgo.com/library/indicator/sessions/) (Trading Sessions): markdown at https://www.luxalgo.com/library/indicator/sessions.md
- [Session Sweeps](https://www.luxalgo.com/library/indicator/session-sweeps/) (Trading Sessions): markdown at https://www.luxalgo.com/library/indicator/session-sweeps.md
- [ICT Killzones](https://www.luxalgo.com/library/indicator/ict-killzones/) (Trading Sessions): markdown at https://www.luxalgo.com/library/indicator/ict-killzones.md
- [Session Volume Moving Average](https://www.luxalgo.com/library/indicator/session-volume-moving-average/) (Trading Sessions): markdown at https://www.luxalgo.com/library/indicator/session-volume-moving-average.md
- [FVG Sessions](https://www.luxalgo.com/library/indicator/fvg-sessions/) (Trading Sessions): markdown at https://www.luxalgo.com/library/indicator/fvg-sessions.md
- [Session Streaks](https://www.luxalgo.com/library/indicator/session-streaks/) (Trading Sessions): markdown at https://www.luxalgo.com/library/indicator/session-streaks.md
- [Volume Surprise](https://www.luxalgo.com/library/indicator/volume-surprise/) (Intraday Time-of-day Effects): markdown at https://www.luxalgo.com/library/indicator/volume-surprise.md
- [Volume by Time](https://www.luxalgo.com/library/indicator/volume-by-time/) (Intraday Time-of-day Effects): markdown at https://www.luxalgo.com/library/indicator/volume-by-time.md

---

Source: https://www.luxalgo.com/library/indicator/expiration-effects/ (LuxAlgo Library). Free to use with attribution: https://www.luxalgo.com/library/license/
