Skip to content

Migrating from a Compat Layer to the Lavender API

The vendor compatibility layers let you drop Gateway into your existing pipeline by swapping a host -- no code changes. Once you're running side-by-side and want Lavender's full feature set (extended Greeks, the decay metric, server-side filtering, four output formats, multi-root support), migrating to the Lavender native API is the next step.

What you unlock

  • decay metric -- next-trading-day P&L, weekend/holiday-aware. Compat layers expose only theta.
  • Field selection -- greeks=core,extra,exotic,chain to pay for only the columns you use.
  • Server-side filtering -- min_strike/max_strike, min_dte/max_dte, min_delta/max_delta, moneyness, center=atf, strike_count, sort, limit.
  • Multi-root support -- underlying=SPX returns SPX + SPXW combined.
  • Term-structure mode -- one row per expiry at the at-the-forward strike.
  • All four output formats on every endpoint -- JSON / CSV / NDJSON / HTML.

The math doesn't change. Compat and native return the same calibrated American Greeks with discrete dividends and per-expiry implied borrow. Migrating just renames fields and unlocks more of them.

Field-rename tables by vendor

Each compat page already carries its own rename table -- pick yours:

Cross-cutting gotchas

Greek scaling

The Lavender native API uses per-1% for vega, rho, and epsilon. Check the "Differences" section on your specific compat page for any vendor-specific scaling caveat.

Theta vs decay

Field Available on Meaning
theta All compat layers + native Continuous \(\partial V / \partial t\), per calendar day
decay Native API only Expected price change to the same time on the next trading day -- weekend/holiday-aware

For trader-intuitive position checks ("what does this lose by tomorrow?"), decay is what you want. It's the single biggest reason to migrate off a compat layer.

Bid / ask are always zero

All compat layers return bid = ask = 0.0. Lavender computes Greeks; it does not redistribute OPRA quotes. Native API also does not return market quotes -- migrating doesn't change this.

Multi-root indexes

Most compat layers accept a single symbol/root per request. Querying SPX returns SPX only; SPXW needs a second request.

The native API's underlying=SPX parameter returns SPX and SPXW combined. Use root=SPXW to ask for one specific root.

See also