Skip to content

Indices · Basis and implied price

Indices basis

Basis, fair value and premium of an index's futures, bar by bar.
On this page

For every bar in which both the cash index and its futures traded: basis = futures - index; fair_value = index x e^(r-q)T; fair_basis = fair_value - index; premium = futures - fair_value (equal to basis - fair_basis) in points and basis points of the index; implied_index_price = futures x e^-(r-q)T; index_minus_implied = index - implied_index_price. state is index_above_implied or index_below_implied when the index is more than 0.25 points (configurable) away from the implied index, else at_fair. r is the configured risk-free rate (otherwise the model's SOFR-derived rate), q the configured dividend yield, T the time from the bar close to the contract's final settlement (09:30 Eastern Time on the third Friday of the contract month for equity-index futures); both rates are those at request time for the whole range. Prices are bar closes. Without contract the front month of the first served futures root is used, resolved at request time. Needs the futures and indices dataset releases. At most 7 days per request, the range defaults to the last 24 hours; bars exist only while the cash index prints.

Example request

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

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

Parameters

5 parameters, 1 required.

ParameterType and limitsDescription
symbolqueryrequiredstringat most 10 characterspattern ^[A-Za-z][A-Za-z0-9]{0,9}$Index with a futures pair, for example SPX (ES, MES), NDX (NQ, MNQ), RUT or DJI.
contractqueryoptionalstringat most 6 characterspattern ^[A-Za-z0-9]{1,3}[FGHJKMNQUVXZfghjkmnquvxz][0-9]{1,2}$Exact dated futures contract of the index's futures, for example ESZ6. Default: the front month of the first futures root that is served, resolved when the request is made and returned in every row.
intervalqueryoptionalstring1m2m3m5m10m15m30m1hdefault 5mBar size.
start_timequeryoptionalintegerunix-msmin 946684800000max 4102444800000First bar start to return (inclusive).
end_timequeryoptionalintegerunix-msmin 946684800000max 4102444800000End of the range (exclusive); at most 7 days after start_time.

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>required17 fields inside
    • basisnumberrequiredFutures minus index, in index points.
    • completebooleanrequiredThe bar has closed and all of its futures minutes were received.
    • contractstringrequiredFutures contract used.
    • days_to_settlementnumberrequiredDays from the bar close to final settlement.
    • dividend_yieldnumberrequiredContinuous annual dividend yield used.
    • fair_basisnumberrequiredFair value minus index, in index points.
    • fair_valuenumberrequiredTheoretical futures price: index x e^(r-q)T.
    • futures_pricenumberrequiredFutures close of the bar.
    • implied_index_pricenumberrequiredIndex level implied by the futures price: futures x e^-(r-q)T.
    • index_minus_impliednumberrequiredIndex minus implied index, in index points.
    • index_pricenumberrequiredIndex value at the bar close.
    • premiumnumberrequiredFutures minus fair value, in index points.
    • premium_bpsnumberrequiredPremium in basis points of the index.
    • risk_free_ratenumberrequiredContinuously compounded annual risk-free rate used.
    • start_timeintegerunix-msrequiredStart of the bar. Unix epoch milliseconds (UTC).
    • statestringrequiredWhere the index stands against the implied index.index_above_impliedindex_below_impliedat_fair
    • symbolstringrequiredIndex symbol.
  • metaobjectrequiredMeta object

Example response

{
  "data": [
    {
      "basis": 38.3,
      "complete": true,
      "contract": "ESZ6",
      "days_to_settlement": 63.27,
      "dividend_yield": 0.013,
      "fair_basis": 29.19,
      "fair_value": 6012.39,
      "futures_price": 6021.5,
      "implied_index_price": 5992.31,
      "index_minus_implied": -9.11,
      "index_price": 5983.2,
      "premium": 9.11,
      "premium_bps": 15.23,
      "risk_free_rate": 0.0412,
      "start_time": 1792157400000,
      "state": "index_below_implied",
      "symbol": "SPX"
    }
  ],
  "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.