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¶
decaymetric -- next-trading-day P&L, weekend/holiday-aware. Compat layers expose onlytheta.- Field selection --
greeks=core,extra,exotic,chainto 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=SPXreturns 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.