Options Greeks API: Free Calculator and Live Market Greeks
Choose a Free BSM calculator with supplied inputs or Growth market option quotes. Runnable examples, explicit Greek units, finite-difference checks and model limitations.
Choose a Free BSM calculator with supplied inputs or Growth market option quotes. Runnable examples, explicit Greek units, finite-difference checks and model limitations.
| Task | Endpoint | Inputs and access |
|---|---|---|
| Learn the math or stress a hypothetical position | /v1/pricing/greeks | Supply spot, strike, DTE, IV, type, rate and dividend yield. Free: 5 requests/day. |
| Inspect a listed contract's market quote and Greeks | /optionquote/{ticker} | Discover expiry/strike first. Growth and above ($299/month on monthly billing). |
| Research archived option analytics | Historical workflow and coverage | Alpha and above; verify the symbol, timestamp and available fields. |
Access to a supplied-input calculator does not imply market-data access for the symbol used in your scenario. Use the options API evaluation guide when comparing complete research workflows.
Install flashalpha==1.3.0 (the official Python SDK checked on October 16, 2026), set FLASHALPHA_API_KEY locally, and run this one-request example:
import os
from flashalpha import FlashAlpha
fa = FlashAlpha(os.environ["FLASHALPHA_API_KEY"])
g = fa.greeks(spot=580, strike=580, dte=30, sigma=0.18,
type="call", r=0.045, q=0.013)
for name, value in g["first_order"].items():
print(name, value)
print("speed (third order):", g["third_order"]["speed"])
Hypothetical model inputs, not a live SPY quote: S = K = 580, 30 calendar days, annualized IV 18%, rate 4.5%, continuous dividend yield 1.3%. An independent BSM calculation gives approximately:
| Field | Reference value | Unit for one underlying share |
|---|---|---|
| Theoretical price | 12.687211 | Dollars |
| Delta | 0.530030 | Change in option value per $1 spot change |
| Gamma | 0.013276 | Change in delta per $1 spot change |
| Theta | −0.223599 | Dollars per calendar day |
| Vega | 0.660706 | Dollars per one volatility percentage point |
| Rho | 24.224395 | Derivative per 1.0 rate change; divide by 100 for a one-percentage-point move |
Download the independent finite-difference check or open the evaluation notebook. python greeks-check.py computes the reference locally with no API usage; python greeks-check.py --live makes one calculator request and compares it. These checks validate the example's model arithmetic, not a latency benchmark or an American-option pricing model.
The following Growth and above example makes two requests: list SPY metadata, then request calls for the first listed expiration after the UTC date. That conservative cutoff also excludes today's New York expiry. It never inserts a hardcoded past date or treats metadata as a quote.
import os
from datetime import datetime, timezone
from flashalpha import FlashAlpha
fa = FlashAlpha(os.environ["FLASHALPHA_API_KEY"])
meta = fa.options("SPY")
today = datetime.now(timezone.utc).date().isoformat()
dates = sorted(e["expiration"] for e in meta["expirations"]
if e["expiration"] > today)
if not dates:
raise RuntimeError("No listed future expiry returned")
quotes = fa.option_quote("SPY", expiry=dates[0], type="C")
rows = quotes if isinstance(quotes, list) else [quotes]
usable = [q for q in rows if q.get("gamma") is not None
and q.get("bid") is not None and q.get("ask") is not None
and q["bid"] >= 0 and q["ask"] >= q["bid"]
and q.get("lastUpdate") and not q["lastUpdate"].startswith("1970-")]
if not usable:
raise RuntimeError("No usable dated quotes; check market hours and API status")
q = min(usable, key=lambda q: q["ask"] - q["bid"])
print({k: q.get(k) for k in ["expiry", "strike", "type", "lastUpdate",
"bid", "ask", "implied_vol", "delta", "gamma", "theta", "vega"]})
The selected row is simply the narrowest quoted spread in the response, not a recommended contract. Check lastUpdate, quote age, liquidity, the returned IV and the market context. The quote response is flat; the calculator response uses first_order, second_order and third_order groups. See the option-quote contract for fields and errors. Stop on 401/403/429 rather than silently skipping inaccessible contracts.
For an unadjusted US equity contract, multiply each per-share Greek by signed contract quantity × 100. Ten long contracts with delta 0.53003 represent approximately +530.03 delta-equivalent shares. Three short contracts represent −159.009. A contract adjustment or futures multiplier requires its own specification.
Gamma times a $1 move gives the approximate change in position delta. It is different from dollar GEX per 1% move, which adds spot-squared scaling and a dealer-position assumption. Continue with the unit-labeled GEX calculation or the discrete hedging ledger.
The supplied-input calculator uses Black-Scholes-Merton with continuous dividend yield. Its time input is calendar days, converted to years using 365. This is a European exercise model; it does not price American early exercise or a schedule of discrete dividends. A model calculation can be internally correct while differing from an executable market quote.
Gamma is a second price derivative, vanna/charm/vomma are higher sensitivities grouped in second_order, and speed is third order, the derivative of gamma with respect to spot. Read returned units before aggregating risk: vega is scaled per volatility percentage point, while this calculator's rho is an unscaled rate derivative.
Check inputs near expiry and for illiquid contracts. IV calibration is a separate task: a last trade outside the current market, a zero bid or a stale quote can yield a misleading IV. No fixed response-time promise is established by this example.
The supplied-input /v1/pricing/greeks calculator is available on Free, with 5 requests/day. Market option quotes at /optionquote/{ticker} require Growth and above. A Free calculator call does not fetch live market data.
No. The calculator uses European Black-Scholes-Merton with continuous dividend yield. Early exercise and discrete dividends require additional modeling.
Theta is per calendar day and vega per one volatility percentage point, per underlying share. The calculator returns rho per 1.0 rate change; divide by 100 for a one-percentage-point rate move. Apply signed quantity and the correct contract multiplier for position risk.
Speed is third order: the derivative of gamma with respect to the underlying price. It is returned in the third_order group.
Discover listed expirations with /v1/options/{ticker}, choose an eligible date, then request quotes for that contract or expiration. Inspect quote timestamps and handle missing data and access errors explicitly.
Start with the independent calculator notebook. When your task needs actual contract quotes, follow the market-data workflow and compare plan access. Keep the model, unit conversions and quote timestamps visible in every evaluation.
by Tomasz Dobrowolski
by Tomasz Dobrowolski
by Tomasz Dobrowolski
Get fast visibility into market shifts with full-chain analytics over low-latency REST and MCP polling.
Screen millions of option pairs per second using your custom EV rules, filters, and setups.
Export structured signals to your own execution stack or broker integration - FlashAlpha delivers the analytics, you keep control of order routing.