Serving the Quantitative Finance Community

 
User avatar
stampeding
Topic Author
Posts: 7
Joined: July 14th, 2002, 3:00 am

Deriving the volatilities from the terminal distribution?

October 8th, 2009, 8:03 am

If you got (all) the implied volatilities for an expiration time T, it's easy to calculate the distribution:F(X) = P(S > X) = UndiscountedDigitalPut = lim (Call(X+h)-Call(X))/h = dC/dX= {"d" = partial derivatives} = dC/dX + dC/dVol * dVol/dX = BlackStrikeDelta + Vega * dVol/dX(This is the well known adjusted formula for digital options, taking the vola skew into consideration.)Using logmoneyness m instead of X, we get:Distribution: F(m) = N(D)+phi(D)*sqrtT*dVol/dmDensity: f(m) = dF(m)/dm = phi(D) * [1/Vol/sqrtT + D/vol * dVol/dm + sqrtT * d2Vol/dm2]where D = (m+½vol2)/vol/sqrtT , phi(x) = exp(-½x2)/sqrt2Pi , N(x) = Cumulative normal distributionHowever, my question is, what if we want to do it the other way around? I.e. if we already know the distribution and density, but we want to calculate the volatility as function om moneyness, Vol(m), for a certain T?One could obviously do it by solving for Vol(m) in one of the two differantial equations above, but how it that then done in the best way? (We don't have any boundary values, and is the problem well conditioned?) Another way to solve it is of course to numerically calculate the option values and then the implied volatilities for each m, but that seems to me as a very inefficient way to do it, and it also has other disadvantages.This seems to me to be kind of a "simple and obvious" problem, that someone already probably have written something about. So does anyone know if there is any article or anything about how this problem is best solved, i.e. when the terminal distribution is known and we want to calculate the corresponding volatilities?Regards,/Samuel Sirén, Stockholm, Sweden
Last edited by stampeding on October 7th, 2009, 10:00 pm, edited 1 time in total.
 
User avatar
Alan
Posts: 3050
Joined: December 19th, 2001, 4:01 am
Location: California
Contact:

Deriving the volatilities from the terminal distribution?

October 8th, 2009, 3:42 pm

QuoteOriginally posted by: stampedingAnother way to solve it is of course to numerically calculate the option values and then the implied volatilities for each m, but that seems to me as a very inefficient way to do it, and it also has other disadvantages.Hi Samuel,I fail to see the efficiency problems here. You could do it just as you indicated for several hundred strikes in say a couple secs or less. I will add that there are some interesting 'direct' relationships between the terminal distribution and the impliedvols in the case that T->0 and with diffusion models. This is the 'asymptotic smile' problem and it is has beensolved with some very nice and interesting theory. In that case, the terminal density dP/dx is asymptotically Gaussian with acovariance matrix a(x,y) T, where y are the other state variables of the problem. This covariance matrix factor a can beinterpretted as (the inverse of) a metric g(x,y) of the associated curved space (x,y). Finally, the (asymptotic) implied vols follow from solving a certain geodesic problem on this space. Specifically, the nice result is .where x is the log-moneyness and d(x,y) is the minimizing geodesic distance from (x,y) to the line x=0 (in the case of a scalar y). For details of that, see my last publication at http://www.optioncity.net/publications.htm
Last edited by Alan on October 7th, 2009, 10:00 pm, edited 1 time in total.
 
User avatar
stampeding
Topic Author
Posts: 7
Joined: July 14th, 2002, 3:00 am

Deriving the volatilities from the terminal distribution?

October 12th, 2009, 8:18 am

Hi Alan and thank you for the answer! (I actually started to write this answer on Friday, but then there was a fire alarm so we had to evacuate... Both the building and my open IE session was still here when i returned today, though!)QuoteOriginally posted by: AlanI fail to see the efficiency problems here. You could do it just as you indicated for several hundred strikes in say a couple secs or less. Yes, but a couple of secs would actually be a real problem in this case. (We're talking about real-time system for really, really big portfolios.)Also, the derived volatilities would be used to calculate a local volatility surface (using a version of the Dupire formula) and since this is rather unstable, calculating the volatilities individually means that any calculation errors are magnified when the first and (in particular) second derivative of the volatility is calculated (in the Dupire formula). Solving it with a differantial equation, on the other hand, the first and second derivatives are themselves componants of that solution, and thus ought to be a lot more stable.(It's actually even more complex than this: I want to derive volatility as function of logmoneyness-strike for certain points in time, then interpolate along logmoneyness to get the volatility for the points in time between, and then use the Dupire formula to calculate the local volatility. The "distribution function" I'm talking about is a one-dimensional distribution function thas has been calculated using the volatility landscape of two assets, i.e. share and FX, and these landscapes has in turn been "optimized" for volatilities between known strikes to make the local volatility calculated with the Dupire formula as stable and as smooth as possible. So I'm basically taking two "smooth and nice" local volatility landscapes to try to build one "smooth and nice" local volatility landscape for the combined share+FX volatility, in as fast and efficient way as possible. The assumption here being that the smoothness and niceness of the original two local volatility landscapes will make the combined one also behave fairly well...)QuoteOriginally posted by: AlanI will add that there are some interesting 'direct' relationships between the terminal distribution and the impliedvols in the case that T->0 and with diffusion models. This is the 'asymptotic smile' problem and it is has beensolved with some very nice and interesting theory. In that case, the terminal density dP/dx is asymptotically Gaussian with acovariance matrix a(x,y) T, where y are the other state variables of the problem. This covariance matrix factor a can beinterpretted as (the inverse of) a metric g(x,y) of the associated curved space (x,y). Finally, the (asymptotic) implied vols follow from solving a certain geodesic problem on this space. Specifically, the nice result is .where x is the log-moneyness and d(x,y) is the minimizing geodesic distance from (x,y) to the line x=0 (in the case of a scalar y). For details of that, see my last publication at http://www.optioncity.net/publications.htmI'll definitely have a look at that!Regards,/Samuel
 
User avatar
Speedy
Posts: 0
Joined: May 16th, 2007, 1:04 pm

Deriving the volatilities from the terminal distribution?

October 15th, 2009, 2:54 am

Hi Samuel,If you know the density, in theory you can very easily numerically compute call or put prices and then back out the implied volatilities.In practice, you however need nice-enough numerical densities.In the context where we tried this approach, the numerical densities were less than sufficiently nice, though...Good luck!
 
User avatar
Alan
Posts: 3050
Joined: December 19th, 2001, 4:01 am
Location: California
Contact:

Deriving the volatilities from the terminal distribution?

October 15th, 2009, 11:17 am

QuoteOriginally posted by: stampedingYes, but a couple of secs would actually be a real problem in this case. (We're talking about real-time system for really, really big portfolios.)Well, it seems to boil down to this. You have some probability distribution for a share price S with fixed expiration in some (numerical) format.You want to rapidly compute the implied vols of euro-style options for various strikes.So, I suggest you create the simplest possible numerical example and post your distribution (a zipped txt file, maybe, if messy). Then, say exactly what your performance goals are: calculate N=? implied vols for strikes (K1=?,K2=?,...,KN=?) in time T*=? or less.Give the other needed parameters, of course: S0, etc. Then, how long does it take you now? Let's see if others can come close to your desired T*.
Last edited by Alan on October 14th, 2009, 10:00 pm, edited 1 time in total.
 
User avatar
Orbit
Posts: 36
Joined: October 14th, 2003, 5:34 pm

Deriving the volatilities from the terminal distribution?

October 15th, 2009, 12:48 pm

Jin E. ZhangYi Xiang"Implied Volatility Smirk"Direct model of a closed form density to BS smile and vice versa.
 
User avatar
stampeding
Topic Author
Posts: 7
Joined: July 14th, 2002, 3:00 am

Deriving the volatilities from the terminal distribution?

October 20th, 2009, 9:36 am

Orbit, thank you for the link. I think his formula for the distributioin is the same as mine (see 1st post) though according to his particular parameterization of the vola surface.Alan and Speedy: I don't have anything implemented yet, so I can't post anything. Howewer I gave it some thought and I think maybe the best strategy would be to calculate "coarse" implied volatilities (e.g. two or three iterations) and then use these implied volatilities as initial values when solving the (very non-linear) diferential equation with some straightforward Newton method. The "coarse" implied volatilities ought to be close enough, and solving the differential equation would (I assume) ensure that dVolatility/dLogmoneyness and d2Volatility/dLogmoneyness2 are smooth and stable. But I'll start by just implementing the straightforward solution you suggest, and see what happens. Maybe it's good enough.Regards,/Samuel