Skip to main content
The formulas Rails uses to price options and compute Greeks. For a conceptual overview, see the Pricing & Greeks guide.

Notation

SymbolMeaning
FForward price of the underlying
KStrike price
σVolatility (implied volatility, annualized as a decimal — 0.55 = 55%)
rAnnualized risk-free rate
TTime to expiry, in years
N(x)Standard normal cumulative distribution function (CDF)
φ(x)Standard normal probability density function (PDF)
VOption (mark) price

Price (Black-76)

Rails prices options with the Black-76 model, which prices on the forward F rather than spot.
TermFormula
d1[ ln(F / K) + (σ² / 2) · T ] / (σ · √T)
d2d1 − σ · √T
CallV = e^(−rT) · [ F · N(d1) − K · N(d2) ]
PutV = e^(−rT) · [ K · N(−d2) − F · N(−d1) ]
The Get Contract Pricing endpoint inverts this model: given a candidate price V, it solves for the implied volatility σ, then computes the Greeks below.

Greeks

GreekFormulaNotes
DeltaCall: e^(−rT) · N(d1) · Put: −e^(−rT) · N(−d1)Per 1 change in F
Gammae^(−rT) · φ(d1) / (F · σ · √T)Same for calls and puts
Vegae^(−rT) · F · φ(d1) · √TPer 1.0 (100%) change in σ
Theta−[ e^(−rT) · F · φ(d1) · σ ] / (2 · √T) + r · VPer year
Rho−T · VPer 1.0 (100%) change in r

Normalization

The raw formulas above are normalized before they are published on the Contracts Stream and REST responses:
GreekPublished asConversion
VegaPer 1% IV changeraw ÷ 100
ThetaDaily decayraw ÷ 365
RhoPer 1% rate changeraw ÷ 100
Delta and gamma are published as computed.