Skip to content

Indices · Basis and implied price

Indices basis snapshot

Live basis, fair value and premium of up to 10 indices.
On this page

The live comparison of each index with the front month of its futures: the index value, the futures price (the mid of the best bid and ask when a quote under 10 seconds old exists, otherwise the last print under a minute old), fair value, implied index level, basis, premium in points and basis points, and state (index_above_implied, index_below_implied or at_fair; at_fair means within 0.25 index points, configurable). The cash index must have printed within the last minute: outside the cash session a row has available false, a reason (index_not_live, futures_stale, futures_unavailable, futures_not_entitled, rate_unavailable) and null numbers. Calculation as in /v1/indices/basis. Needs the futures and indices dataset releases.

Example request

curl -sS --get "https://api.ordermap.si/v1/indices/basis/snapshot" \
  -H "Authorization: Bearer $ORDERMAP_API_KEY" \
  --data-urlencode symbols=SPX,NDX

Set ORDERMAP_API_KEY to your key. Replace the dates with a recent trading date.

Parameters

1 parameter, 1 required.

ParameterType and limitsDescription
symbolsqueryrequiredarray<string>comma-separated in one parameter1 to 10 itemseach at most 128 characterspattern ^[A-Za-z][A-Za-z0-9]{0,9}$Indices with a futures pair, comma separated, for example SPX,NDX.

Response

StatusMeaningBody
200Successful response.Schema below
400Invalid, unknown or repeated parameters, or an invalid cursor.Error object
401Missing or invalid API key.Error object
403The plan, dataset release or account state does not allow this request.Error object
422The request is valid but no data exists for it.Error object
429Rate limit, burst limit or cooldown; wait Retry-After seconds.Retry-AfterError object
500Internal error.Error object
503Data temporarily unavailable; retry after Retry-After seconds.Retry-AfterError object
504The request timed out.Error object

Authenticated responses carry the X-RateLimit-* headers (see rate limits); 429 and 503 add Retry-After.

200 response body

  • dataarray<object>required25 fields inside
    • availablebooleanrequiredThe comparison could be computed now.
    • basisnumber | nullrequiredFutures minus index, in index points.
    • contractstring | nullrequiredFutures contract used.
    • days_to_settlementnumber | nullrequiredDays to final settlement.
    • dividend_yieldnumber | nullrequiredContinuous annual dividend yield used.
    • fair_basisnumber | nullrequiredFair value minus index, in index points.
    • fair_valuenumber | nullrequiredTheoretical futures price: index x e^(r-q)T.
    • futures_asknumber | nullrequiredBest ask, when a fresh quote exists.
    • futures_bidnumber | nullrequiredBest bid, when a fresh quote exists.
    • futures_lastnumber | nullrequiredLast print, when a fresh one exists.
    • futures_pricenumber | nullrequiredFutures price used.
    • futures_price_typestring | nullrequiredmid: midpoint of the best bid and ask; last: last print.midlastnull
    • futures_timestampinteger | nullunix-msrequiredTime of the futures price. Unix epoch milliseconds (UTC).
    • implied_index_pricenumber | nullrequiredIndex level implied by the futures price.
    • index_minus_impliednumber | nullrequiredIndex minus implied index, in index points.
    • index_pricenumber | nullrequiredLatest index value.
    • index_timestampinteger | nullunix-msrequiredTime of the index value. Unix epoch milliseconds (UTC).
    • premiumnumber | nullrequiredFutures minus fair value, in index points.
    • premium_bpsnumber | nullrequiredPremium in basis points of the index.
    • reasonstring | nullrequiredWhy it could not, when available is false.index_not_livefutures_stalefutures_unavailablefutures_not_entitledrate_unavailableinvalid_pricesnull
    • risk_free_ratenumber | nullrequiredContinuously compounded annual risk-free rate used.
    • settlement_timeinteger | nullunix-msrequiredFinal settlement of the contract. Unix epoch milliseconds (UTC).
    • statestring | nullrequiredWhere the index stands against the implied index.index_above_impliedindex_below_impliedat_fairnull
    • symbolstringrequiredIndex symbol.
    • timestampintegerunix-msrequiredTime of the evaluation. Unix epoch milliseconds (UTC).
  • metaobjectrequiredMeta object

Example response

{
  "data": [
    {
      "available": true,
      "basis": 38.26,
      "contract": "ESZ6",
      "days_to_settlement": 63.27,
      "dividend_yield": 0.013,
      "fair_basis": 29.28,
      "fair_value": 6023.4,
      "futures_ask": 6032.5,
      "futures_bid": 6032.25,
      "futures_last": 6032.5,
      "futures_price": 6032.375,
      "futures_price_type": "mid",
      "futures_timestamp": 1792159199900,
      "implied_index_price": 6003.1,
      "index_minus_implied": -8.98,
      "index_price": 5994.12,
      "index_timestamp": 1792159199000,
      "premium": 8.98,
      "premium_bps": 14.98,
      "reason": null,
      "risk_free_rate": 0.0412,
      "settlement_time": 1797604200000,
      "state": "index_below_implied",
      "symbol": "SPX",
      "timestamp": 1792159200000
    }
  ],
  "meta": {
    "as_of": 1760659200123,
    "coverage": {
      "complete": true
    },
    "delay_ms": 0,
    "delayed": false,
    "request_id": "0199f0c2-5a1e-7c3b-9d4e-2b6f8a1c3d5e",
    "source": "cme"
  }
}

Values are illustrative. Missing values are null, never 0.