Skip to main content
POST
/
quantlib
/
volatility
/
sabr
/
calibrate
Calibrate SABR Model
curl --request POST \
  --url https://finceptbackend.share.zrok.io/quantlib/volatility/sabr/calibrate \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "forward": 100,
  "expiry": 1,
  "strikes": [
    90,
    95,
    100,
    105,
    110
  ],
  "market_vols": [
    0.27,
    0.26,
    0.25,
    0.25,
    0.26
  ],
  "beta": 0.5,
  "method": "least_squares"
}
'
{
  "success": true,
  "data": {
    "alpha": 0.248,
    "beta": 0.5,
    "rho": -0.18,
    "nu": 0.32
  }
}

Authorizations

X-API-Key
string
header
required

API key for authentication. Get your key at https://finceptbackend.share.zrok.io/auth/register

Body

application/json
forward
number
required

Forward price of the underlying

Required range: x >= 0
Example:

100

expiry
number
required

Time to expiry in years

Required range: x >= 0
Example:

1

strikes
number[]
required

Array of market strike prices

Minimum array length: 3
Example:
[90, 95, 100, 105, 110]
market_vols
number[]
required

Array of market implied volatilities for each strike

Minimum array length: 3
Example:
[0.27, 0.26, 0.25, 0.25, 0.26]
beta
number

Fixed beta value (if provided, beta is not calibrated). Common: 0 (normal), 0.5 (CIR), 1 (lognormal)

Required range: 0 <= x <= 1
Example:

0.5

weights
number[]

Optional weights for each strike in calibration (e.g., vega-weighted)

Example:
[0.8, 1, 1.2, 1, 0.8]
method
enum<string>
default:least_squares

Optimization method: 'least_squares' (default), 'nelder_mead', 'powell'

Available options:
least_squares,
nelder_mead,
powell
Example:

"least_squares"

Response

Successful Response

success
boolean
Example:

true

data
object