

Hi,
I have implemented and calibrated Heston model to option prices and at the moment I try to address the issue of hedging an equity option under stochastic dynamic of volatility. So I would like to know whether did anyone know how to build a hedging strategy for an option in the case of stochastic volatility?
And even if I apply the “model hedge”(delta hedging), I still have a risk of parameters changing every day, so what is the best way used in front office desks to overcome this problem?
Thanks in advance





Nonius

Founding Member Nonius Unbound

Total Posts: 12786 
Joined: Mar 2004 


Dude, I got you the first fifty million times you posted this thread. 
Chiral is Tyler Durden 


 

Nonius

Founding Member Nonius Unbound

Total Posts: 12786 
Joined: Mar 2004 


no, my bad.
someone help him! 
Chiral is Tyler Durden 


Ansys


Total Posts: 102 
Joined: Jul 2005 


have a look to Peters Carr's website, very useful papers on hedging 




FDAXHunter

Founding Member

Total Posts: 8372 
Joined: Mar 2004 


JuniorQuantEQD: I still have a risk of parameters changing every day, so what is the best way used in front office desks to overcome this problem?
You do backtoback trades only
Seriously though, for starters you'd translate the model parameters into more (for a trader) meaningful concepts, such as the movements and shape changes of the implied volatitility surface. Because it's somewhat more obscure to go looking for a hedge that neutralizes the current vol, correlation and longterm vol as well as vol of vol risk you took on instead of simply looking at the upside skew that you just sold. That's how a trader will look at his risk and then proceed accordingly. Because changes in the parameters you have simply translate into changes in the vol surface. 
The Figs Protocol. 



thank you FDAXHunter,Ansys,
But in practice how can trader do this? and what kind of instruments he will use to deal with the hedging issues (hedging ratios and proportions)? and finally what do you think about using minimum variance of hedging error used by some desks?
Thanks in advance.





FDAXHunter

Founding Member

Total Posts: 8372 
Joined: Mar 2004 


How do you mean "how can a trader do this"?. If you got vega, you sell vega. If you got skew, you sell skew. If you got vomma, you sell vomma.
JuniorQuantEQD: and what kind of instruments he will use to deal with the hedging issues? This is already part of the problem. It's not trivial. Do you choose the cheapest? The closest match? How do you define closest match? The most liquid? etc.
Minimum Variance Hedging is definitely important to keep in mind, but a good trader should be sensitive to how a given deal will affect his P/L in various ways anyway, so IMHO it's more of a "guideline" than rules. Also, what if the market will not let you have the hedge that the computer thinks you should have? Are you going to sacrifice P/L to be able to put on a more variance reducing hedge or are you going to run with a less stable hedge?
Flexibility is key, especially if the deals you book are more on the exotic side of things.
Ultimately, if you want a perfect hedge, go play in a Zen garden. 
The Figs Protocol. 


dgn2


Total Posts: 2066 
Joined: May 2004 


Ultimately, if you want a perfect hedge, go play in a Zen garden.
Beautiful! LOL! 
...WARNING: I am an optimal f'er 



 

Ansys


Total Posts: 102 
Joined: Jul 2005 


FDAXHunter:
I agree a trader wants his PL increases than decreases.
Implied vol it's a kind of representation of the market. People use it because it is useful and it may define a kind of invariance , or a measure of risk (or something good.....).
But, you can use another representation of the market. For example,in a sabr model, you don't have any ATMvol explicitely defined in the model. Instead of, you use (apha,rho,volvol,beta).
This is one another kind or representation (maybe bad, good or equivalent).
I find that BS is a representation (filter) of the market, a kind of filter and calculating implied vol looks like filtering the price.





FDAXHunter

Founding Member

Total Posts: 8372 
Joined: Mar 2004 


Well, I don't think filter is the right term to use, because "filtering" always implies discarding information and that's not necessarily what you are doing with a vol surface.
Fact is that Stochastic models performance are measured on how good they can parameterize the volatility surface, so the order of precedence is defined there, I think.
Fact is, someone trading this stuff actively will want to be fairly close in his way of looking at the market as he can get to actual instruments. A swaps trader is going to look a segments on the Forward Curve, an option trader is going to look at patches in the volatility surface, a basket trader is going to be interested mainly in sectors and individual names. Of course, a Risk Manager or someone doing some rather strange modelling won't necessarily be interested in looking at things that way, though it never hurts to keep an open mind to different perspectives, IMHO. As you said, can't say what is good or bad without specifing more what it is used for. 
The Figs Protocol. 


Ansys


Total Posts: 102 
Joined: Jul 2005 


Yes, you're right, filter is not the right term since we do not lose any information.... it's a transformation. 




Nonius

Founding Member Nonius Unbound

Total Posts: 12786 
Joined: Mar 2004 


nevermind. 
Chiral is Tyler Durden 


Ansys


Total Posts: 102 
Joined: Jul 2005 


If I have had more background, I would have liked to develop this point. Unfortunately, I couldn't give other examples of transformation in finance.... 




Nonius

Founding Member Nonius Unbound

Total Posts: 12786 
Joined: Mar 2004 


here's a problem I have. I looked at the Phrench engineer's paper you linked in another thread. I don't have Derman Kani, but they quote the "big" result in the phrench paper. Generally speaking, there are two sets of things to calibrate the initial state and the risk nuetral drift of nontraded risk factors. so, if you knew the drifts, you get this nonlinear pde that relates everything in the model to implied BS vol. this means you can solve for the initial state of the nontraded risk factors that describe stoch vol dynamics. if you knew the initial states of the risk factors, you could solve for the drifts. but, to solve for both, you need 2x the number of assets that are prescribed by the no arb argument. this seems like inconsistent modeling.
explain the flaw, if any, in my logic here. 
Chiral is Tyler Durden 


sigma


Total Posts: 108 
Joined: Mar 2009 


FDAXHunter: Seriously though, for starters you'd translate the model parameters into more (for a trader) meaningful concepts, such as the movements and shape changes of the implied volatitility surface.
Please let me draw your attention to beta stochastic volatility model:
http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2150614
The key parameter in this model  the volatility beta can directly be linked to the implied volatility skew
In the beta stochastic volatility model with a local vol component, you can model different market regimes (sticky local vol, sticky strike, sticky delta) in an intuitive way 




sigma


Total Posts: 108 
Joined: Mar 2009 


There is an extended version of the above paper on the beta stochastic volatility model http://ssrn.com/abstract=2387845
It has more details on the interplay between implied and realized volatility betas and deltahedging P&L.
The key point is that conventional stochastic and local volatility models, fitted to the implied volatility skew, predict excessive sensitivity of ATM implied volatility to price changes. The sensitivity observed empirically is smaller (by about 30%) and the spread between the two is very consistent. This spread breaks down the minimumvariance hedge applied when using those fitted SV and LV models, as the spread between realized and implied volatility beta introduces the dependence on the price path.
One way to fix it is to introduce the beta stochastic volatility model which uses the correct volatility beta fitted to the one observed empirically and add jumps to pricein the excessive implied volatility skew. I show how to interpret jumps under the riskneutral pricing measure as the skew premium and provide a detailed description on how to calibrate the skew premium.
Different volatility regimes are reproduced by mixing SV part and the skew premium. In this way the beta SV model will be consistent with the empirical behavior of ATM volatility and yet fit the implied volatility surface. 



sigma


Total Posts: 108 
Joined: Mar 2009 

 

radikal


Total Posts: 264 
Joined: Dec 2012 


Still digesting the presentation and paper  I come from the generally the local vol surface world but:
 There's mention of local volatility adjustments layered on top of the beta SV+J but I don't see any examples of how you'd go about doing this; it's not really clear to me how significant these adjustments would end up being. I assume adding gaussian kernels stretched by some covariance matrix + shape adjustments?
 I'd be very curious to see what all this looks like throwing out the periods before 2005 or so; I feel it's a very different + more efficient world.
 Very interesting! Somewhat overwhelming. 
There are no surprising facts, only models that are surprised by facts 


sigma


Total Posts: 108 
Joined: Mar 2009 


Radikal, thank you for your feedback. I had to move to a new area and I was really motivated to write down my experience in volatility modeling/trading space. I will try to do the last part including analytics, numerics, and examples for beta SV model with local vol (LSV) calibration and model implied hedging.
For a simple illustration, let us consider the vol skew for one maturity. The way I want to model the dynamics of both implied and realized skews involves three components, based on the beta SV model, specified as follows.
1) The SV part is based on the econometric dynamics for implied ATM vol. Here, the key component is the volatility beta, beta_V, which measures changes in vol predicted by changes in the spot price. For 1m ATM vols of the S&P500 index (alternatively, for the VIX index), beta_V is about 1 and its very stable across different periods.
2) The skew premium or the excessive skew measured as difference between skew implied from option market prices and econometric skew from part 1). I term it beta_exskew.
3) Since I want to keep factors in 1) and 2) stable, I add local vol part to fit daily variations in implied skew. I term it beta_noise.
Why do I need econometric vol sensitivity beta_V? I need it to compute the skew delta which measures the change in ATM vol predicted by changes in spot. It is also known as the empirical backbone  any desk should compute delta risks using this or the related concept of volatility skewbeta to project changes in the vol surface induced by changes in the spot price.
Why do I need excessive skew beta_exskew? I need it to fit the implied vol skew. Let me note that excessive skew beta_exskew should not depend on the spot price (at least for small time scales) otherwise my delta computed using the empirical backbone or beta_V is wrong.
Why do I need beta_noise? Think of factors 1) and 2) as stationary factors for a regression model to describe dynamics of the vol surface. In the least squares sense, they give me the best fit to the empirical dynamics with explanatory power (R^2) of, say, 80%. So the local vol beta beta_noise can be interpreted as a residual, with the expected value of zero, to fit daily variations in vol surface and make sure the model fits implied vanilla surface consistently. The calibration of local vol noise is implemented using PDE based calibration methods for local stochastic vol (LSV) models  you can find some details here: https://artursepp.com/wpcontent/uploads/2017/09/arturseppglobalderivatives11.pdf As I said, beta_V is very stable  the lognormality of realized volatility is important here and it is observed in the empirical price dynamics. Different story is for beta_exskew  the implied skew tends to steepen when overall level of ATM vol becomes low and the stock market has been bullish for a while (like we have now). Empirically it means that realized skew becomes much smaller than that predicted by the implied skew.
One particular quantity to measure this effect is the volatility skewbeta, which can be roughly interpreted as the realized vol beta divided by the implied vol skew. This quantity is closely related to the empirical backbone. The desk should have a view on the vol skewbeta/empirical backbone. By adjusting beta_exskew , the model should be calibrated to either desk's view or recent econometric pattern of the vol skewbeta.
Interestingly, the vol skewbeta exhibits regimeswitching patterns: during bull markets it is close to one (sticky strike vol regime), during bear markets it is close to 2 (sticky local vol). During rangebounded markets it is close to 1.5. You can find illustrations in my older presentation https://artursepp.com/wpcontent/uploads/2017/09/arturseppglobalderivatives13.pdf (you can start with illustrations from slide 30)
What I am saying is that, by calibrating the excessive skew beta beta_exskew, I effectively calibrate the vol skewbeta, implied by my beta LSV model for the current level of market skew, to the empirical skewbeta estimated using regression model or discretionary view on the skew delta. Also note that my calibrated hedging model is then consistent with the today volatility surface by construction. Hedging at econometric/expected realized vols is also possible but not acceptable for majority of desks/risk managers as daily P&L becomes more noisy and sensitive to changes in underlying price.
To keep excessive skew beta beta_exskew stable, I calibrate local vol beta_noise to fit daily variations in implied vol surface. When I observe that daily variations of beta_noise increase and become persistent, it means that the empirical skewbeta has changed so I need to recalibrate beta_exskew and fit my model delta to the empirical delta computed empirical/forecast backbone. Note that you can also work without beta_noise, you just need to adjust the level of initial and longterm vol for the model as the market moves and you will have some small misfit to implied vols for wings.
Why this is important? This is a macro hedging model for a trading book which allows to aggregate risks from skews at different maturities and from different products. By optimizing your dynamic vol model to empirical/forecast backbone allows to potentially reduce P&L volatility by about 30% and realized transaction costs as compared to, say, hedging at sticky strike or sticky local vol regimes. Also this model has stronger predictive power for P&L explain  for an example, you can explain about 50% of variation of P&L for deltahedged riskreversal using the difference between implied and realized vol beta (R^2 increases to about 90% if you include multiple factors such as realized returns variance, ATM vol change, etc).
I hope this helps. Let me know if you have questions or comments.





lz

Banned

Total Posts: 13 
Joined: Jun 2014 


Sigma, from your paper one can easy conclude deep understanding and experience in a quite difficult area local volatility. Some years ago I made attempt to study this subject and could not overcome it. I will be grateful if you can clarify my problem. Let C ( t , S ; T , K ) denote solution of the BSE, ie in BS world when parameters T and K are fixed function C ( t , S ; * , * ) is a solution of the BS equation. If S and t are fixed and T and K are variables then 2nd derivative of C ( * , * ; T , K ) in K satisfies other eq with nonlinear in K diffusion coefficient. In the first paper K and T were replaced by S and t although later some people stopped to change. It is obviously incorrect because these two group of the variables are bind. Replacement of a variable by a new variable is correct when the new variable is a 'free' variable. When the old ( t , S ) replaces the new ( T , K ) the sense of LV development is clear: from BSE we arrive at the other eq with nonlinear diffusion coefficient. If ( T, K ) could not be replaced by ( t , S ) the sense of the development does not clear.
Actually if derivative of the 1st order in t and 1st and 2nd derivatives in S of the C ( t , S ; T , K ) are smooth functions in K then one can differentiate BSE directly with respect to K in order to get the eq for the second derivative C in K.. 



sigma


Total Posts: 108 
Joined: Mar 2009 


Lz, imagine that we know the local volatility (we can take it to be a constant or CEV type), and we want to do two things.
1) We want to solve for the surface of calls {C(T,K;S0,t0)} in dimensions of strike K and maturity T for FIXED values of current spot price S0 and current time t0. We do it by solving the forward equation for call prices (aka Dupire equation) numerically  each element in the matrix {C(T,K;S0,t0)} will give you call price at time T and strike K as seen today at time t0 with spot price S0. The initial condition is C(t0,K;S0,t0)=max{S0K,0}.
2) We want to solve for surface of calls {c(t,S;T,K)} in dimensions of spot price S and current time t for FIXED values of option strike K and option maturity T. We do it by solving backward equation (aka BlackScholesMerton equation) numerically  each element in the matrix {c(t,S;T,K)} will give you call price at time t and spot price S that matures in time T with strike K. The initial condition is c(T,S;T,K)=max{SK,0}.
Note that for space and timeinhomogeneous local vol model we can only match one price in forward matrix {C(T,K;S0,t0)} and backward matrix {c(t,S;T,K)} : namely C(T*,K*;S0,t0) and c(t0,S0;T*,K*).
Now about the local vol: the forward equation for call prices becomes linear in local volatility:
C_T0.5*{LocalVol(T,K)}^2*K^2*C_KK=0
If we observe call prices in the market then we can match them by simply choosing the local vol as solution to the above equation (a lot of quants are employed and many manhours are spent to make it happen in practice):
{LocalVol(T,K)}^2 = C_T / [0.5*K^2*C_KK]
You can easily generalize this analysis to jumpdiffusions and stochastic volatility models. See some details in my presentation here https://artursepp.com/wpcontent/uploads/2017/09/arturseppglobalderivatives11.pdf
The simplest yet realistic local volatility model to play around is the CEV model:
dS(t)/S(t)=sigma_{CEV} * [S(t)]^{CEV_beta} * dW(t)
To get intuition about local vol, value call options using analytical formula for the CEV model, solve forward PDE numerically and calibrate local vol to given call prices and see if it the same as the input to the model. Play around to see what the model implies for ATM vol dynamics and how you should hedge in this model.
Interestingly, for index options on the S&P 500, the CEV model gives quite good fit to near ATM strikes (within [90105]% of the forward) for all maturities. However to fit implied vols at different maturities, we need a timedependent CEV_beta. I can show that for each maturity CEV_beta is proportional to the implied skew:
CEV_beta(T)=2*ImpliedSkew(T)/ATMvol(T)
As a result, as function of T, CEV_beta(T) will be declining as T^{aplha} following the decay rate alpha (alpha is about 0.350.50) of the index skew.
The strong timedependence of CEV local vol model (and any of local vol models for that matter) vindicates that local vol models are bad models for macro hedging. It's ok to use them for micro trading and hedging of vanilla options for a single maturity. One caveat: local vol models are not consistent with empirical dynamics of implied vols so they produce wrong hedges. To make them work, you need to supply the empirical backbone or the volatility skewbeta to compute the "empirical delta".
However, for macro hedging, especially if you have positions that depend on forward implied skews, you really need a time and spacehomogenous model with the ability to control the model implied vol skewbeta and skew delta, like the beta stochastic volatility model, which I described in my previous posts.





lz

Banned

Total Posts: 13 
Joined: Jun 2014 


sigma, thank you for respond. Sorry we use a little different notions and I would like to specify some in order to be sure that I correctly understand your respond. We assume that BS and Dupire equations and its solutions c(t,S;T,K) , C(T,K;S0;t0) are given. In c(t,S;T,K) , t , S are variables and T, K are fixed parameters. in C(T,K;S0;t0) T, K are variables and S0;t0 are fixed. Actually function C(T,K;S0;t0) is the second derivative of the function c(t,S;T,K) with respect to K. The diffusion coefficient in BSE for c is sigma*S while diffusion coefficient for Dupire equation is square root of a fraction ... . This what is given. Now what is the conclusion we are going to state. We state that .... ???
It might be instructive to recall Derman, Kani, Zou 95 " 1. At any fixed expiration, implied volatilities vary with strike level. Almost always, mplied volatilities increase with decreasing strike – that is, outofthemoney puts trade at higher implied volatilities than outofthemoney calls. This feature is often referred to as a “negative” skew. 2. For any fixed strike level, implied volatilities vary with time to expiration. Often, longterm implied volatilities exceed shortterm implied volatilities."
Here implied volatility is one that should be found from BS model using c(t,S;T,K) in which instead of theoretical price c one uses market data for option price.




sigma


Total Posts: 108 
Joined: Mar 2009 


>> Actually function C(T,K;S0,t0) is the second derivative of the function c(t,S;T,K) with respect to K. The diffusion coefficient in BSE for c is sigma*S while diffusion coefficient for Dupire equation is square root of a fraction ... . This what is given. Now what is the conclusion we are going to state. We state that .... ???
{C(T,K;S0,t0)} is surface of calls in dimensions of strike K and maturity T for FIXED values of current spot price S0 and current time t0. {c(t,S;T,K)} is surface of calls in dimensions of spot price S and current time t for FIXED values of option strike K and option maturity T.
I think you are confusing the forward equation for calls with the forward equation for the probability density function: G(T,K;S0,t0)=Probability [ S(T)=K given S(t0)=S0 ]
G(T,K;S0,t0) is indeed the second derivative of call price C(T,K;S0,t0): G=C_KK
Now to compute PDF G(T,K;S0,t0) across maturities T and strikes K, we can compute the surface of forward call price {C(T,K;S0,t0)} by solving the forward equation and computing numerical derivatives with respect to K. Alternatively we can compute it using backward PDE for c(t0,S0;T,K), which is much more complicated as we need to solve backward PDEs for each strike K and maturity T, and use the relationship I described in previous post: C(T*,K*;S0,t0)=c(t0,S0;T*,K*).
Note that when we solve PDE numerically: for forward PDE we specify the spacial grid X for strikes K, while for the backward equation we solve the same grid X but for current price S. Local volatility function, which can be specified to be flat or CEV type or the one computed from market prices of calls, is the same for both forward and backward PDEs. Using our grid variable X we just invoke function LocalVol(T,X) which returns us local vol at grid X and time T.









