Skip to content

From Orats — Strikes Data

Looking for a second source of option Greeks alongside Orats, or an independent set of Greeks to compare against your Orats SMV? Lavender delivers independently computed Greeks through Orats' own wire format — no code changes required.

Already fetching option Greeks and volatility data from Orats? Swap the host — your existing code works unchanged.

Beta compatibility

This compatibility layer has automated test coverage but has not yet been validated against live Orats API traffic. If you encounter any inconsistencies with Orats' wire format, please contact support@lavender-ts.com.

What Changes

curl -H "Authorization: Bearer YOUR_Orats_TOKEN" \
     "https://api.orats.io/datav2/strikes?ticker=SPY&dte=0,30"
#      ^^^^^^^^^^^^^^^^^
curl "http://localhost:2112/datav2/strikes?ticker=SPY&dte=0,30"
#     ^^^^^^^^^^^^^^^^^^^^^^^^^^^

Swap the host. Your token parameter or auth header is accepted and ignored.

Try it in your browser

http://localhost:2112/datav2/strikes?ticker=SPY&dte=0,30&format=html

Paste this into any browser to see Orats-format Greeks rendered as an HTML table. No code needed.

Same Response Format

The JSON you get back has the same data array with one row per (expiration, strike) — both call and put data in the same row, just like Orats:

{
  "data": [
    {
      "ticker": "SPY",
      "tradeDate": "2026-03-14",
      "expirDate": "2026-12-18",
      "dte": 279,
      "strike": 570.0,
      "stockPrice": 567.41,
      "spotPrice": 567.41,
      "callVolume": 0,
      "callOpenInterest": 0,
      "callBidSize": 0,
      "callAskSize": 0,
      "callBidPrice": 0,
      "callAskPrice": 0,
      "callValue": 18.23,
      "callBidIv": 0.2100,
      "callMidIv": 0.2346,
      "callAskIv": 0.2592,
      "putVolume": 0,
      "putOpenInterest": 0,
      "putBidSize": 0,
      "putAskSize": 0,
      "putBidPrice": 0,
      "putAskPrice": 0,
      "putValue": 0.82,
      "putBidIv": 0.2150,
      "putMidIv": 0.2346,
      "putAskIv": 0.2542,
      "extCallValue": 18.23,
      "extPutValue": 0.82,
      "smvVol": 0.2346,
      "extSmvVol": 0.2346,
      "delta": 0.9512,
      "gamma": 0.0223,
      "theta": -0.0877,
      "vega": 0.2514,
      "rho": 0.3124,
      "phi": 0,
      "driftlessTheta": -0.0877,
      "residualRate": 0,
      "updatedAt": "2026-03-14T12:00:00Z"
    }
  ]
}

Market data fields are zeroed

Fields like callBidPrice, callAskPrice, callVolume, callOpenInterest (and their put-side equivalents) are zeroed. The Greeks, IV, and model value fields contain Lavender's computed values.


Endpoint

GET /datav2/strikes

Parameters

Parameter Type Required Description
ticker string Yes Underlying ticker (e.g., SPY). Comma-delimited supported; first symbol is used
token string No API key — accepted and ignored
dte string No DTE range filter as min,max (e.g., 0,30 for 0–30 days)
delta string No Call-side delta range as min,max (e.g., .20,.80)

Response Fields

Row Structure

Each element in the data array represents a single (expiration, strike) pair. Both call and put data appear in the same row — this matches Orats convention and differs from per-contract vendors.

Identification

Field Type Description
ticker string Underlying symbol
tradeDate string Current date (YYYY-MM-DD)
expirDate string Expiration date (YYYY-MM-DD)
dte integer Calendar days to expiration
strike number Strike price
stockPrice number Current underlying price
spotPrice number Same as stockPrice

Model Values

Field Type Description
callValue number Theoretical call price
putValue number Theoretical put price
extCallValue number Same as callValue
extPutValue number Same as putValue

Implied Volatility

Field Type Description
callBidIv number Call IV at bid
callMidIv number Call IV at mid
callAskIv number Call IV at ask
putBidIv number Put IV at bid
putMidIv number Put IV at mid
putAskIv number Put IV at ask
smvVol number Smoothed model volatility
extSmvVol number Same as smvVol

Greeks

Greeks are call-sidedelta ranges from 0 to 1. To get put delta, subtract 1 (put delta = delta − 1).

Field Type Description
delta number \(\partial V / \partial S\) — call-side (0 to 1)
gamma number \(\partial^2 V / \partial S^2\)
theta number \(\partial V / \partial t\) — per calendar day
vega number \(\partial V / \partial \sigma\)
rho number \(\partial V / \partial r\)
phi number Dividend rho (always 0)
driftlessTheta number Theta excluding drift (same as theta)
residualRate number Always 0
updatedAt string Timestamp (ISO 8601)

Greek Scaling

All Greeks are in natural units. Theta is returned per calendar day. All output values are rounded to 4 decimal places.

Call-side Greeks

Following Orats convention, delta is call delta (0 to 1). For put delta, compute delta - 1. Gamma, theta, vega, and rho are the same for both sides of a strike.

Migrating from Orats

One change:

  1. Base URL — replace https://api.orats.io with http://localhost:2112

Your token parameter is accepted and ignored — leave it or remove it.

The endpoint path, query parameters, response shape, and field names are identical.

How Lavender's Greeks Compare

Orats is one of the most advanced option analytics platforms available — its SMV methodology, residual yield approach, and early exercise handling set the standard. If you're using Orats today, your Greeks already account for many effects that simpler models miss.

Running Lavender alongside Orats gives you a second, independently computed perspective on the same contracts:

  • Independent model — Lavender computes Greeks using different modeling assumptions. Where the two reports agree, you have confirmation. Where they diverge — particularly around ex-dates, deep ITM, or illiquid strikes — you have a signal worth investigating.
  • Two views of time decay — conventional theta (\(\partial V / \partial t\)) on this endpoint, plus a separate decay metric (expected change to next trading day, accounting for weekends and holidays) on the Lavender API. The difference between theta and decay is most visible over weekends and around market holidays.
  • Extended Greeks — access second and third-order Greeks via the Lavender API.

Migrating to the Lavender Native API

ORATS Lavender API
ticker root
expirDate expiry
smvVol lav_vol
callValue / putValue lav_theo
delta (call-side only) delta (per contract)

Error Responses

Status Condition
200 Success
400 Missing ticker parameter
502 Upstream data unavailable