Options Greeks API: Free Calculator and Live Market Greeks | FlashAlpha
optionsapi · 5 min read

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.

T
Tomasz Dobrowolski Quant Engineer
Mar 15, 2026
Updated Oct 16, 2026
5 min read
OptionsAPI Greeks BlackScholes PortfolioRisk

Choose the Inputs Before Choosing a Plan

TaskEndpointInputs and access
Learn the math or stress a hypothetical position/v1/pricing/greeksSupply 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 analyticsHistorical workflow and coverageAlpha 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.

Run a Reproducible Calculator Example

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:

FieldReference valueUnit for one underlying share
Theoretical price12.687211Dollars
Delta0.530030Change in option value per $1 spot change
Gamma0.013276Change in delta per $1 spot change
Theta−0.223599Dollars per calendar day
Vega0.660706Dollars per one volatility percentage point
Rho24.224395Derivative 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.

Discover a Contract Before Requesting Market Greeks

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.

Convert a Greek Into Position Risk

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.

Know the Model's Limits

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.

Frequently Asked Questions

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.

Live Market Pulse

Get fast visibility into market shifts with full-chain analytics over low-latency REST and MCP polling.

Intelligent Screening

Screen millions of option pairs per second using your custom EV rules, filters, and setups.

Export-Ready

Export structured signals to your own execution stack or broker integration - FlashAlpha delivers the analytics, you keep control of order routing.

Join the Community

Discord

Engage in real time conversations with us!

Twitter / X

Follow us for real-time updates and insights!

GitHub

Explore our open-source SDK, examples, and analytics resources!