Quant·Box

A quant desk
in one API.

Option pricing with full greeks, bond analytics, yield curve bootstrapping and Value-at-Risk — one hosted JSON API with consistent conventions. Built on QuantLib, the library trading desks actually use. No C++ build, no quant hire.

500 calls/month free · no credit card · key issued instantly

POST /v1/options/price200 · 14 ms
{"option_type":"call","spot":100,"strike":100,
 "rate":0.05,"volatility":0.20,"expiry_years":1}
price10.4506
delta0.6368
gamma0.0188
vega37.5240
theta / day-0.0176
rho53.2325
01

Endpoints

Five calculations, one convention sheet. Full schemas in /docs.
POST /v1/options/priceVanilla option price + delta, gamma, vega, theta, rho. European (analytic BSM) or American (binomial CRR).
request
curl -s https://quantbox.dev/v1/options/price \
  -H "X-API-Key: $KEY" -H "Content-Type: application/json" \
  -d '{"option_type":"put","exercise":"american",
       "spot":42,"strike":40,"rate":0.10,
       "volatility":0.20,"expiry_years":0.5}'
response
{
  "price": 0.9087,
  "greeks": { "delta": -0.2578, "gamma": 0.0627,
              "vega": 9.271, "theta": -1.0398, ... },
  "model": "binomial_crr_800_steps",
  "conventions": { "rate": "continuously compounded, act/365", ... }
}
POST /v1/options/implied-volBack out Black-Scholes implied volatility from a market price. Clear 422 outside no-arbitrage bounds.
request
curl -s .../v1/options/implied-vol \
  -H "X-API-Key: $KEY" -H "Content-Type: application/json" \
  -d '{"option_type":"call","spot":100,"strike":105,
       "rate":0.03,"expiry_years":0.25,"market_price":2.10}'
response
{
  "implied_volatility": 0.1878,
  "conventions": { "volatility": "annualized, decimal", ... }
}
POST /v1/bonds/priceFixed-rate bond from a flat yield or your zero curve: clean/dirty price, accrued, YTM, duration, convexity, BPV.
request
curl -s .../v1/bonds/price \
  -H "X-API-Key: $KEY" -H "Content-Type: application/json" \
  -d '{"coupon_rate":0.05,"issue_date":"2024-07-01",
       "maturity_date":"2029-07-01","settlement_date":"2026-07-01",
       "frequency":"annual","day_count":"act/act","yield_rate":0.04}'
response
{
  "clean_price": 102.7641, "dirty_price": 102.7641,
  "accrued": 0.0, "ytm": 0.04,
  "modified_duration": 2.754, "convexity": 10.4298,
  "bpv": -0.0283,
  "conventions": { "prices": "per 100 of face value", ... }
}
POST /v1/curves/bootstrapDiscount curve from deposit + swap quotes: discount factors and zero rates at every pillar.
request
curl -s .../v1/curves/bootstrap \
  -H "X-API-Key: $KEY" -H "Content-Type: application/json" \
  -d '{"deposits":[{"tenor":"3M","rate":0.031},{"tenor":"6M","rate":0.032}],
       "swaps":[{"tenor":"2Y","rate":0.034},{"tenor":"5Y","rate":0.036}],
       "output_tenors":["1Y","2Y","5Y"]}'
response
{
  "points": [
    { "tenor": "1Y", "years": 1.0027,
      "discount_factor": 0.96789, "zero_rate": 0.03256 },
    ...
  ],
  "conventions": { "interpolation": "log-linear on discount factors", ... }
}
POST /v1/risk/varHistorical + parametric VaR and Expected Shortfall on your return series or positions × returns matrix. Your data stays yours.
request
curl -s .../v1/risk/var \
  -H "X-API-Key: $KEY" -H "Content-Type: application/json" \
  -d '{"returns":[-0.012,0.004,0.009,-0.021, ...],
       "confidence":0.99,"horizon_days":10,
       "portfolio_value":2500000}'
response
{
  "historical":        { "var": { "amount": 214380.11, ... }, ... },
  "parametric_normal": { "var": { "amount": 198412.55, ... }, ... },
  "assumptions": { "horizon_scaling": "sqrt(horizon_days), iid", ... }
}
02

Playground

Live against the real API — each run counts toward your free quota.

Sign up above, then price an option. The response lands here exactly as your backend would receive it — greeks, model, conventions.

03

Pricing

Flat monthly tiers. Start free, upgrade when you ship.
PlanPriceIncluded calls / monthFor
Free €0 500 Evaluate, prototype, backtest an idea
Starter €49/mo 10,000 A feature in production
Growth €299/mo 100,000 Pricing & risk across your product
Scale €999/mo 1,000,000 Heavy compute + priority support

Billing runs on Stripe. Cancel anytime from the checkout portal. Overage above a tier: we get in touch before anything is blocked.

04

Notes for the diligent

Conventions, written down

Every response carries its conventions object — day counts, compounding, units, model. No guessing what a number means, no silent defaults. The same conventions run through all five endpoints.

Your data, our compute

Quant-Box ships no market data. You send terms and quotes, we send back numbers. Nothing you post is stored beyond the request, and your series never train anything.

Standing on QuantLib

Calculations run on QuantLib, the open-source library behind countless trading desks, wrapped with strict input validation and golden-value tests against textbook results.