Serving the Quantitative Finance Community

 
User avatar
khairoo
Topic Author
Posts: 2
Joined: March 9th, 2003, 2:57 pm

pricing with the smile

July 15th, 2003, 6:26 pm

Hi,I have an Implied Vol function for equity market of the form Vol(Implied) = Vol(at the money) + 10*a*Log(S_0/K)/sqrt(t/T)where T = Time to Maturity, a=skew (as percentage)I calculate partial differentials with respect to T and K and use the formula described in Wilmott Volume 1 Chapter 25, which gives local volatility in terms of implied volatility to get local volatility at everytime step and run a monte carlo simulation.I price european vanilla's using this simulation, get the implied vol from the prices and plot it along with the orignial implied vol curve. However they don't match up. Since the model is supposed to do that I can't see why it is behaving that way.Has anyone implemented a monte carlo based on wilmotts formula? My code is in C and is attached with this post.Thanks.
 
User avatar
AVt
Posts: 90
Joined: December 29th, 2001, 8:23 pm

pricing with the smile

July 15th, 2003, 7:13 pm

I do not have the book, so i might miss something. Fixing all but K the formula gives unbounded vol from below, while for shorter times you should see a minimum. For equities you might check dividends (and usually options are not european).
 
User avatar
Aaron
Posts: 4
Joined: July 23rd, 2001, 3:46 pm

pricing with the smile

July 15th, 2003, 8:00 pm

I have not run a simulation but if you tell me the formula number in PW I might have an opinion. I can't find such a formula in chapter 25.Your parameterization is odd. Why multiply by 10? What is lowercase t and what happens when it is zero?In general, you should be able to use any model, subject to some regularity conditions, for implied volatility; derive local volatility; simulate option prices; and back out the original implied volatility. So if it's not working we should be able to track down the problem.
 
User avatar
khairoo
Topic Author
Posts: 2
Joined: March 9th, 2003, 2:57 pm

pricing with the smile

July 15th, 2003, 8:49 pm

I am sorry about the ambiguity of the description and notation. The equation I am refering to in PW is 25.7 (PW on QF Vol 1, Ch25 Volatility smiles and surfaces) In the Implied Volatility function that I have given there are upper and lower cutoff limits say 1 and 0.05 that keeps it defined. At t=0 I use the At the money Vol. Let me give a piece of my code so that we can use that notation. I calculate the function and three partial derivatives of this function required in the said equations as follows: for example I set At the Money Vol, a1 and t1 to values : a1 t1 sigmaATM So 0.03 1 0.2 100 then I put in values of S and t from every timestep in the simulation as K and T in the following formulae: double Vimp= SigmaATM + 10*a1*sqrt(t1/T)*log(So/K); double dVimpdT = -5*a1*sqrt(t1)*log(So/K)/(T*sqrt(T)); //partial derivative wrt T double dVimpdK = -(10*a1*sqrt(t1/T))/K; //partial derivative wrt K double d2VimpdK2 = 10*a1*sqrt(t1/T)/(K*K); //second partial derivative wrt K And then use these in 25.7 to get the local volatility, i.e local_vol (S,t).About multiplying with 10, I just do that to keep a1 as a percentage skew number so as K goes from 90 - 100 the implied vol change by 0.03 where a1=0.03. But thats a minor point and 10 can be incorporated in a1.
 
User avatar
chika
Posts: 1
Joined: April 18th, 2003, 2:13 pm

pricing with the smile

July 16th, 2003, 5:56 am

khairoo,You can find local volatility formula in terms of implied volatility function as well as its derivation in this projectBest Regards
Last edited by chika on July 15th, 2003, 10:00 pm, edited 1 time in total.
 
User avatar
khairoo
Topic Author
Posts: 2
Joined: March 9th, 2003, 2:57 pm

pricing with the smile

July 16th, 2003, 7:59 am

Thankyou very much Avt, Aaron and chika. I spotted a mistake (albeit very stupid one) I wasn't using the correct dividend value.chika: I used the formula in the report you gave. After fixing the error both your formula and wilmott's work fine