Oracle Price

Index price derivation, dual-mode oracle architecture, and internal pricing mechanism

Overview

The index price is OBSDN's canonical spot reference. It serves as the root input for:

OBSDN's oracle system operates in two modes, determined by per-asset oracle schedules:

ModeConditionPrimary Price Source
Active SessionExternal oracle feeds are onlineCryptographically signed external price feed
Off-HoursExternal feeds unavailableOBSDN internal pricing (orderbook-derived)

This dual-mode architecture ensures continuous, manipulation-resistant pricing across all market conditions, including weekends, holidays, and periods of external oracle downtime.

Active Session Pricing

When the oracle schedule is OPEN, OBSDN uses external signed, authoritative oracle feeds as the primary index price source. These are cryptographically signed price feeds from dedicated oracle providers whose sole purpose is price reporting.

Off-Hours Pricing

When external oracle feeds are unavailable (market closures, weekends, or holidays), OBSDN activates its internal pricing mechanism. This produces a continuously updated index price derived from live orderbook depth, smoothed via an exponential weighted moving average (EWMA) designed to resist short-term manipulation.

Step 1: Impact Price Measurement

OBSDN measures real-time market pressure by computing impact prices: the volume-weighted average price (VWAP) obtained by sweeping a configured notional amount against each side of the orderbook.

  • Impact Bid: VWAP from sweeping the impact notional against the bid side
  • Impact Ask: VWAP from sweeping the impact notional against the ask side

These reflect the actual executable price for meaningful size, not just top-of-book quotes. If either side of the book is empty, the EWMA holds its previous value until both sides have liquidity.

Step 2: Impact Price Deviation (IPD)

The Impact Price Deviation quantifies directional pressure relative to the current index:

IPDt=max(PimpactBidSt,  0)    max(StPimpactAsk,  0)\text{IPD}_t = \max(P_{\text{impactBid}} - S_{t^-},\; 0) \;-\; \max(S_{t^-} - P_{\text{impactAsk}},\; 0)

Where StS_{t^-} is the previous EWMA price.

ConditionIPDInterpretation
PimpactBid>StP_{\text{impactBid}} > S_{t^-}PositiveAggressive bids, upward pressure
St>PimpactAskS_{t^-} > P_{\text{impactAsk}}NegativeAggressive asks, downward pressure
PimpactAskStPimpactBidP_{\text{impactAsk}} \le S_{t^-} \le P_{\text{impactBid}}ZeroIndex within spread, no deviation

Only improving deviations contribute. This prevents noise from transient one-sided book imbalances from propagating into the index.

Step 3: EWMA Update

The index price is updated using a continuous-time EWMA:

St=βtSt+(1βt)xtS_t = \beta_t \cdot S_{t^-} + (1 - \beta_t) \cdot x_t xt=St+IPDtx_t = S_{t^-} + \text{IPD}_t βt=exp ⁣(Δtτ)\beta_t = \exp\!\left(-\frac{\Delta t^*}{\tau}\right) Δt=min(Δt,  cτ),Δt=ttprev\Delta t^* = \min(\Delta t,\; c \cdot \tau), \quad \Delta t = t - t_{\text{prev}}

Parameters

SymbolValuePurpose
τ\tau8 hoursTime constant governing EWMA responsiveness. A longer window provides high stability and resilience to short-lived manipulation.
cc0.1Cap factor. Limits the maximum weight of any single update to 9.5%\approx 9.5\%, preventing a large time gap from resetting the EWMA.

The 8-hour time constant ensures stability appropriate for off-hours conditions, where liquidity is typically lower and manipulation risk is elevated. Combined with the 9.5% per-tick weight cap, the mechanism guarantees smooth, gradual price transitions. Sustained orderbook pressure over many ticks is required to move the index meaningfully.

Price Banding

After the EWMA update, the result is clamped to prevent drift from the last known reliable price:

Stfinal=clamp ⁣(St,    Poracle(11L),    Poracle(1+1L))S_t^{\text{final}} = \text{clamp}\!\left(S_t,\;\; P_{\text{oracle}} \cdot \left(1 - \frac{1}{L}\right),\;\; P_{\text{oracle}} \cdot \left(1 + \frac{1}{L}\right)\right)
VariableDefinition
PoracleP_{\text{oracle}}Last observed external oracle price (from the most recent active session)
LLMarket's maximum leverage

For a market with 20×20\times max leverage, the band is ±5%\pm 5\% around the last oracle price. This prevents the internal price from diverging unreasonably during extended off-hours periods.

External Oracle Schedules

AssetsHours
All crypto perpetuals24/7
US equity perpetualsSun 8:00 PM – Fri 8:00 PM ET

US equity schedules incorporate NYSE holiday calendars. When external oracles are unavailable, internal pricing activates automatically.

On this page