Feb
3

## Valuation of stock option with discrete dividend

When asked how to value a stock option without dividend or with continuous dividend, many people would refer to Black Scholes formula, but how to price an option with discrete dividend then? certainly Black Scholes model can't be used directly since one of its assumptions is continuous payout. Paper

1,

2,

3,

4,

5,

6,

Below is sample Matlab codes I wrote for comparision, a single dividend is used for simplicity, results similar to the table listed in the paper

For example, the results of a $7 dividend after 0.5 year are (DiscreteDividend(100, 100,0.06,1,0.3,7,0.5)): 14.7171 10.6932 11.5001 11.1039 11.0781 11.1062, respectively.

Reading the original paper

Hot posts:

15 Incredibly Stupid Ways People Made Their Millions

Ino.com: Don't Join Marketclub until You Read This MarketClub Reviews

Online stock practice

World Changing Mathematical Discoveries

Value at Risk xls

Random posts:

Global Derivatives Option Pricing Matlab Code

How to Vectorize Nested Loop in R?

The Long Vega Financial Engineering Tool

Kalman Filter Finance

Mathematica Home Edition

*Back to Basics: a new approach to the discrete dividend problem*by Haug, Haug and Lewis summarizes the following ways:1,

**Escrowed dividend model**, which is the simplist and the least accurate way as a result. The basic idea of Escrowed dividend model is to adjust the current stock price by deducting the present value of future dividends, and plug in the replaced stock price to Black Scholes formula;2,

**Chriss volatility adjustment model**, besides replacing current stock price, this model adjusts volatility as well because the Escrowed dividend model alone decreases the absolute price standard deviation, hence underestimates an option's value. However, Chriss model yields too high volatility if the dividend is paid out early in the option’s lifetime, which generally overprices call options;3,

**Haug & Haug volatility adjustment model**; which is more sophisticated than Chriss model and takes into account the timing of the dividend, unfortunately, the authors show this method performs particularly poorly for multiple dividends stock option;4,

**Bos volatility adjustment model**, a even more sophiscated model than Haug & Haug, but still, it performs poorly for large dividends or long term options;5,

**Lattice method**, for example, non-recombining binomial tree introduced in the bible book Options, Futures, and Other Derivatives with Derivagem CD (7th Edition), we all know it is time-consuming;6,

**Haug, Haug and Lewis method**introduced in the above-mentioned paper, the basic idea is to calculate first the ex-dividend option price by Black Scholes model, then discount back the ex-dividend value under equivalent martingale measure. The authors demonstrate the high accuracy of their model with several examples afterwards.Below is sample Matlab codes I wrote for comparision, a single dividend is used for simplicity, results similar to the table listed in the paper

function callprice = DiscreteDividend(s,k,r,t,vol,d,dt)

%compare different methods for a single discrete dividend adjustments,

%read paper by Haug for detail;

%dt: dividend time

BSprice = blsprice(s,k,r,t,vol,0);

AdjS = s-exp(-r*dt)*d;

Escrowed = blsprice(AdjS,k,r,t,vol,0);

%%%%%%%%%Chriss, 1997%%%%%%%%%%

vol1 = vol*s/(s-d*exp(-r*dt));

Chriss = blsprice(AdjS,k,r,t,vol1,0);

%%%%%%%%%Haug, 1998%%%%%%%%%%

vol2 = sqrt(vol^2*dt+vol1^2*(t-dt)/t);

OldHaug = blsprice(AdjS,k,r,t,vol2,0);

%%%%%%%%Bos et al. (2003)%%%%%%%%%%

lns = log(s);

lnk = log((k+d*exp(-r*dt))*exp(-r*t));

z1 = (lns-lnk)/(vol*sqrt(t))+vol*sqrt(t)/2;

z2 = z1+vol*sqrt(t)/2;

vol3 = sqrt(vol^2+vol*sqrt(pi/(2*t))*(4*exp(z1^2/2-lns)*d*exp(-r*dt)*...

(normcdf(z1)-normcdf(z1-vol*dt/sqrt(t)))+exp(z2^2/2-2*lns)*d^2*...

exp(-r*2*dt)*(normcdf(z2)-normcdf(z2-2*vol*dt/sqrt(t)))));

Bos = blsprice(AdjS,k,r,t,vol3,0);

%%%%%%%%%Haug, 2003%%%%%%%%%%%%%%%

NewHaug = exp(-r*dt)*(quad(@(x)blsprice(x-d,k,r,t-dt,vol,0).*lognpdf(x,lns+(r-0.5*vol^2)*dt,vol*sqrt(dt)), d, k+d)...

+quad(@(x)blsprice(x-d,k,r,t-dt,vol,0).*lognpdf(x,lns+(r-0.5*vol^2)*dt,vol*sqrt(dt)), k+d, 20*s));

callprice = [BSprice, Escrowed, Chriss, OldHaug, Bos, NewHaug];

%compare different methods for a single discrete dividend adjustments,

%read paper by Haug for detail;

%dt: dividend time

BSprice = blsprice(s,k,r,t,vol,0);

AdjS = s-exp(-r*dt)*d;

Escrowed = blsprice(AdjS,k,r,t,vol,0);

%%%%%%%%%Chriss, 1997%%%%%%%%%%

vol1 = vol*s/(s-d*exp(-r*dt));

Chriss = blsprice(AdjS,k,r,t,vol1,0);

%%%%%%%%%Haug, 1998%%%%%%%%%%

vol2 = sqrt(vol^2*dt+vol1^2*(t-dt)/t);

OldHaug = blsprice(AdjS,k,r,t,vol2,0);

%%%%%%%%Bos et al. (2003)%%%%%%%%%%

lns = log(s);

lnk = log((k+d*exp(-r*dt))*exp(-r*t));

z1 = (lns-lnk)/(vol*sqrt(t))+vol*sqrt(t)/2;

z2 = z1+vol*sqrt(t)/2;

vol3 = sqrt(vol^2+vol*sqrt(pi/(2*t))*(4*exp(z1^2/2-lns)*d*exp(-r*dt)*...

(normcdf(z1)-normcdf(z1-vol*dt/sqrt(t)))+exp(z2^2/2-2*lns)*d^2*...

exp(-r*2*dt)*(normcdf(z2)-normcdf(z2-2*vol*dt/sqrt(t)))));

Bos = blsprice(AdjS,k,r,t,vol3,0);

%%%%%%%%%Haug, 2003%%%%%%%%%%%%%%%

NewHaug = exp(-r*dt)*(quad(@(x)blsprice(x-d,k,r,t-dt,vol,0).*lognpdf(x,lns+(r-0.5*vol^2)*dt,vol*sqrt(dt)), d, k+d)...

+quad(@(x)blsprice(x-d,k,r,t-dt,vol,0).*lognpdf(x,lns+(r-0.5*vol^2)*dt,vol*sqrt(dt)), k+d, 20*s));

callprice = [BSprice, Escrowed, Chriss, OldHaug, Bos, NewHaug];

For example, the results of a $7 dividend after 0.5 year are (DiscreteDividend(100, 100,0.06,1,0.3,7,0.5)): 14.7171 10.6932 11.5001 11.1039 11.0781 11.1062, respectively.

Reading the original paper

*Back to Basics: a new approach to the discrete dividend problem*if interested, http://www.nccr-finrisk.uzh.ch/media/pdf/ODD.pdf, or the book The Complete Guide to Option Pricing Formulas by Haug for more detail.**People viewing this post also viewed:**

Hot posts:

Random posts:

my chapter updating the HHL article in "Option Valuation under Stochastic Volatility II" (just published)