Serving the Quantitative Finance Community

 
User avatar
JRobinson
Topic Author
Posts: 0
Joined: March 8th, 2012, 2:54 pm

Finding the ATM Strike Price of a Vanilla Option

July 12th, 2012, 3:59 pm

I would like to find the at-the-money (ATM) strike price of a vanilla option given the underlying price, the implied volatility, the risk-free rate, the dividend yield, and the time-to-expiration of some option on the underlier. I think this is called the implied ATM Strike Price.My best solution so far uses the Secant Method to find the strike. I also use the Black-Scholes delta formula to calculate my initial guesses for the ATM strike. Here's my process:1) Use Black-Scholes to estimate the ATM strike. This uses the fact that an ATM option has a delta of 0.5 for calls and -0.5 for puts. The formula is:X = exp( ln(forward) + (impVol ^ 2 / 2 * T) )X = strikeT = the time-to-expiration in yearsS = the underlying stock priceRf = the risk-free rateforward = S * exp(( Rf - DivYield) * T )2) Double the strike price (X) from the previous step to use a guess that is definitely higher than the ATM strike price. Call this X0. Halve the strike price to use as a guess that is definitely lower than the ATM strike price. Call this X2.3) Start the Secant Method: Calculate the delta using strike price X0, subtract 0.5 from it, and call this D0. Calculate the delta at X2, subtract 0.5 from it, and call this D2. Fit a line to (X0, D0) and (X2, D2). The x-intercept will be between X0 and X2. Call the x-intercept X1.3a) If D0 is within an epsilon of zero, X0 is the ATM strike price. Return X0. If D2 is within an epsilon of zero, X2 is the ATM strike price. Return X2.4) Calculate the delta using strike price X1, subtract 0.5 from it, and call this D1.4a) If D1 is within an epsilon of zero, X1 is the ATM strike price. Return X1.5) Fit a line to (X0, D0) and (X1, D1). Call the slope of this line M01. Fit a line to (X1, D1) and (X2, D2). Call the slope of this line M12.6) The line with the steeper slope will have a slope with a higher absolute value: Max( Abs(M01), Abs(M12) ). Use the x-coordinates of this line as the new X0 and X2. Go to step 3.Notes:* In steps 3 and 4, I'd add 0.5 for puts options rather than subtract 0.5.* I initially tried to use the Newton-Raphson root-finding method but I ran into problems when calculating tangent lines for strikes that were far from the ATM strike. Due to rounding, my tangent lines were flat. In reality, the tangent lines have some non-zero slope, but my precision couldn't handle numbers that small apparently. This is why I settled on a root-finding method that involves two points that clearly bracket the root.* I think that my method is actually a modification of the Secant Method. The graphs that I have been drawing in my notebook look similar to the graph on the Wikipedia page: http://en.wikipedia.org/wiki/Secant_method* I am using an extended trinomial model to calculate deltas.* I haven't decided if I should round my result to zero or one decimal places. Less volatile stocks may have option strikes every $0.50, so the ATM strike might be $9.50.Is there a better way to determine the ATM strike price of a vanilla option using the information I'm given?
 
User avatar
JRobinson
Topic Author
Posts: 0
Joined: March 8th, 2012, 2:54 pm

Finding the ATM Strike Price of a Vanilla Option

July 12th, 2012, 4:00 pm

Oops. I put this in the wrong forum. My apologies. I would delete this post if I knew how.
 
User avatar
tags
Posts: 3603
Joined: February 21st, 2010, 12:58 pm

Finding the ATM Strike Price of a Vanilla Option

July 12th, 2012, 4:35 pm

you shouldn't take the things too hard.
 
User avatar
BramJ
Posts: 1
Joined: January 10th, 2006, 2:01 pm

Finding the ATM Strike Price of a Vanilla Option

July 12th, 2012, 5:02 pm

There are several definitions of the ATM strike.ATM Spot : ATM is your spotATM Forward: ATM is equal to your spot * Exp((rate-dividend yield)*ttm)are both used more in an equity world as your definition for ATM where delta call = delta put.For your definition should indeed use a root-finder if there is skew. If there is no skew, I believe there are some explicit formulae available, google for Wystup (not sure whether the result is his, but I'm sure one of his papers or notes contains the result).