Skip to main content

Volatility Oracle

Hypercall uses an implied volatility surface for option pricing, greeks, mark-to-market valuation, and margin checks. The volatility oracle turns option market data into queryable IV values by underlying, strike, and expiry.

The goal is simple: use live market volatility when it is available, and fail closed rather than inventing values when required data is missing.

What the Vol Oracle Does

For each supported underlying, Hypercall maintains a volatility surface:

  • Strike dimension: IV varies by option strike.
  • Expiry dimension: IV varies by time to expiry.
  • Interpolation: When an exact strike and expiry point is not available, Hypercall interpolates across nearby valid points.
  • Staleness checks: Each provider has freshness rules. Stale data is not treated as live.

IV is stored as a decimal. For example, 80% IV is represented as 0.80.

Session-Aware Model

Some volatility source markets can have different trading hours from Hypercall. When a source market is live and healthy, Hypercall uses the current source surface.

The model rescales source strikes into platform strike space using live spot prices:

scale = platform_spot / source_spot
platform_strike = source_option_strike * scale

Both spot inputs must be positive and current. If the source spot or platform spot is missing, the live surface refresh fails instead of using a cached or static scale.

Closed Source Sessions

When a source options market is closed or the live surface is stale, Hypercall does not pretend old source data is live.

Instead, the model may use the last good source surface and transform it into current platform moneyness space:

base_strike = requested_platform_strike * base_spot / current_platform_spot
base_iv = last_good_source_surface(base_strike, expiry)

This preserves sticky log-moneyness. An option that is 5% out-of-the-money is matched to the source-surface point that was also 5% out-of-the-money when the source surface was captured.

The model then adds closed-session event risk as total variance:

final_iv = sqrt((base_iv^2 * time_to_expiry + event_jump^2) / time_to_expiry)

This makes short-dated options more sensitive to closed-session gap risk, which is intentional.

Fail-Closed Conditions

The vol oracle fails closed for risk-increasing lookups when required data is not available. Examples include:

  • no configured volatility provider for the underlying
  • stale live source with no valid last-good snapshot
  • missing or invalid platform spot
  • missing or invalid source spot during live source construction
  • source snapshot older than the configured closed-session window
  • transformed strike or expiry cannot be interpolated
  • unsupported underlying or missing source surface point

Failing closed means the system rejects calculations that depend on the missing IV, such as new risk-increasing orders that need margin. It is better to reject an order than to margin or mark it with made-up volatility.

What Users Should Expect

When source markets are open and feeds are healthy, pricing and margin use live implied volatility surfaces.

When a source market is closed, affected markets can continue using the session-aware transformed surface if the last good snapshot and current platform spot are valid.

If the model cannot validate its inputs, affected orders can be rejected until fresh data or a valid transformed surface is available.

See Also