SOAP2Docs ← Website
SOAP2 top banner

HSkew/VSkew

Related:



Requires: Free Trial, Premium, or WhiteLabel edition (or Developer mode) — once the Free Trial period ends, Freeware and Regular users lose access.

What HSkew/VSkew Does

Two OA chart tabs that show the shape of a symbol's implied-vol smile from a different angle each: VSkew (Vertical Skew) plots IV vs. strike at a fixed expiry — the smile itself; HSkew (Horizontal Skew) plots ATM IV vs. DTE across expiries — the term structure. Both are live-drawn from your own chain, and both carry a historical overlay (1D/2D/1W Ago) so you can compare today's shape against recent sessions, not just look at a single live snapshot.

In HSkew, the historical overlay is drawn at the same expiry dates as today, so you can see how the term structure has been moving. In VSkew, the historical overlay is drawn at the same DTEs as today, so you can see how the smile has been moving. The 1D Ago overlay is drawn from the previous trading day's close (or last bar if run before open), 2D Ago from two trading days ago, and 1W Ago from five trading days ago.

HSkew summary: The "Current" column contains:

  1. Strike – The ATM strike (rounded to the nearest strike interval)
  2. ATM – The ATM IV of the front contract (shortest DTE) in the current expiry set
  3. Slope – The difference between the longest-DTE ATM IV minus the shortest-DTE ATM IV (the term structure slope)
Important: the historical overlay resolves the true historically-ATM strike/contract for that offset (not just today's strike replayed backward), which is more correct but means it occasionally can't find a matching quote for a far-dated expiry's historical strike — that point is just dropped, not a crash.

Choosing Which History Offsets to Show

By default only 1D Ago is drawn. To add 2D Ago and/or 1W Ago (5 trading days), open General Settings → Skew and use the dropdown next to VSkew history enabled / HSkew history enabled: tick any of 1D, 2D, 1W. VSkew and HSkew each have their own dropdown, and it is greyed out while that chart's history checkbox is off. Only the ticked offsets are drawn and only they get a column in the info box (and in the saved last-known result). Every extra offset means more history-file reads and IB historical-data requests, so leave the ones you don't use unticked, especially if you are close to IB's 60-requests-per-10-minutes limit. The choice is saved when you close General Settings and applies to every open Options Analysis window; changing it restarts that chart's history pass.

What a history column means. "1D Ago" is the same clock time one trading day earlier (2D: two trading days; 1W: five), not a fixed moment, so the column's reference moves a little every time it is recomputed, and a run before the open compares with the previous close. It is built from the stored 30-minute history bars, so a few tenths of a vol point in it is not necessarily signal. For HSkew it uses today's expiries at their implied volatility back then, so only expiries that had history take part. Compare Current with each history column of the same run rather than one run's history column with another's. SOAP2 tops up the underlying's history file from IB when the bar for a reference time is missing or stale, so keep IB connected when you first open a chart after a long break.

When to Use It

Reading RR25 and BF25

Both tabs show a small info box (a Current column plus a column for each history offset you have ticked — see above) at the bottom-right of the chart, with two standard measures of smile shape:

When 25-delta can't be reached. For each column SOAP2 needs the strikes whose delta is 25 on both wings. VSkew requests extra far-out strikes for that calculation only (they are never drawn, so the chart looks the same), and it requests the strike ladder in waves when your account is close to its market-data line limit — so it can take a little longer to complete on a busy account. If a wing still can't reach 25-delta (a very short expiry, or strikes that aren't listed that far out), the metric is computed at the nearest delta both wings can reach instead, and the row labels say so: RR27* / BF27* instead of RR25 / BF25. If columns differ, the label shows both (RR27/28*). Hover over the box to see which columns used a different delta. The stored result and the AI assistant carry the same information, so a 27-delta figure is never presented as 25-delta. N/A still appears when even that fallback isn't possible.

Together they describe the shape around ATM: RR25 tells you which way it leans, BF25 tells you how bowed it is. On HSkew, the same idea appears as a term-slope figure instead (longest-DTE IV minus shortest-DTE IV, same Current/1D/2D/1W columns) plus an "ATM" row for the front-month IV itself.

How It Fits Your Workflow

  1. From an open OA, click the VSkew or HSkew toolstrip button (next to Risk Graph) to switch to that tab — it draws immediately off the live chain.
  2. Check the RR25/BF25 (or term-slope) box's Current column for today's read, then compare against 1D/2D/1W Ago to see whether the shape has been moving in a direction that matters for your trade.
  3. On VSkew, if the delta convention you're used to isn't 25-delta, adjust the target delta in General Settings → Skew ("VSkew target delta") — the row labels update to show whatever percentage is configured.
  4. Zoom/pan the chart like any other OA chart (click-drag to pan, mouse wheel to zoom) to focus on the strikes or expiries you care about.
  5. Use the shared Save toolstrip button to export the current chart as an image if you want to keep a record of a specific day's shape.

Related Tools Worth Pairing With It

Learn More


⬅ Back