TradingView
Options Overlay PRO
Implied volatility, expected move, skew, and the expiry table on the price chart.
Lite is live on DIA, AAPL, AMZN, TSLA, and ORCL. Open the Lite script.

See the options market’s REAL implied-volatility, expected-move and skew structure on the price chart—not only a single IV number.
Options Overlay plots interpolated OTM-delta levels, Binary Expected Move and STD1 (σ) curves, an IVR context panel, per-expiration skew and an optional Murrey/expiry grid in the chart’s own price and time scale. Values come from scheduled options-derived snapshots for supported U.S. underlyings. On supported mapped charts, the source profile is converted into the displayed instrument’s price scale.
The indicator is designed to answer:
- Where do the selected OTM call- and put-delta levels sit relative to Binary Expected Move and STD1?
- Is implied volatility high or low versus its own 52-week range, and has IVx expanded or contracted over five sessions?
- Is call premium richer or cheaper than put premium at equal expected-move distance?
- Does the IVx term structure invert between consecutive weekly or monthly expirations?
- How do those readings change across the expiry table, including a same-day row when a valid 0DTE profile exists?
Options Overlay does not generate entries, exits, stops or price targets. IVR, skew and expected-move values are decision-support context. They do not independently verify dealer inventory, forecast direction or guarantee that price will remain inside any envelope.
Available for 250+ liquid U.S. market symbols and supported mapped charts, including major index futures, metals and selected crypto pairs. Full list: TanukiTrade supported-symbol watchlist.
🔶 WHY THIS INDICATOR IS DIFFERENT
Many volatility tools show one IV readout or a static percentage band. Options Overlay keeps the term structure visible on price: per-expiry IVx, interpolated OTM-delta levels, two distinct expected-move constructions and skew that can be read in the panel, expiry table and curve tooltips.
Core functionality includes:
- Interpolated delta curves at 16, 20, 25, 30 or 40
- Binary Expected Move (Exp.mv) from ATM straddle / OTM strangle pricing
- STD1 (σ) from price, per-expiry IVx and time to expiration
- IVR, IVx average, five-day IVx change, call/put pricing skew and horizontal IVx inversion
- Expiry table with per-expiry IVx, ranges, skew and optional 0DTE
- Adaptive Murrey Math + expiry grid, including on charts with no options metrics
- Automatic mapping for supported futures, CFD, metals and crypto charts
- Scheduled external-data refresh — no manual chart reload is normally required
The plotted metrics are derived from externally prepared options snapshots. The Pine script does not rebuild a live option chain from TradingView OHLC and does not display individual contract prices.

🔶 CURVES: DELTA, BEM AND STD1
Three families can sit on price at once. They answer different questions and will not print the same distance.
🔹 Interpolated delta
Select 16, 20, 25, 30 or 40, or hide the curve. For each expiration, the indicator estimates the corresponding OTM call and put levels from option-chain data using Black–Scholes delta and interpolation between available strikes. These are theoretical constant-delta locations, so they can differ from a broker’s rounded per-contract delta. Delta is also not a literal probability of expiring in or out of the money. Hover the curve labels for the selected delta, IVx and skew context attached to that expiration.
🔹 Binary Expected Move (Exp.mv)
This is the options-premium-based range for an expiration. The distance is built from a weighted ATM straddle and the first two OTM strangles:
binary_expected_move = (atm_straddle_price * 0.6) + (first_otm_strangle_price * 0.3) + (second_otm_strangle_price * 0.1)
The result is applied above and below the snapshot anchor to form the displayed range. It is a market-pricing estimate—not a probability guarantee or a promise that price must finish inside the band.
Implied Move is the Binary Expected Move value for the nearest available expiration. It is a short label for that specific BEM output, not a separate calculation.
🔹 STD1 (σ) — Standard Expected Move
STD1 estimates a one-standard-deviation envelope from the snapshot’s underlying price, that expiration’s IVx and calendar time to expiration:
standard_expected_move = closing_price * implied_volatility * math.sqrt(days_to_expiration / 365.0)
Under the conventional lognormal interpretation, ±1σ corresponds to roughly 68% of modeled outcomes. This is a model assumption, not an empirical guarantee for the selected symbol or expiration.
When both Exp.mv and STD1 are enabled, the script can fill the area between them. The fill compares two different range constructions; it does not create a third expected-move metric or a “true” 68% band.
BEM and STD1 differ because one uses weighted option premiums while the other uses IVx and time. In the product model, BEM is the narrower inner range and STD1 the wider envelope. Weekly expirations with limited liquidity can make STD1 look jagged, especially around the first package of the day; “Display only Monthly labels” suppresses those weekly points from the curve presentation.

🔶 IVR PANEL
The floating strip is configurable cell by cell. Enable only the fields you need.
- IVR: (IV Rank) current implied volatility’s position within its trailing 52-week range
- IVx avg: average of VIX-style per-expiration IVx estimates across the 35–70 DTE monthly cycle, through the displayed optimal DTE
- IVx 5d chng %: five-trading-day change in that IVx average
- Call/Put pricing skew: percentage premium difference between calls and puts at equal expected-move distances for the displayed optimal monthly expiration
- Monthly / weekly IVx skew: local term-structure inversion between consecutive listed expirations
- Last refreshed: elapsed time since the most recent scheduled package
🔹 IVR (IV Rank)
iv_rank = 100 * (current_iv - fifty_two_week_iv_low) / (fifty_two_week_iv_high - fifty_two_week_iv_low)
IVR is a relative rank on a 0–100 scale, not implied volatility itself and not IV percentile. Panel colors mark rank buckets for reading speed. They are display coding—not a buy-premium / sell-premium instruction. A low IVR does not by itself make options attractive to buy, and a high IVR does not mean premium must be sold.
🔹 IVR panel color key
- 0–10 — green: very low IVR
- 10–35 — white: normal IVR
- 35–50 — orange: elevated IVR
- 50–75 — red: high IVR
- Above 75 — highlighted red: very high IVR
🔹 IVx is an expiration-level implied-volatility estimate constructed in a VIX-style framework. IVx is annualized volatility, whereas IVR describes where current IV sits within its own trailing range. Some underlyings normally carry higher IVx than others, so IVx should be read with IVR and the term structure. Color cues (for example orange above 30 and red above 60) are display thresholds, not forecasts.
Per-expiry IVx also appears on the curve tooltips and in the expiry table.
🔹 IVx 5-day change is the five-trading-day change in the IVx average used by the panel. It describes recent implied-volatility expansion or contraction. It does not select a spread, and a falling IVx is not an automatic reason to sell premium.

🔶 EXPIRY TABLE
The table lists successive expirations so IV, skew and range can be compared without leaving the chart.
Typical columns include:
- Expiration date
- IVx for that expiration
- Time-spread / horizontal IVx difference when the next listed expiration prints lower IVx
- Call versus put pricing skew at expected-move distance
- Binary Expected Move and/or STD1 as a range, not only a point distance
- Selected interpolated delta distance
A same-day expiration appears in the table and on the curve when a valid 0DTE snapshot exists. Missing 0DTE stays blank rather than being replaced with an estimated row.
Column visibility, weekly rows, table position and size are settings. The row-count control specifies how many expiration dates are shown; it is not a maximum-DTE filter. The delta selected in the table is also the delta drawn on the curve.

🔶 SKEW: VERTICAL AND HORIZONTAL
🔹 Vertical / call–put pricing skew
Skew here compares interpolated call and put premiums at equal positive and negative expected-move distances for one expiration. Positive values mean the call side is richer at those matched distances; negative values mean the put side is richer. The sign describes relative option pricing—not directional probability, sentiment or the direction the underlying must move.
🔹 Vertical skew color key
- Red — puts are priced higher than calls at equal expected-move distance. The red shade becomes lighter when the difference exceeds 20%.
- Green — calls are priced higher than puts at equal expected-move distance. The green shade becomes lighter when the difference exceeds 30%.
The IVR panel reports this for the displayed 35–70 DTE optimal monthly expiration. The expiry table reports it per listed expiration. Curve tooltips repeat the same family.

🔹 Horizontal IVx skew
The IVx term structure compares implied volatility across expirations. It slopes upward when the later expiration has higher IVx (contango), is flat when the readings are equal, and slopes downward when the later expiration has lower IVx (backwardation). In this indicator, “horizontal IVx skew” is the name of the displayed measure: it reports the IVx decrease between two consecutive listed expirations, not every difference in the term structure.
back_expiry_ivx < front_expiry_ivx
Calendar and diagonal traders watch this inversion. The indicator splits it into weekly and monthly comparisons.
🔹 Weekly horizontal IVx skew
Weekly skew is an IVx decrease between two consecutive non-monthly expirations. The displayed value is the percentage difference, rounded up. Hover shows the approximate location of that pair. The precise location is on the curve. The cue is purple.
Weekly horizontal skew may carry little information on symbols that are not in the Options Screener Weeklies & Volume Masters preset.

🔹 Monthly horizontal IVx skew
Monthly skew is an IVx decrease between two consecutive monthly expirations. The displayed value is the percentage difference, rounded up. Hover shows the approximate location of that pair. The precise location is on the curve. The cue is blue.
Check the liquidity of the contracts in the actual expiration pair; a monthly pair is not automatically more liquid than a weekly pair.

If the later expiration’s IVx is equal to or higher than the front expiration’s IVx—flat or upward-sloping term structure—no horizontal-skew value is displayed.
- Gray — no horizontal skew
- Purple — weekly horizontal skew
- Blue — monthly horizontal skew
Monthly and weekly horizontal skew can each be turned on or off on the IVR panel. Colored tooltips above the curve turn off only with Colored labels with tooltips. The indicator also marks the range with colored information bubbles above the upper STD line.
🔶 GRID: MURREY MATH + EXPIRY LINES
Enhanced Murrey Math lines and expiry lines make up the options grid. Murrey Math is the horizontal price scale: it divides price into octaves. Expiry lines are the vertical time scale: they mark weekly and monthly option dates. TradingView’s own grid does not identify these price levels or these expirations.
The grid keeps that layout on the chart and resizes as the underlying’s volatility changes, so the expected movement for each expiration stays readable. It works on any instrument. There is no symbol-type restriction, and it still runs when options metrics are not available for that underlying. It scales to the charted asset.

🔹 Setup of the options grid
The grid is set up in three steps.
🔹 Step 1 — Hide the default horizontal grid lines
Right-click an empty area of the chart and select Settings. In Chart settings → Canvas → Grid lines, turn off the horizontal lines so they do not compete with the Murrey levels.

🔹 Step 2 — Scaling fix
Right-click the price scale on the right and select Scale price chart only. This stops the chart from scaling itself to the new horizontal lines.

🔹 Step 3 — Enable the Tanuki options grid
In the indicator’s Grid section, enable both sets of lines. Murrey Math is the horizontal price grid. Expiry lines are the vertical time grid.

🔹 Horizontal: Enhanced Murrey Math lines
Murrey Math lines come from the market-symmetry work of William Gann. Gann techniques such as Gann angles were adapted by Murrey into price levels an options trader can read on a chart. In that framework, markets often correct at specific levels, and a breakout or a return to one of those levels can mark an important level.
TanukiTrade plots an enhanced form of these levels so the display stays clear. Some traders use the spacing to frame the progress of an existing move over a chosen horizon, such as a monthly expiration. The lines do not estimate the probability or direction of the next move.
The practical read is narrower: if price is already moving in the traded direction, use the next unit step as a reference for measuring progress through the chosen horizon—not as a guaranteed target.
One unit step is the distance between two adjacent Murrey Math lines, such as 0/8 and 1/8. One quadrant spans four consecutive unit steps, so quadrant boundaries occur at four-step intervals. These are conventional Murrey reference levels, not options-derived support or resistance concentrations.
Key levels, according to TanukiTrade:

The lines can be turned on or off, and the default color can be changed.
🔹 Vertical: Expiry lines
Monthly and weekly expirations can be drawn as dashed lines, in a chosen color. Weekly expirations are always a lighter shade than monthly expirations.
Monthly expiry lines. Turn them off, or set the direction to past, future, or both, and set how many lines are drawn.
Weekly expiry lines. These point forward only. Turn them off, or set how many weeks ahead are drawn.
These lines can be turned on or off, and the default color can be changed.
🔹 Tip — Hide the default vertical grid lines
Right-click an empty area of the chart and select Settings. In Chart settings → Canvas → Grid lines, turn off the vertical lines so they do not compete with the expiry lines. This is the same canvas control as in Step 1, applied to the vertical lines.

🔶 SCHEDULED DATA DELIVERY
No manual chart refresh is normally required. The external data package is scheduled for five snapshots on U.S. market days; see the update schedule for the delivery windows and active hours.
These windows reflect TradingView external-data scheduling, not tick-by-tick option-chain updates. Last refreshed reports the most recent package received by the script.
Broker IV, IVx and delta values can differ from these snapshots because platforms may use different inputs, rates, dividend assumptions, interpolation and timestamps. Overlay follows the constructions described above rather than mirroring any one brokerage display.
🔶 SYMBOL COVERAGE
The feed covers 250+ supported U.S. options roots. Selected futures, metals, CFD and crypto-proxy charts are also supported through mapping from a related liquid U.S. options chain. Their readings are not calculated from the displayed instrument's native options chain. Check the TanukiTrade supported-symbol watchlist for the exact chart symbols.

A symbol with no valid options-derived snapshot stays blank rather than being replaced with an estimated series.
🔶 FUTURES, CFD, METALS AND CRYPTO MAPPING
Supported futures, CFD, metals, and crypto charts use a related liquid U.S. options profile, with its levels converted into the displayed instrument’s price scale. See Futures mapping for the supported pairs and conversion rules.
Mapped curves and levels are scaled into the chart instrument’s price space and rounded to the configured tick size for that instrument class. They remain derived from the listed options-chain underlying. Mapping does not create a native futures, CFD, metal or crypto option chain, and basis or conversion changes can shift the displayed relationship. Automatic mapped options-data snapshots follow the U.S. options-market schedule, even when the chart instrument trades outside those hours.
🔶 SETTINGS
🔹 Curves
- Delta selection (16 / 20 / 25 / 30 / 40 or hide)
- Binary Expected Move and STD1 visibility, colors and fill
- Monthly-only labels when weeklies are too thin
- Colored labels with tooltips
🔹 IVR panel
- IVR, IVx avg, IVx five-day change, call/put pricing skew, monthly/weekly IVx skew, Last refreshed
- Position or HIDE; size
🔹 Expiry table
- Number of expiration rows, inclusion of weeklies and 0DTE when available
- Visible columns and selected delta
- Position, size and range display (BEM and/or STD1)
🔹 Grid
- Murrey Math lines: on/off, color
- Monthly expiry lines: past / future / both, count
- Weekly expiry lines: future count
🔶 PRACTICAL WORKFLOWS
🔹 Volatility context
Read IVR with IVx and the five-day change together. IVR supplies historical context, IVx supplies the current annualized level and the five-day change shows recent repricing. None of the three selects a strategy by itself.
🔹 Range context
Use BEM as the premium-derived inner envelope and STD1 as the wider IVx/time envelope. Price between them is a different location observation from price beyond both, but neither location determines what the next move must be.
🔹 Expiration choice
Scan the expiry table for IVx, pricing skew and range width. Horizontal IVx inversion is a term-structure note for calendar/diagonal study—not an automatic spread entry.
🔹 Mapped futures
Keep the chart on the instrument being traded. Confirm the mapped options underlying rather than treating the curves as a native /ES or /NQ option chain.
🔶 TIMEFRAME COMPATIBILITY
Use standard time-based intraday or 1D charts. The recommended working view is 15m–1D, with 1D as the cleanest diagnostic view if a print looks empty or stale.
Timeframes above 1D are unsupported because TradingView can drop the daily-resolution sequence used to build the curves. If values look wrong, switch to 1D and check symbol support, expiry availability and Last refreshed before assuming a data fault.
🔶 IMPORTANT LIMITATIONS
- Derived snapshot metrics are not a live option chain and not exact contract prices.
- IVR is a range rank, not IV percentile, and it says nothing about the future path of volatility by itself.
- IVx, its five-day change and skew do not forecast direction, timing or the success of a premium strategy.
- Binary Expected Move and STD1 are two different constructions; neither is a guaranteed trading range.
- The textbook 68% interpretation of ±1σ depends on distributional assumptions and is not a contract that price must expire inside STD1.
- Interpolated delta is model-dependent and can differ from a broker’s rounded strike delta.
- Weekly STD1 and weekly horizontal skew can be noisy on illiquid weeklies.
- Murrey lines are enhanced octave references, not options-derived concentration levels and not infallible forecasts. Expiry lines mark option dates.
- Scheduled external data is not tick-by-tick and can be delayed or temporarily unavailable.
- Mapped instruments inherit basis, conversion and rounding risk versus the source options profile.
- Missing or invalid source data produces no print rather than an estimated substitute.
- Example charts demonstrate rendering; they are not backtests or evidence of predictive performance.
🔶 QUICK START
- Open a supported symbol on a 15m–1D chart; use 1D if a value looks empty.
- Enable Binary Expected Move and STD1, then choose one interpolated delta.
- Turn on only the IVR-panel cells you need; keep Last refreshed visible while you learn the schedule.
- Open the expiry table and confirm whether 0DTE, weeklies or monthlies are listed.
- If using the grid, hide the default TV grids, set Scale price chart only, then enable Murrey and expiry lines.
- On mapped charts such as /ES, confirm the source options underlying.
- Validate every observation with price action, volume, liquidity and your own risk framework.
🔶 DISCLAIMER
This indicator is intended for informational, educational and decision-support purposes only.
It is not investment advice, a trade recommendation, a solicitation, a guarantee of accuracy or a promise of future performance. Options, futures, leveraged products and crypto assets involve substantial risk and are not suitable for every trader.
The indicator uses delayed and scheduled options-market snapshots to calculate derived metrics, including interpolated delta. Exact real-time option-contract prices are not displayed.
Users are responsible for independently validating the information, understanding the instrument they trade and making their own informed decisions. TanukiTrade and the script authors accept no liability for trading losses, data interruptions, mapping differences, calculation errors or decisions made using this indicator.
Related
TanukiTrade documentation. Levels are context, not a recommendation. tanukitrade.com