Skip to main content

Risk Scenarios

HTTP Request

POST /api/v1/global/scenarios/riskScenarios

Returns Risk scenarios including instruments values and P&Ls for a list of vanilla options, forwards and perps
Risk scenarios are defined by given forward price shifts and parallel vol-surface shifts

We recommend to use the same baseCurrency/quoteCurrency and single source in request instruments array per each request

Supported exchanges and assets (baseCurrency/quoteCurrency)
DERIBIT: BTC/USD, ETH/USD, SOL/USDC, XRP/USDC
OKX: BTC/USD, ETH/USD
BYBIT: BTC/USDC, ETH/USDC, SOL/USDC

The request body model must contain array of riskScenarioInstruments ranging in size from 1 to 100 and also riskScenarioParameters model

Request RiskScenarioInstrument JSON model parameters

ParameterTypeRequiredDescription
instrumentIdStringYesUser defined unique instrument ID
sizeNumYesPosition size (positive for LONG, negative for SHORT)
baseCurrencyStringYesBase currency ticker:
BTC,
ETH,
SOL,
XRP
quoteCurrencyStringYesQuote currency ticker:
USD,
USDC
sourceStringYesExchange type:
DERIBIT,
OKX,
BYBIT
priceMethodStringYesCalculation method: DERIBIT, OKX, BYBIT, OTC
Each method represent instrument valuation model used by exchange. As of now 'OTC' equals to 'DERIBIT'
instrumentTypeStringYesInstrument type:
CALL,
PUT,
FORWARD,
PERPETUAL,
SPOT
inverseBooleanNoFORWARD/PERPETUAL:
false for linear instruments, true for inverse instruments

CALL/PUT:
inverse = true for
DERIBIT: BTC/USD, ETH/USD and OKX: BTC/USD, ETH/USD
inverse = false for
DERIBIT: SOL/USDC, XRP/USDC
BYBIT: BTC/USDC, ETH/USDC, SOL/USDCbr/>Not required for instrumentType SPOT
volatilityModelStringNoinstrumentType: CALL/PUT
SVI, SABR, VANNA_VOLGA
Volatility model is calibrated to the Exchange given by the source
Not required for instrumentType FORWARD/PERPETUAL/SPOT
expirationTimestampNumNoinstrumentType: CALL/PUT
Instrument expiration timestamp (in seconds)
Must be >= current timestamp
Not required for instrumentType SPOT
strikeNumNoinstrumentType: CALL/PUT
Required. Option strike, must be > 0
instrumentType: FORWARD/PERPETUAL
Not required, but if given, equals to forward strike price.
instrumentType: SPOT
Not required.

Request RiskScenarioParameters JSON model parameters

ParameterTypeDescription
priceRangeStepsNumNumber of steps for the priceRange
Example: priceRange = 0.2, priceRangeSteps = 4
The scenarios output will generate 9 different price shifts (scenario) from -4 to 4
[-4, -3, -2, -1, 0, 1, 2, 3, 4]
which corresponds to the following percentage forwardPrice shift
[-0.2, -0.15, -0.1, -0.05, 0, 0.05, 0.1, 0.15, 0.2]
priceRangeNumMax percent forwardPrice shift
volRangeUpNumAbsolute up shift in implied volatility. Example:
volatility = 0.54, volRangeUp = 0.05, shifted volatility = 0.59
volRangeDownNumAbsolute down shift in implied volatility. Example:
volatility = 0.54, volRangeDown = 0.05, shifted volatility = 0.49

Response RiskScenarioInstrument JSON model parameters

ParameterTypeDescription
instrumentIdStringUser defined instrumentId
sizeNumUser defined size
baseCurrencyStringUser defined baseCurrency
quoteCurrencyStringUser defined quoteCurrency
sourceStringUser defined source
instrumentTypeStringUser defined instrumentType
inverseBooleanUser defined inverse
Null for instrumentType SPOT
volatilityModelStringUser defined volatilityModel
Null for instrumentType FORWARD/PERPETUAL/SPOT
expirationTimestampNumInstrument expiration timestamp (in seconds)
Null for instrumentType SPOT
observationTimestampNumInstrument observation timestamp (in seconds)
strikeNumInstrument strike
Null for instrumentType SPOT
spotPriceNumCurrent spot price
forwardPriceNumCurrent forward price (or perpetual price for instrumentType = PERPETUAL)
Null for instrumentType SPOT
instrumentPriceNumCurrent instrument price
Null for instrumentType SPOT
volatilityNumCurrent instrument implied volatility at strike
Null for instrumentType FORWARD/PERPETUAL/SPOT
volUpNumUp shifted implied volatility
volDownNumDown shifted implied volatility

Response RiskScenarioItem JSON model parameters

ParameterTypeDescription
scenarioNumScenario number
spotPriceNumScenario spot price
forwardPriceNumScenario forward price
priceVolUpNumInstrument percent price, up shifted volatility
priceVolUnchNumInstrument percent price, current market volatility
priceVolDownNumInstrument percent price, down shifted volatility
basePlVolUpNumbaseCurrency P&L, up shifted volatility
basePlVolUnchNumbaseCurrency P&L, current market volatility
basePlVolDownNumbaseCurrency P&L, down shifted volatility
quotePlVolUpNumquoteCurrency P&L, up shifted volatility
quotePlVolUnchNumquoteCurrency P&L, current market volatility
quotePlVolDownNumquoteCurrency P&L, down shifted volatility
baseValueVolUpNumbase currency instrument value, up shifted volatility
baseValueVolUnchNumbase currency instrument value, current market volatility
baseValueVolDownNumbase currency instrument value, down shifted volatility
baseDeltaUpNumbase currency delta, up shifted volatility
baseDeltaUnchNumbase currency delta, current market volatility
baseDeltaDownNumbase currency delta, down shifted volatility
baseGammaUpNumbase currency gamma, up shifted volatility
baseGammaUnchNumbase currency gamma, current market volatility
baseGammaDownNumbase currency gamma, down shifted volatility
baseNetDeltaUpNumbase currency net delta, up shifted volatility
baseNetDeltaUnchNumbase currency net delta, current market volatility
baseNetDeltaDownNumbase currency net delta, down shifted volatility
baseThetaUpNumbase currency theta, up shifted volatility
baseThetaUnchNumbase currency theta, current market volatility
baseThetaDownNumbase currency theta, down shifted volatility
baseVegaUpNumbase currency vega, up shifted volatility
baseVegaUnchNumbase currency vega, current market volatility
baseVegaDownNumbase currency vega, down shifted volatility
baseVolgaUpNumbase currency volga, up shifted volatility
baseVolgaUnchNumbase currency volga, current market volatility
baseVolgaDownNumbase currency volga, down shifted volatility
baseVannaUpNumbase currency vanna, up shifted volatility
baseVannaUnchNumbase currency vanna, current market volatility
baseVannaDownNumbase currency vanna, down shifted volatility
Request Example
POST /api/v1/global/riskScenario
body
{
"riskScenarioInstruments": [
{
"instrumentId": "BTC-28MAR25-FORWARD-LINEAR",
"size": 280000,
"baseCurrency": "BTC",
"quoteCurrency": "USD",
"source": "DERIBIT",
"priceMethod": "DERIBIT",
"instrumentType": "FORWARD",
"inverse": false,
"volatilityModel": "SVI",
"expirationTimestamp": 1743148800,
"strike": 70000.0
}
],
"riskScenarioParameters": {
"priceRangeSteps": 4,
"priceRange": 0.2,
"volRangeUp": 0.5,
"volRangeDown": 0.25
}
}
Response Example
{
"riskScenarioInstrumentResults": [
{
"instrumentId": "BTC-28MAR25-FORWARD-LINEAR",
"size": 280000.0,
"baseCurrency": "BTC",
"quoteCurrency": "USD",
"source": "DERIBIT",
"instrumentType": "FORWARD",
"inverse": false,
"volatilityModel": "SVI",
"expirationTimestamp": 1743148800,
"observationTimestamp": 1730471122,
"strike": 70000.0,
"spotPrice": 71308.14,
"forwardPrice": 74604.84999999998,
"instrumentPrice": 74604.84999999998,
"volatility": null,
"volUp": 0.0,
"volDown": 0.0,
"riskScenarioItems": [
{
"scenario": -4,
"spotPrice": 57046.512,
"forwardPrice": 59683.87999999998,
"priceVolUp": 59683.87999999998,
"priceVolUnch": 59683.87999999998,
"priceVolDown": 59683.87999999998,
"basePlVolUp": -50634.35955558518,
"basePlVolUnch": -50634.35955558518,
"basePlVolDown": -50634.35955558518,
"quotePlVolUp": -2.888513600000005E9,
"quotePlVolUnch": -2.888513600000005E9,
"quotePlVolDown": -2.888513600000005E9,
"baseValueVolUp": -50634.35955558518,
"baseValueVolUnch": -50634.35955558518,
"baseValueVolDown": -50634.35955558518,
"baseDeltaUp": 292944.9288678683,
"baseDeltaUnch": 292944.9288678683,
"baseDeltaDown": 292944.9288678683,
"baseGammaUp": 0.0,
"baseGammaUnch": 0.0,
"baseGammaDown": 0.0,
"baseNetDeltaUp": 292944.9288678683,
"baseNetDeltaUnch": 292944.9288678683,
"baseNetDeltaDown": 292944.9288678683,
"baseThetaUp": 0.0,
"baseThetaUnch": 0.0,
"baseThetaDown": 0.0,
"baseVegaUp": 0.0,
"baseVegaUnch": 0.0,
"baseVegaDown": 0.0,
"baseVolgaUp": 0.0,
"baseVolgaUnch": 0.0,
"baseVolgaDown": 0.0,
"baseVannaUp": 0.0,
"baseVannaUnch": 0.0,
"baseVannaDown": 0.0
},
{
"scenario": -3,
"spotPrice": 60611.918999999994,
"forwardPrice": 63414.122499999976,
"priceVolUp": 63414.122499999976,
"priceVolUnch": 63414.122499999976,
"priceVolDown": 63414.122499999976,
"basePlVolUp": -30423.81317773501,
"basePlVolUnch": -30423.81317773501,
"basePlVolDown": -30423.81317773501,
"quotePlVolUp": -1.844045700000007E9,
"quotePlVolUnch": -1.844045700000007E9,
"quotePlVolDown": -1.844045700000007E9,
"baseValueVolUp": -30423.81317773501,
"baseValueVolUnch": -30423.81317773501,
"baseValueVolDown": -30423.81317773501,
"baseDeltaUp": 292944.9288678683,
"baseDeltaUnch": 292944.9288678683,
"baseDeltaDown": 292944.9288678683,
"baseGammaUp": 0.0,
"baseGammaUnch": 0.0,
"baseGammaDown": 0.0,
"baseNetDeltaUp": 292944.9288678683,
"baseNetDeltaUnch": 292944.9288678683,
"baseNetDeltaDown": 292944.9288678683,
"baseThetaUp": 0.0,
"baseThetaUnch": 0.0,
"baseThetaDown": 0.0,
"baseVegaUp": 0.0,
"baseVegaUnch": 0.0,
"baseVegaDown": 0.0,
"baseVolgaUp": 0.0,
"baseVolgaUnch": 0.0,
"baseVolgaDown": 0.0,
"baseVannaUp": 0.0,
"baseVannaUnch": 0.0,
"baseVannaDown": 0.0
},
{
"scenario": -2,
"spotPrice": 64177.326,
"forwardPrice": 67144.36499999998,
"priceVolUp": 67144.36499999998,
"priceVolUnch": 67144.36499999998,
"priceVolDown": 67144.36499999998,
"basePlVolUp": -12458.88306409037,
"basePlVolUnch": -12458.88306409037,
"basePlVolDown": -12458.88306409037,
"quotePlVolUp": -7.995778000000067E8,
"quotePlVolUnch": -7.995778000000067E8,
"quotePlVolDown": -7.995778000000067E8,
"baseValueVolUp": -12458.88306409037,
"baseValueVolUnch": -12458.88306409037,
"baseValueVolDown": -12458.88306409037,
"baseDeltaUp": 292944.9288678683,
"baseDeltaUnch": 292944.9288678683,
"baseDeltaDown": 292944.9288678683,
"baseGammaUp": 0.0,
"baseGammaUnch": 0.0,
"baseGammaDown": 0.0,
"baseNetDeltaUp": 292944.9288678683,
"baseNetDeltaUnch": 292944.9288678683,
"baseNetDeltaDown": 292944.9288678683,
"baseThetaUp": 0.0,
"baseThetaUnch": 0.0,
"baseThetaDown": 0.0,
"baseVegaUp": 0.0,
"baseVegaUnch": 0.0,
"baseVegaDown": 0.0,
"baseVolgaUp": 0.0,
"baseVolgaUnch": 0.0,
"baseVolgaDown": 0.0,
"baseVannaUp": 0.0,
"baseVannaUnch": 0.0,
"baseVannaDown": 0.0
},
{
"scenario": -1,
"spotPrice": 67742.733,
"forwardPrice": 70874.60749999997,
"priceVolUp": 70874.60749999997,
"priceVolUnch": 70874.60749999997,
"priceVolDown": 70874.60749999997,
"basePlVolUp": 3615.0017744337447,
"basePlVolUnch": 3615.0017744337447,
"basePlVolDown": 3615.0017744337447,
"quotePlVolUp": 2.4489009999999136E8,
"quotePlVolUnch": 2.4489009999999136E8,
"quotePlVolDown": 2.4489009999999136E8,
"baseValueVolUp": 3615.0017744337447,
"baseValueVolUnch": 3615.0017744337447,
"baseValueVolDown": 3615.0017744337447,
"baseDeltaUp": 292944.9288678683,
"baseDeltaUnch": 292944.9288678683,
"baseDeltaDown": 292944.9288678683,
"baseGammaUp": 0.0,
"baseGammaUnch": 0.0,
"baseGammaDown": 0.0,
"baseNetDeltaUp": 292944.9288678683,
"baseNetDeltaUnch": 292944.9288678683,
"baseNetDeltaDown": 292944.9288678683,
"baseThetaUp": 0.0,
"baseThetaUnch": 0.0,
"baseThetaDown": 0.0,
"baseVegaUp": 0.0,
"baseVegaUnch": 0.0,
"baseVegaDown": 0.0,
"baseVolgaUp": 0.0,
"baseVolgaUnch": 0.0,
"baseVolgaDown": 0.0,
"baseVannaUp": 0.0,
"baseVannaUnch": 0.0,
"baseVannaDown": 0.0
},
{
"scenario": 0,
"spotPrice": 71308.14,
"forwardPrice": 74604.84999999998,
"priceVolUp": 74604.84999999998,
"priceVolUnch": 74604.84999999998,
"priceVolDown": 74604.84999999998,
"basePlVolUp": 18081.49812910551,
"basePlVolUnch": 18081.49812910551,
"basePlVolDown": 18081.49812910551,
"quotePlVolUp": 1.2893579999999936E9,
"quotePlVolUnch": 1.2893579999999936E9,
"quotePlVolDown": 1.2893579999999936E9,
"baseValueVolUp": 18081.49812910551,
"baseValueVolUnch": 18081.49812910551,
"baseValueVolDown": 18081.49812910551,
"baseDeltaUp": 292944.9288678683,
"baseDeltaUnch": 292944.9288678683,
"baseDeltaDown": 292944.9288678683,
"baseGammaUp": 0.0,
"baseGammaUnch": 0.0,
"baseGammaDown": 0.0,
"baseNetDeltaUp": 292944.9288678683,
"baseNetDeltaUnch": 292944.9288678683,
"baseNetDeltaDown": 292944.9288678683,
"baseThetaUp": 0.0,
"baseThetaUnch": 0.0,
"baseThetaDown": 0.0,
"baseVegaUp": 0.0,
"baseVegaUnch": 0.0,
"baseVegaDown": 0.0,
"baseVolgaUp": 0.0,
"baseVolgaUnch": 0.0,
"baseVolgaDown": 0.0,
"baseVannaUp": 0.0,
"baseVannaUnch": 0.0,
"baseVannaDown": 0.0
},
{
"scenario": 1,
"spotPrice": 74873.547,
"forwardPrice": 78335.09249999998,
"priceVolUp": 78335.09249999998,
"priceVolUnch": 78335.09249999998,
"priceVolDown": 78335.09249999998,
"basePlVolUp": 31170.232926189477,
"basePlVolUnch": 31170.232926189477,
"basePlVolDown": 31170.232926189477,
"quotePlVolUp": 2.3338258999999957E9,
"quotePlVolUnch": 2.3338258999999957E9,
"quotePlVolDown": 2.3338258999999957E9,
"baseValueVolUp": 31170.232926189477,
"baseValueVolUnch": 31170.232926189477,
"baseValueVolDown": 31170.232926189477,
"baseDeltaUp": 292944.9288678683,
"baseDeltaUnch": 292944.9288678683,
"baseDeltaDown": 292944.9288678683,
"baseGammaUp": 0.0,
"baseGammaUnch": 0.0,
"baseGammaDown": 0.0,
"baseNetDeltaUp": 292944.9288678683,
"baseNetDeltaUnch": 292944.9288678683,
"baseNetDeltaDown": 292944.9288678683,
"baseThetaUp": 0.0,
"baseThetaUnch": 0.0,
"baseThetaDown": 0.0,
"baseVegaUp": 0.0,
"baseVegaUnch": 0.0,
"baseVegaDown": 0.0,
"baseVolgaUp": 0.0,
"baseVolgaUnch": 0.0,
"baseVolgaDown": 0.0,
"baseVannaUp": 0.0,
"baseVannaUnch": 0.0,
"baseVannaDown": 0.0
},
{
"scenario": 2,
"spotPrice": 78438.95400000001,
"forwardPrice": 82065.33499999998,
"priceVolUp": 82065.33499999998,
"priceVolUnch": 82065.33499999998,
"priceVolDown": 82065.33499999998,
"basePlVolUp": 43069.0827417203,
"basePlVolUnch": 43069.0827417203,
"basePlVolDown": 43069.0827417203,
"quotePlVolUp": 3.3782937999999933E9,
"quotePlVolUnch": 3.3782937999999933E9,
"quotePlVolDown": 3.3782937999999933E9,
"baseValueVolUp": 43069.0827417203,
"baseValueVolUnch": 43069.0827417203,
"baseValueVolDown": 43069.0827417203,
"baseDeltaUp": 292944.9288678682,
"baseDeltaUnch": 292944.9288678682,
"baseDeltaDown": 292944.9288678682,
"baseGammaUp": 0.0,
"baseGammaUnch": 0.0,
"baseGammaDown": 0.0,
"baseNetDeltaUp": 292944.9288678682,
"baseNetDeltaUnch": 292944.9288678682,
"baseNetDeltaDown": 292944.9288678682,
"baseThetaUp": 0.0,
"baseThetaUnch": 0.0,
"baseThetaDown": 0.0,
"baseVegaUp": 0.0,
"baseVegaUnch": 0.0,
"baseVegaDown": 0.0,
"baseVolgaUp": 0.0,
"baseVolgaUnch": 0.0,
"baseVolgaDown": 0.0,
"baseVannaUp": 0.0,
"baseVannaUnch": 0.0,
"baseVannaDown": 0.0
},
{
"scenario": 3,
"spotPrice": 82004.36099999999,
"forwardPrice": 85795.57749999997,
"priceVolUp": 85795.57749999997,
"priceVolUnch": 85795.57749999997,
"priceVolDown": 85795.57749999997,
"basePlVolUp": 53933.249964596296,
"basePlVolUnch": 53933.249964596296,
"basePlVolDown": 53933.249964596296,
"quotePlVolUp": 4.422761699999991E9,
"quotePlVolUnch": 4.422761699999991E9,
"quotePlVolDown": 4.422761699999991E9,
"baseValueVolUp": 53933.249964596296,
"baseValueVolUnch": 53933.249964596296,
"baseValueVolDown": 53933.249964596296,
"baseDeltaUp": 292944.9288678683,
"baseDeltaUnch": 292944.9288678683,
"baseDeltaDown": 292944.9288678683,
"baseGammaUp": 0.0,
"baseGammaUnch": 0.0,
"baseGammaDown": 0.0,
"baseNetDeltaUp": 292944.9288678683,
"baseNetDeltaUnch": 292944.9288678683,
"baseNetDeltaDown": 292944.9288678683,
"baseThetaUp": 0.0,
"baseThetaUnch": 0.0,
"baseThetaDown": 0.0,
"baseVegaUp": 0.0,
"baseVegaUnch": 0.0,
"baseVegaDown": 0.0,
"baseVolgaUp": 0.0,
"baseVolgaUnch": 0.0,
"baseVolgaDown": 0.0,
"baseVannaUp": 0.0,
"baseVannaUnch": 0.0,
"baseVannaDown": 0.0
},
{
"scenario": 4,
"spotPrice": 85569.768,
"forwardPrice": 89525.81999999996,
"priceVolUp": 89525.81999999996,
"priceVolUnch": 89525.81999999996,
"priceVolDown": 89525.81999999996,
"basePlVolUp": 63892.06991889928,
"basePlVolUnch": 63892.06991889928,
"basePlVolDown": 63892.06991889928,
"quotePlVolUp": 5.46722959999999E9,
"quotePlVolUnch": 5.46722959999999E9,
"quotePlVolDown": 5.46722959999999E9,
"baseValueVolUp": 63892.06991889928,
"baseValueVolUnch": 63892.06991889928,
"baseValueVolDown": 63892.06991889928,
"baseDeltaUp": 292944.9288678683,
"baseDeltaUnch": 292944.9288678683,
"baseDeltaDown": 292944.9288678683,
"baseGammaUp": 0.0,
"baseGammaUnch": 0.0,
"baseGammaDown": 0.0,
"baseNetDeltaUp": 292944.9288678683,
"baseNetDeltaUnch": 292944.9288678683,
"baseNetDeltaDown": 292944.9288678683,
"baseThetaUp": 0.0,
"baseThetaUnch": 0.0,
"baseThetaDown": 0.0,
"baseVegaUp": 0.0,
"baseVegaUnch": 0.0,
"baseVegaDown": 0.0,
"baseVolgaUp": 0.0,
"baseVolgaUnch": 0.0,
"baseVolgaDown": 0.0,
"baseVannaUp": 0.0,
"baseVannaUnch": 0.0,
"baseVannaDown": 0.0
}
]
}
]
}