티스토리 뷰

Language/C

Exotic option valuation

remings 2008. 8. 12. 05:22

Average, lookback and other exotic options

We now look at a type of options that has received a lot of attention in later years. The distinguishing factor of these options is that they depend on the whole price path of the underlying security between today and the option maturity.

Bermudan options

A Bermudan option is, as the name implies,13.1 a mix of an European and American option. It is a standard put or call option which can only be exercised at discrete dates throughout the life of the option. The simplest way to do the pricing of this is again the binomial approximation, but now, instead of checking at every node whether it is optimal to exercise early, only check at the nodes corresponding to the potential exercise times. Code 13.1 shows the calculation of the Bermudan price using binomial approximations. The times as which exercise can happen is passed as a vector argument to the routine, and in the binomial a list of which nodes exercise can happen is calculated and checked at every step.


\begin{program}
% latex2html id marker 4036\caption{Binomial approximation to ...
...le{/home/bernt/2003_algor/all_cc_tex_files/bermudan_put_option.cc}
\end{program}

Asian options

The payoff depends on the average of the underlying price. An average price call has payoff

\begin{displaymath}C_T= \max(0,\bar{S}-X),\end{displaymath}

where $\bar{S}$ is the average of the underlying in the period between $t$ and $T$.

Another Asian is the average strike call

\begin{displaymath}C_T= \max(0,S_T-\bar{S})\end{displaymath}

There are different types of Asians depending on how the average $\bar{S}$ is calculated. For the case of $S$ being lognormal and the average $\bar{S}$ being a geometric average, there is an analytic formula due to Kemna and Vorst (1990). Hull (2003) also discusses this case. It turns out that one can calculate this option using the regular Black Scholes formula adjusting the volatility to $\sigma/\sqrt{3}$ and the dividend yield to
\begin{displaymath}\frac{1}{2} \left(r+q+\frac{1}{6}\sigma^2\right) \end{displaymath}

in the case of continous sampling of the underlying price distribution.

Code 13.2 shows the calculation of the analytical price of an Asian geometric average price call.


\begin{program}
% latex2html id marker 4041\caption{Analytical price of an Asi...
...ome/bernt/2003_algor/all_cc_tex_files/exotics_asian_price_call.cc}
\end{program}


Lookback options

The payoff from lookback options depend on the maximum or minimum of the underlying achieved through the period. The payoff from the lookback call is the terminal price of the undelying less the minimum value

\begin{displaymath}C_T= \max(0,S_T-\min_{\tau\in[t,T]}{S_\tau})\end{displaymath}

For this particular option an analytical solution has been found, due to Goldman et al. (1979), which is shown in formula 13.1 and implemented in code 13.3


\begin{formula}
% latex2html id marker 3935\caption{Analytical formula for a l...
...ght)\ln\left(\frac{S}{S_{min}}\right)}{\sigma^2}\end{displaymath}
\end{formula}


\begin{program}
% latex2html id marker 4046\caption{Price of lookback call opt...
...{/home/bernt/2003_algor/all_cc_tex_files/exotics_lookback_call.cc}
\end{program}

Monte Carlo Pricing of options whose payoff depend on the whole price path

Monte Carlo simulation can be used to price a lot of different options. The limitation is that the options should be European. American options can not be priced by simulation methods. In chapter 11 we looked at a general simulation case where we wrote a generic routine which we passed a payoff function to, and the payoff function was all that was necessary to define an option value. The payoff function in that case was a function of the terminal price of the underlying security. The only difference to the previous case is that we now have to generate a price sequence and write the terminal payoff of the derivative in terms of that, instead of just generating the terminal value of the underlying security from the lognormal assumption.

Generating a series of lognormally distributed variables

Recall that one will generate lognormally distributed variables as

\begin{displaymath}S_{T}=S_te^{\left(r-\frac{1}{2}\sigma^2\right)(T-t)+\sigma\sqrt{T-t}\tilde{x}} \end{displaymath}

where the current time is $t$ and terminal date is $T$. To simulate a price sequence one splits this period into say $N$ periods, each of length
\begin{displaymath}\Delta t=\frac{T-t}{N} \end{displaymath}


\begin{picture}(300,40)
\put(10,25){\vector(1,0){290}}
\put(290,10){Time}
\put(1...
...a t$}
\put(170,20){\line(0,1){10}}
\put(160,10){$\cdot\cdot\cdot$}
\end{picture}

Each step in the simulated price sequence is

\begin{displaymath}S_{t+\Delta t}=S_te^{\left(r-\frac{1}{2}\sigma^2\right)\Delta+\sigma\sqrt{\Delta t}\tilde{x}} \end{displaymath}

Code 13.4 shows how one would simulate a sequence of lognormally distributed variables.


\begin{program}
% latex2html id marker 4051\caption{Simulating a sequence of l...
...gor/all_cc_tex_files/simulate_lognormally_distributed_sequence.cc}
\end{program}

This code is then used in the generic routine to do calculations, as shown in code 13.5.


\begin{program}
% latex2html id marker 4056\caption{Generic routine for pricin...
...files/simulate_european_options_generic_routine_price_sequence.cc}
\end{program}

To price an option we are then only in need of a definition of a payoff function. We consider a couple of examples. One is the case of an Asian option, shown in code 13.6.


\begin{program}
% latex2html id marker 4061\caption{Payoff function for Asian ...
...indfile{/home/bernt/2003_algor/all_cc_tex_files/payoff_average.cc}
\end{program}

Another is the payoff for a lookback, shown in code 13.7


\begin{program}
% latex2html id marker 4066\caption{Payoff function for lookba...
...ndfile{/home/bernt/2003_algor/all_cc_tex_files/payoff_lookback.cc}
\end{program}

Control variate

As discussed in chapter 11, a control variate is a price which we both have an analytical solution of and find the Monte Carlo price of. The differences between these two prices is a measure of the bias in the Monte Carlo estimate, and is used to adjust the Monte Carlo estimate of other derivatives priced using the same random sequence.

Code 13.8 shows the Black Scholes price used as a control variate. An alternative could have been the analytical lookback price, or the analytical solution for a geometric average price call shown earlier.


\begin{program}
% latex2html id marker 4071\caption{Control Variate}
\lgrindfi...
...uropean_options_generic_routine_price_sequence_control_variate.cc}
\end{program}

References

Exotic options are covered in Hull (2003). Rubinstein (1993) has an extensive discussion of analytical solutions to various exotic options.

출처 : http://finance.bi.no/~bernt/gcc_prog/recipes/recipes/node14.html