Financial Instruments Toolbox™ computes prices for caps, floors, and swaptions when modeling for negative interest-rates using the following:

Support the Normal volatility model (Bachelier model) for interest-rate options to handle negative rates:

The following functions provide an optional `Shift`

argument
to support the shifted Black model and the shifted SABR model for
interest-rate options to handle negative rates:

`blackvolbysabr`

(Shifted SABR)`optsensbysabr`

(Shifted SABR)`swaptionbyblk`

(Shifted Black)`capbyblk`

(Shifted Black)`floorbyblk`

(Shifted Black)`capvolstrip`

(Shifted Black)`floorvolstrip`

(Shifted Black)

The original authors of the SABR model provided a closed form approximation of the implied Black volatility in terms of the SABR model parameters (known as “Hagan’s formula”), so that the option price could be computed by inserting the computed SABR Black volatility into the Black formula:

$$Call(K,T)=Blac{k}_{call}(F,K,r,T,{\sigma}_{Black}(\alpha ,\beta ,\rho ,\nu ,F,K,T))$$

However, these methods started to break down with the introduction of negative interest rates, due to the assumption of the Black model that the underlying rates are lognormally distributed (and therefore cannot be negative).

In addition, even when the underlying rate is positive, the closed form approximation of the SABR implied Black volatility (Hagan et al., 2002) is known to become increasingly inaccurate as the strike approaches zero. Even without crossing the zero strike boundary, the implied probability density of the underlying rate at option expiry can become negative at low positive strikes, although probability densities clearly should not be negative:

Options with negative strikes cannot be represented by Black volatilities. To work around this problem, the market started to quote the cap, floor, and swaption prices also in terms of either Normal volatilities or Shifted Black volatilities. Instead of the Black model, both types of volatilities come from alternative models that allow negative rates.

The Normal volatilities are associated with the Normal model (also known as the Bachelier model):

where the underlying rates are assumed to be normally distributed. Unlike in a lognormal model (where rates have a lower bound), the rates in the Normal model can be both infinitely positive and infinitely negative.

The Shifted Black volatilities are associated with the Shifted Black model (also known as “Displaced Diffusion” or “Shifted Lognormal” model):

The Shifted
Black model is essentially the same as the Black model, except that
it models the movements of (*F* + *Shift*)
as the underlying asset, instead of *F* (where *F* is
the forward swap rate in the case of swaptions, and the forward rate
in the case of caplets and floorlets). So, the Shifted Black model
allows negative rates, with a fixed negative lower bound defined by
the amount of shift, that is, the zero lower bound of the Black model
has been shifted.

The introduction of negative interest rates also called for an update in the method for interpolating the volatilities quoted in the market. The following shows the connections between the volatilities and the SABR models:

As shown, the Black and Normal volatility approximations allow you to use the SABR model with the Black and Normal model option pricing formulas. However, although the Normal model itself allows negative rates and the SABR model has an implied Normal volatility approximation, the underlying dynamics of the SABR model do not allow negative rates, unless β = 0. In the Shifted SABR model, the Shifted Black volatility approximation can be used to allow negative rates with a fixed negative lower bound defined by the amount of shift.

You can compute the implied Normal volatility in terms of the SABR
model parameters, for either β = 0 (Normal SABR), or any other value of
β allowed by the SABR model (0 ≤ β ≤ 1) using `normalvolbysabr`

.

`normalvolbysabr`

computes the implied Normal volatility σ
_{N} in terms of the SABR model
parameters. Using `normalvolbysabr`

to compute σ _{N}, you can then you this
with other functions for Normal model pricing (for example, `capbynormal`

, `floorbynormal`

, and `swaptionbyblk`

).

`capbyblk`

| `capbynormal`

| `floorbyblk`

| `floorbynormal`

| `normalvolbysabr`

| `swaptionbyblk`

| `swaptionbynormal`

- Price Swaptions with Negative Strikes Using the Shifted SABR Model
- Calibrate the SABR Model using Normal (Bachelier) Volatilities with Negative Strikes