Showing posts with label implied volatility. Show all posts
Showing posts with label implied volatility. Show all posts

Tuesday, February 8, 2011

Implied Distribution Option Model - Project Stalled

It was fun to try, but I don't think I will be finishing the Implied Distribution Model. There are several practical constraints; the biggest being the lack of liquidity in far out of the money options, and significant breaks in implied volatility when switching from the put smile to the call smile. With huge bid ask spreads and a chunky Z=0 switch, the model lost predictability in both extreme return likelihoods, and expected returns.

I still find the idea interesting, and I will be quick to pester future quant side co-workers to see what they use for their distribution assumptions.

For now I'll just keep to drawing it free hand, and just this once, in MS paint.

Thursday, November 18, 2010

Progress on the Implied Distribution Project

So some success has been had since the last post. After talking to a professor I was steered towards the big Hull options book for Hull's solution to creating a risk neutral implied distribution from option prices.

His solution involved using the butterfly spread payoff to construct the distribution on the segments between strikes, and then march along all traded exercise prices to map out the full curve. For instance the formula for the expected likelihood of the stock reaching $6.5 would be = (e^(T*rf)*(Call_Price@6 + Call_Price@7 - 2*Call_Price@6.5))/(0.5^2)

He was using Derivagem to price his calls (including the never-to-be-traded 6.5) and everything worked out peachy keen.

Well it didn't for me. After running through several different stocks I concluded that this method either doesn't make sense in the real world, or is being badly abused by my hackneyed knowledge for probability density functions.

I went back to the drawing board and decided to go big or go home. Here is a screen shot of my option calculator.
I know you can't see anything so it basically is 35 replications of this

So now at the touch of a button I run this code

Sub Button1_Click()
Dim min As Double
Dim target As Double
Dim vol As Double
Dim i As Single

Application.ScreenUpdating = False
Sheets("BS MODEL").Activate
i = 0
Do
    target = 0
    Range("b14").Offset(0, i).Value = 0.0001
    vol = 0
    min = Range("b16").Offset(0, i).Value
    ' we have reset the implied volatility to 0, and are ready to min the difference between bs call and market    call
    Do
    vol = vol + 0.0001
    'we step the implied vol by 1
    Range("b14").Offset(0, i).Value = vol
    min = Range("b16").Offset(0, i).Value
    'bs theory tells us the market call must be larger than a bs call with a lower volatility so we can use an absolute inequality
    Loop While min > target
'we now solve the call/put of the next strike
i = i + 2
Loop While i < 31

Sheets("IMPLIED DIST").Activate
Application.ScreenUpdating = True
End Sub

And we solve for 35 implied volatiles at the same time... COOOOL!

With some =1-Normsdist() work I was able to back out the implied likelihood for each strike and was left with this implied distribution for Apple from now to December 17th. 
Woo Hoo! This rough cut of the apple distribution tells a good story. The left tail is significantly fatter than the right tail (recall the stock is trading at 300), and there is some skew. The skew bothers me a little bit because I think it is partially a product of where I chose to switch from calls to puts. 

Remembering that options have a volatility smile we know that deep in the money options are biased upwards in volatility. Theoretically the smile should look something like the black line below. 
If the intersection between the put volatility smile and the call volatility smile is at the stock price then if you switch from out of the money calls to predict volatility, to out of the money puts as you cross the stock price your predicted volatility should have a pretty seamless transfer (think about just always using the lowest black line). Unfortunately I am  seeing a much higher put volatility in options with exercise ~ stock price than in calls. I show this with the red line above, but this is with the assumption that the puts are "to high" at the stock price and the calls have the true volatility. It could just as easily be reversed where exercise = stock price calls could have too low of a volatility and the puts have the true volatility.

This whole scenario forces me to make a judgment call. Do I a) accept that the distribution has a 10% stdev jump, b) use calls and switch over at a lower exercise price where the volatiles cross, or C) average into (smooth into) the new volatility around the stock price. Some definite thinking time.

When I get that part figured out I'm going to modify the model to be plug and play with bloomberg exported option data, and I want to solve the distribution for all the option expiry periods simultaneously so I can create something that looks like this:
Comments, suggestions, corrections welcome!

Thursday, November 11, 2010

Using Options to Estimate Future Asset Distributions - An Idea in Progress

Researchers have spent a lot of time discussing how past return distributions have taken significant departures from the "normal distribution" both in squewness and kurtosis. (think 1987, 2001, 2008). Banks put a lot of investment into developing strong Value at Risk model to predict risk. Hedge funds base entire strategies off of differences observed from what they believe to be the true distribution and the distribution observed on assets in the market.

In the last 48 hours I've stumbled upon an idea that links Value at Risk methodology with put call parity and implied volatility from the Black Sholes model. The essence of the idea is that we can use the prices in the derivative market to construct the expected return distribution on the asset from now to the options expiry. After talking to a prof, I've realized although new to me, this idea has been thought up and proven nearly a decade before I was born. The upside is that it works, and seems to beat most of the other main models, like the normality assumption or the historical distribution assumption. An excellent professional paper that explains all this can be found here, but for now I will walk you through my thought process of the solution.

Remember the Black Sholes model? Before the binomial pricing model it was the way to price options. One of it's major flaws was that the formula relied on the normal distribution to describe prices.

In the middle of my corporate finance class last night I remembered that you can use the B/S model backwards to find the implied volatility of an asset. If a stock is trading at $12.34, and you have a call with a strike at $16 that costs $0.49 you know the expectations of the market that the stock will get to $16 by the options expiry (August in this case). Using the b/s model backwards you can solve for the implied volatility (which is the same as saying the standard deviation of returns) of the stock (turns out to be 0.35). Then using this information you can say under the normal distribution the market expects the likelihood that the stock will reach the strike price is 27% (by cracking out that Z table, or =normsdist() in excel).

But this isn't the fun part. Knowing the implied volatility you should be able to use put call parity to find the put price for the same strike. When I was trying this out I noticed that I was always overestimating the price of the put for the same strike. Logically this means that the market believes the stock will go down easier than it will go up, the left tail is fatter than the right tail.

The really cool part about this is by taking puts and calls of all different out of the money strikes you can begin to map out the expected distribution by paying close attention to the deviation from put call parity. You need to use out of the money options to avoid the bias the volatility smile will bring into your model. After mapping the distribution ( a step I still need to learn how to do), you have a distributions that reflects the markets expectations for the asset performance (the stock) from now to the expiry date.

Jackwerth and Rubinstein's Findings


Now I just need to figure out how to efficiently code it for excel, and I'll have a much better risk/reward picture for any asset I'm looking at for investment or analysis at work, assuming it has a well traded derivative tree. Stumbling blocks I dealing with now include
  • Making sure my current Black Sholes model is efficent enough to avoid estimation error.
  • Getting historical option prices and weeding out low volume offers that will have a significant bid ask spread.
  • A way to automate the process using VB in excel to construct a model that can be run over several days to measure shifts in distribution expectations.
  • Some more education to understand how the implementation of the methods used in the paper provided above could work in excel.
Once I have a working model I will be able to do a variety of cool things
  • I can peg a dynamic and empirically accurate probability on a target price I come up with for a stock.
  • I can have a better idea of what the expected Value at Risk likelihoods are.
  • By observing changes in the distribution overtime I can start thinking of applications of the second and third order "Greeks" in adding forecasting information to my analysis.
Idea's, suggestions, comments welcome!