Lecture 8

Week 8: Pricing American and path-dependent options

This week we use the binomial and Monte Carlo methods to price:

  1. American options (don’t have closed-form Black-Scholes prices).
  2. Some simple exotic path-dependent options (some actually do haveclosed-form solutions but we largely ignore them).

The binomial model and Monte Carlo method (and PDE approach) have strengths and weaknesses. One should always use the computational technique that is most tractable, practical, accurate, efficient and numerically stable for the pricing application at hand, and we’ll do this.

American options

An American option gives the holder the right (but not the obligation) to exercise it at any point up to and including the expiry date TT.

Remark Recall that the price of American and European call options coincide on non-dividend-paying stocks.

American option, exercise any time up to

In these notes we’ll use the binomial model for pricing American options since it’s conceptually very simple and is also very accurate.

A very simple adjustment needs only be made to our previous binomial model approach of stepping backwards through the asset price tree in order to price American options, and it is motivated by some of the pricing bounds previously noted for American options:

0CEuCAm0 ≤ C_{Eu} ≤ C_{Am}

and

0PEuPAm0 ≤ P_{Eu} ≤ P_{Am}

max0,SKCAm\max{0, S − K} ≤ C_{Am}

and

max0,KSPAm\max{0, K − S} ≤ P_{Am}

(lower pricing bounds) because they can be exercised immediately

The adjustment to price American options is:

A each node, set the American option price equal to the maximum of the “1-step European price” and the option’s intrinsic value:

The (American and European) option payoffs at expiry are

CiNAm=max{0,SiNK}C^{Am}_{iN} = \max \{ 0, S_{iN} - K \}

and

PiNAm=max{0,KSiN}P^{Am}_{iN} = \max \{ 0, K - S_{iN} \}

CijEu=erdt[qCi+1,j+1Am+(1q)Ci,j+1Am]C^{Eu}_{ij} = e^{-rdt}\left[ qC^{Am}_{i+1, j+1} + (1-q)C_{i, j+1}^{Am} \right]

PijEu=erdt[qPi+1,j+1Am+(1q)Pi,j+1Am]P^{Eu}_{ij} = e^{-rdt}\left[ qP^{Am}_{i+1, j+1} + (1-q)P_{i, j+1}^{Am} \right]

Cijiv=max{0,SijK}C^{iv}_{ij} = \max \{ 0, S_{ij}-K \}

and

Pijiv=max{0,KSij}P^{iv}_{ij} = \max \{ 0, K - S_{ij} \}

Hence, the American option prices at node ijij are

Cijiv=max{CijEu,Cijiv}C^{iv}_{ij} = \max \{C^{Eu}_{ij}, C^{iv}_{ij} \}

Pijiv=max{PijEu,Pijiv}P^{iv}_{ij} = \max \{P^{Eu}_{ij}, P^{iv}_{ij} \}


Example

alt text

alt text


Incorporating dividends

Let’s consider a continuous dividend yield yy (sorry for the notation).

q=e(ry)dtdudq = \frac{e^{(r-y)dt}-d}{u-d}

u=e(ry12σ2)dt+σdt u=e^{(r-y-\frac{1}{2}\sigma ^{2}) dt + \sigma\sqrt{dt}}

and

d=e(ry12σ2)dt+σdt d=e^{(r-y-\frac{1}{2}\sigma ^{2}) dt + \sigma\sqrt{dt}}


alt text


Path-dependent options

We now numerically price some European path-dependent options.

We consider the following path-dependent options:

The binomial model was well suited for pricing American options.

A European chooser option is similar to a plain vanilla European option except that it allows the holder to choose at some date tt choose (the choice date) over the option’s life if the option is a call or a put!

On the choice date, it is rational for the holder to choose the option to be whichever out of the call or put has the highest value on that date.

Basic exotic options - path dependent

Chooser options

A European chooser option is similar to a plain vanilla European option except that it allows the holder to choose at some date tchooset_{choose} (the choice date) over the option’s life if the option is a call or a put!

On the choice date, it is rational for the holder to choose the option to be whichever out of the call or put has the highest value on that date.

Hence, to adapt the binomial European option pricing Python code to handle the choice date we do the following:

When working backwards recursively through the binomial tree to calculate the European call and put option prices, on each node of the choice date select the chooser option’s value as the maximum of the call and put values. From there work backwards recursively as per normal for the chooser option, ignoring the call and put.

work backwards through the tree

Python code to price a chooser option using the same parameters:


Example

alt text

alt text

alt text


Lookback options

A lookback option’s payoff at expiry depends on the maximum or minimum prices of the underlying asset over the life of the option. We distinguish between two types of lookback options:

  1. Fixed-strike lookback options.
  2. Floating-strike lookback options.

European fixed-strike lookback options are very similar to plain vanilla European options except the “final price” of the underlying asset used in calculating the payoff is not the asset price STS_{T} but instead the maximum SmaxS_{max} or minimum SminS_{min} asset price reached over the option’s life:

alt text

The maximum and minimum asset prices of path ii are given by

Si,max=maxj=0,...,MSijS_{i, max} = \underbrace{\max}_{j=0,...,M}S_{ij}

Si,min=minj=0,...,MSijS_{i, min} = \underbrace{\min}_{j=0,...,M}S_{ij}

The fixed-strike lookback option payoffs for path ii are given by

The Monte Carlo option prices are then simply

alt text


Example

alt text

In an Exam


Floating-strike lookback options

European floating-strike lookback options differ from fixed-strike options by instead setting the strike price KK to be the maximum SmaxS_{max} or minimum SminS_{min} asset prices over the life of the option. Their payoffs are

So, after calculating the N asset price paths {Si0,Si1,...,SiM}\{ S_{i0} , S_{i1} , . . . , S_{iM} \} for i = 1, . . . , N by simulating geometric Brownian motion, and calculating the minimum S i,min and maximum S i,max prices for each path, the Monte Carlo fl oating-strike lookback option prices are then simply

alt text


Example

alt text


Barrier options

European barrier options are another interesting variation of the path-dependence theme. They are effectively plain vanilla European options whose payoff s “knock in” or “knock-out” if the price of the underlying asset hits a barrier BB at some point over the life of the option:

  1. Knock-in barrier options: The payoff “knocks in” if the barrier BB is hit, meaning that the option starts its life deactivated and then is activated if BB is hit at some point.
  2. Knock-out barrier options: The payoff “knocks out” if the barrier BB is hit, meaning that the option starts its life as activated and then is deactivated if BB is hit at some point.

Knock-in barrier options

European knock-in options are activated if the price of the underlying asset hits the barrier B at some point of the option’s life.

If the barrier is never hit, the option is never activated and expires worthless. There’s two kinds of knock-in options depending on the relation between BB and SS (they typically start at-the-money):

  1. Up-and-in options set B>SB > S, noting that typically KSK ≈ S.
  2. Down-and-in options set B<SB < S, noting that typically KSK ≈ S.

The Monte Carlo pricing of knock-in options is a simple modification to the above, simply to check each path to see if the barrier was hit.


Example

alt text

alt text


Knock-out barrier options

European knock-out options are deactivated if the price of the underlying asset hits the barrier B at some point of the option’s life.

If the barrier is never hit, the option stays alive and the payoff s are the usual $ \max { 0, S_T − K }$ for a call and $ \max { 0, K − S_T }$ for a put. There’s two kinds of knock-ins depending on the relation between B and S:

  1. Up-and-out options set B>SB > S, noting that typically KSK ≈ S.
  2. Down-and-out options set B<SB < S, noting that typically KSK ≈ S. The Monte Carlo pricing of knock-out options is a simple modification to the above for knock-in options, namely a reversal of the logical conditions on the payoffs if the barrier was hit.

Example

alt text

alt text


Asian Options

A European Asian or average option’s payoff s depend on the average underlying asset price S^\hat{S} over the life of the option.

There’s two general types of Asian options:

  1. Fixed-strike Asian options.
  2. Floating-strike Asian options.

European fixed-strike Asian options are very similar to plain vanilla European options except the “fi nal price” of the underlying asset used in calculating an option’s payoff is not the asset price itself but the average asset price S^\hat{S} over the life of the option. Their payoffs are

It is simple to use Monte Carlo simulation to price them:

So, after calculating the N asset price paths {Si0,Si1,...,SiM}\{ S_{i0} , S_{i1} , . . . , S_{iM} \} for i = 1, . . . , N by simulating geometric Brownian motion, the average price of path ii is

S^i=1Mj=0MSij\hat{S}_{i} = \frac{1}{M} \sum^{M}_{j=0}S_{ij}

(arithmetic average). The payoffs for path ii are

Fixed-strike Asian options

alt text

The Monte Carlo option prices are then simply

alt text


Example

alt text


Average-strike Asian options

European average-strike Asian options diff er from fixed-strike Asian options by instead setting the strike price K=S^K = \hat{S} to be the average asset price S^\hat{S} over the life of the option. So, their payoff s are simply

The payoff s for path i are

alt text


Example

alt text