Skip to content
All library documents

How Zero-Shift Changes SABR Calibration and Swaption Vega

Article Quant Q&A · Author: Kiann

Summary

The document examines how changing the shift in a SABR model affects recalibrated parameters and swaption sensitivities. It describes experiments that fit shifted SABR to a constructed volatility set, first freeing correlation and volatility of volatility, then also allowing the ATM volatility parameter to vary. In the limited-parameter fit, error rises as the shift increases; freeing the ATM parameter produces a much better fit, with ATM volatility and correlation moving substantially while volatility of volatility changes little.

The author also compares vega profiles under two shift settings after recalibration. The discussion characterizes ATM volatility sensitivity as resembling a standard vega profile, correlation sensitivity as positive above and negative below the forward, and volatility-of-volatility sensitivity as positive across strikes. These are observations from a particular constructed normal-volatility setup, not universal laws. The example leaves beta fixed and offers qualitative explanations rather than broad empirical validation.

Key ideas

  • Changing the SABR shift can alter calibrated parameters and the quality of fit.
  • A fit with only correlation and volatility of volatility free worsens as the shift changes in the described experiment.
  • Allowing ATM volatility to vary improves the fit, with ATM volatility and correlation changing more than volatility of volatility.
  • In the reported profile, correlation sensitivity is positive above the forward and negative below it.
  • The conclusions come from a specific constructed setup and should not be assumed to generalize to every calibration.

Tags

Full text
# zero-shift SABR vega and re-calibration of SABR


# zero-shift SABR vega and re-calibration of SABR












I have a zero-shifted SABR model, where I need to confirm if the model is generating the calibration and vega's correctly.

The underlying model is the standard SABR lognormal (there is normal as well), with the forward = Forward - zero-shift.

Given an implied volatility curve (2yr expiry, 5yr tenor for example), where I have calibrated the z-shift SABR parameters of ATMvol, rho-vol, vol_of_vol, beta (alpha, rho, volvol, beta)

- if I increase the z-shift from 100bp to 200bp (i.e. Forward = Forward- 200bp)

- Given an existing long swaption position (2y expiry, 5yr tenor), strike of 2.50% which is 150bp away from ATMF of 1.00% as of today.

How might a fixed-strike Swaption vega's and calibrated parameters change?

My intuition is as follows

- For vega's : the rho (correlation) vega increases, the vol-of-vol vega increases, the ATM vega does not increase. This is mainly because at the fixed 2.50% implied volatility, when we increase the z-shift, we take the effective ATMF volatility point further away from the 2.50% implied vol-point. Hence, a similar change (increase) in rho and vol-vol will increase the implied volatility at 2.50% much more.

- For re-calibration, I am not sure if the same logic applies.

Any expert thoughts out there?

Kind regards

## Answer by Kiann (score 1)

https://quant.stackexchange.com/a/45017

performed an experiment myself, using Bachelier's Black Model and coded shifted-SABR normal model. I observe the following

We perform a series of experiments, that tests for

-  Given different z-shifts, what are the SABR parameters to calibrate to the target-set of implied vols

-  What parameters are necessary and how do they change.

With that, we propose a pseudo set of target vols (similar in nature to Inflation-level year-on-year vols HICP). With the Fwd at 2.97%, Time of 1yr tenor, and initial z-shift of 1.00%. We define the z-Forward = Forward (2.97%) + z-shift (1.00%).

We initially set the free parameters as only rho and vol-vol; with beta at 0.01 (we prefer not to set to 0.0 explicitly). We generate for z-shifts from 1.00% (initial) to 3.00%. See table1 and chart 1 below. We observe that

-  These two parameters are not enough for an absolutely good fit (error increases), though deemed acceptable.

-  Rho becomes less and less negative (i.e it increases) while vol-vol becomes less and less positive (also smaller in magnitude). We infer that (given higher-strike is lower-in-vols), the negative skew becomes less and less needed as we shift the ATMF towards the (absolute strike point). This is because a smaller rho (and vol-vol) are required to hit the extreme higher-strike vols. We might argue, the opposite should occur for the lower strike vols.

We now set the free parameter to be alpha (ATM vols), rho and vol-vol. We observe the fit is now very good, with the load of hitting being carried by alpha. See table and charts 2.

-  We observe the vol-of-vol does not change significantly while

-  The ATM vols and rho changes significantly.

We observe and try to explain the changes in SABR parameter vega’s. We take two cases,

-  Base-case of z-shift = 1.00%, with SABR calibrated to the target volatilities. We then generate the SABR vega’s, of call-options from strikes 0.00% to 7.00% with ATMF = 3.00%

-  New-case of z-shift = 2.00%, with SABR re-calibrated to the target vols (alpha, rho and vol-vol, but not beta). We re-generate the SABR vega’s using the same 0.00% to 7.00% strike swaptions with ATMF = 3.00%

Both we apply the Bachelier Normal Black formula, with notional of 1,000,000.

We observe and propose they make sense on the basis

-  Alpha : equivalent to ATM vols, and hence replicate the standard vega profile.

-  Rho : for swaptions/options above ATMF, they are long rho, and short rho for options below ATMF (3%).

-  Volvol : should be positive across all strikes, as all implied vols increase.

-  Beta : shifts from normal to lognormal with an effective increase in rho and hence roughly similar in risks to rho.

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.