The payoff of a simple European or American style call or put
option depends only on the value of the asset, not on the path taken to get
there. This is a property known as path independence.
In a Barrier call or put option, the payoff is path dependent. Not only does it depend on the final asset
value but it also depends on whether a certain barrier
level was touched (or not touched) at some time during the life of the
option.
Single barrier options of many types exist and it is best
to try to understand these options by considering several key features. The first feature is the underlying option
which can be:
·
A European style, call or put option.
·
An American style, call or put option.
·
A Binary option, cash or nothing, asset or
nothing depending on whether barrier is hit or not hit.
Other possibilities exist, for example, an Asian
option, but these will not be considered in this document (nor are the
functions relevant for any other cases).
The second feature is the type of barrier which can be:
·
An up-and-in Barrier Option
In this case, when the option is set, the underlying asset is below the barrier
level. If the Barrier is touched, the
holder now owns a standard option. If
over the life of the option the barrier is never touched, the option dies
worthless (though the holder may be entitled to a rebate – see discussion later
on).
·
A down-and-in Barrier Option
Like an up-and-in option, except that the underlying asset was above the
barrier when the option was set.
·
An up-and-out- Barrier Option
In this case, when the option is set, the underlying asset is below the barrier
level. As long as the barrier is never
touched, the holder owns a standard option.
If the barrier is ever touched, the option dies worthless (though the
holder may be entitled to a rebate - see discussion later on).
·
A down-and-out Barrier Option
Similar to the up-and-out barrier option except that the underlying asset is
above the barrier when the option is set.
The final feature is the type of monitoring that
is done at the barrier. Several
possibilities exist:
·
Continuously monitored for the life of the
option
·
Partially monitored for specific windows during the life of the option. During these windows, the barrier is
monitored continuously.
·
Partially monitored for specific windows during the life of the option. During these windows, the barrier is
monitored at discrete dates
·
Discretely monitored at specific dates during
the life of the option.
For the case of continuously monitored barriers and
European style calls and puts, closed-form solutions exist (see for example
Rubinstein and Reiner [5]). Similarly
for binary options involving one continuously monitored barrier, see Rubinstein
and Reiner [6], or Hudson [3]. These cases
are standard and are covered in many basic texts like
For partial barrier options, where the barrier is
continuously monitored, or for continuously monitored barriers involving
American style options, a binomial tree is used. As is well known, the key to using trees for
pricing barrier options is to adjust the tree methodology near the
barrier. If no adjustment is made, the
methodology will work, but the convergence will be painfully slow (i.e. it will
require a lot of time steps to ensure an accurate solution). We use a tree scheme where the value at the
barrier nodes is adjusted (smoothed). Our method leads to very good convergence
results. In
For discrete barrier options, where the barrier is
monitored at a discrete instant in time, a different type of approach is
used. For all cases, even European style
options, no efficient closed form solution is available (it is true that in
some cases, one may be able to write the solution down as multiple integrals
over each discrete sampling point, but these integrals cannot be efficiently
calculated). We use a binomial tree
approach and again make an adjustment at the barrier points. The adjustment is that derived by Steiner et
al.[7].
We also suggest the reader may want to look at the papers
Horfelt [2] and Broadie et al. [1] for more discussion and examples of discrete barrier
options and more references therein.
Finally, we note the following convention: the fair value and risk statistics for options
which have knocked out historically are zero, where “historically” includes the
present day. In the case of a standard
down-and-out option for which the underlying price is less than the barrier
value, all statistics are thus equal to zero, except the probability of
breaching the barrier, which is equal to one.
Similarly in the case of an up-and-out option for which the underlying
price is greater than the barrier value.
For partial and/or discretely monitored barriers, the same will be true
if the barrier exists, and is monitored, on the valuation date of the option.
FINCAD provides functions to deal with all of the above
combinations. To search for the correct
function, refer to the following table:
Option Style |
Barrier Type |
Monitoring Type |
||
Continuous |
Partial Barrier (windows) |
Discrete |
||
European |
KO |
|||
European |
KI |
|||
American |
KO |
|||
American |
KI |
|||
|
Binary |
See the Binary Options FINCAD Math Reference document;
there are many functions of the form: aaBinary_bar_*() |
Use the rebate feature in the functions: See rebate discussion below. |
Use the rebate feature in the functions: |
Continuous
monitoring, whole life of option
The functions aaBarrier_eu() and
aaBarrier_am()
assume that the barrier is monitored continuously for the whole life of the
option.
The functions aaBarrier_out_part()
and aaBarrier_in_part()
allow any number of windows to be specified.
We note that the level of the barrier (and amount of any rebate) may
vary with time. Setting the monitor_freq argument to continuous (=10) ensures that during each window,
the barrier is continuously monitored.
For knock-out barrier options, the functions aaBarrier_out_dis_eu()
and aaBarrier_out_dis_am(),
are completely flexible and allow any set of monitoring dates to be
specified. The barrier level and the
rebate payments may vary with time. We
note that it may be advantageous to use function aaBarrier_out_part(),as
it allows for discrete dates to be generated within any window. For example, if the monitor_freq is set to
market days (=9), only the start and end date of the window need to be
specified, and the function will (internally) generate the actual monitoring
days.
For knock-in barrier options, the functions aaBarrier_in_dis_eu()
and aaBarrier_in_dis_am(),
are completely flexible and allow any set of monitoring dates to be specified. The
barrier level may vary with time. We
note that it may be advantageous to use function aaBarrier_in_part(),
as it allows for discrete dates to be generated within any window. For example, if the monitor_freq is set to
market days (=9), only the start and end date of the window need to be
specified, and the function will (internally) generate the actual monitoring
days.
All of the barrier option functions allow for the payment
of a rebate. All functions also output
the fair value of the rebate portion of the option as a stat (often this is
stat 8 or 9).
·
For the case of knock-out
type options, a rebate may be paid when a barrier is touched.
·
For the case of knock-in
type option, a rebate may be paid at the expiry date of the option if the
barrier was never touched (i.e. the option was never in).
These rebates are simply forms of binary /
digital options. Thus, it is possible to
use the above barrier functions to price various forms of digital barrier
options. For one single continuous
barrier, closed form solutions exist and we recommend using the functions aaBinary_bar_*()
(about 8-10 functions - see Binary options document). However, for the cases of partial or discrete
barriers, one can value the binary options using the relevant barrier option
function and the rebate feature.
·
For cash or nothing type binary options where
payment occurs if a barrier(s) is touched, use the relevant knock-out type
option
(e.g. aaBarrier_out_part(), aaBarrier_out_dis()). Set the rebate(s) to the relevant
amount(s). To ensure the option part of
the barrier option has no value, a simple trick is to set the option to a put
with zero strike, guaranteeing a put option value of zero.
·
For cash or nothing type binary options where
payment occurs if a barrier(s) is NOT touched, use the relevant knock-in type
option
(e.g. aaBarrier_in_part(), aaBarrier_in_dis()). Set the rebate to the relevant amount. To ensure the option part of the barrier
option has no value, a simple trick is to set the option to a put with zero
strike, guaranteeing a put option value of zero.
·
For asset or nothing type binary options, where
the asset value is paid if a barrier(s) is touched, use the relevant knock-out
type option (e.g. aaBarrier_out_part(), aaBarrier_out_dis())
and set the rebate amount(s) to the barrier level(s) and use the trick
described above to ensure the put option has no value.
·
For asset or nothing type binary options, where
the asset value is paid if a barrier(s) is NOT touched, the trick is to realize
is that the asset value is a call option with zero strike. Thus, using the relevant knock-out type option
(e.g. aaBarrier_out_part(), aaBarrier_out_dis()),
with a call option with zero strike (all rebates = 0) will price these options
·
Double Barrier Options: there are many functions available.
·
Quanto Options:
aaQuanto_Barrier_eu(),
aaQuanto_Barrier_am()
·
Binary Options: there are many functions available.
·
FX Specific Options: aaFX_barrier_eu(), aaFX_barrier_am()
Some
of these FINCAD functions have their inverse (root finding) versions: aaBarrier_ix(),
aaBarrier_am_ix(),
aaBarrier_eu_ix().These “_ix” (implied x, where x
is any input parameter) functions find the value of any input parameter for a
given value of an output statistic. More
details can be found in the General Root Finding_ix
Functions FINCAD Math Reference document.
Input Argument |
Description |
d_v |
The value
date. |
d_exp |
The expiry
date. |
price_u |
The value
of the underlying asset on the value date. |
ex |
The strike
value related to the call or put. |
bar |
The
barrier level for continuously monitored barrier options. In the case of
discretely monitored barrier options, this input will correspond to a
monitoring table that will contain the monitored dates, the barrier levels,
and the rebates[1]. |
option_type |
The type
of option 1 = call, 2 = put |
bar_type |
The type
of barrier option (see the description above). |
rebate |
The amount
of rebate (see the description above). |
vlt |
The
annualized volatility of the underlying asset. |
rate_ann, |
The risk
free rates are quoted on annually compounded, Act / 365 (fixed) basis. If the underlying is an equity, rate2 is
the annualized dividend yield. If the
underlying is a forward price, rate2 should be set equal to the risk free
rate1. If the underlying is an FX
rate, and quoted on a domestic per foreign basis, rate1 should be the risk |
For the case of an American Style Option, there is an
extra input:
Input Argument |
Description |
iter |
Number of
time steps: The American Style option is solved using an adjusted binomial
tree. The tree is adjusted at barrier
nodes in order to minimize the numerical error (see references below). This parameter specifies the number of time
steps used by the adapted binomial method.
In several of the barrier functions, when the input is called optimize, if the value is set to 1, 2, 3 or 4,
the function internally attempts to calculate optimal time step values (1
will have fewer time steps than 2 and so on).
If optimize is set to larger than 4, it runs with this many time
steps. |
For the case of Discretely Monitored Options, there
are two extra inputs:
Input Argument |
Description |
iter |
Number of
time steps: The discretely monitored case is solved through an adjusted
binomial tree. This parameter specifies the number of time steps used by the
adapted binomial method. The higher the number of time steps, the more
accurate the solution is. Unlike the optimize
method mentioned above this method has no level of optimization. Its value is
the actual number of time steps used in the building of the adjusted binomial
tree. |
knocked-in |
This
switch is used to indicate whether the knock-in option has already been
knocked-in in which case the holder has a standard call or put option. |
knocked-out |
This
switch is used to indicate whether an option has been knocked out. |
Output Statistic |
Description |
fair value |
The total
fair value of the option includes the fair value of the rebate; to obtain the
fair less the rebate subtract the value of the rebate (see below). |
delta |
The rate
of change in the fair value of the compound option per one unit change in the
spot value of the underlying asset.
This is the derivative of the option price with respect to the
underlying spot value. |
gamma |
The rate
of change in the value of delta per one unit change in the spot value of the
underlying asset. This is the second derivative of the option price with
respect to the underlying spot value. |
theta |
The rate
of change in the fair value of the compound option value per day; note that today’s fair value less theta is an
approximation to tomorrow’s fair value.
This is the negative of the derivative of the option price with
respect to time, divided by 365. |
vega |
The rate
of change in the fair value of the compound option per 1% change in
volatility. This is the derivative of the option price with respect to
volatility, divided by 100. |
rho1 |
The rate
of change in the fair value of the compound option per 1% change in
rate1. This is the derivative of the
option price with respect to rate1, divided by 100. |
rho2 |
The rate
of change in the fair value of the compound option per 1% change in
rate2. This is the derivative of the
option price with respect to rate2, divided by 100. |
value of
rebate |
The fair
value of the rebate (see the discussion above). |
(Risk-Neutral) probability of hitting barrier |
This is the probability of touching the barrier. It is important to realize that the
probability is with respect to the adjusted risk-neutral probability
distribution, not the lognormal probability distribution of the underlying
itself. The risk-neutral probability
distribution is associated with the basic hedging strategy in Black-Scholes
type option models and the probability distribution depends on the risk-free
rates (rate1 and rate2). What is the
probability of touching the barrier?
If one believes that the stock (or FX rate, …) is as likely to go up
as go down, the best approximation may be to set rate1 = rate2 = 0 (removing
the effect of the rates on the probability distribution). |
(Risk-Neutral) probability of hitting barrier (early
exercise considered) |
For American style options, early exercise is taken into
consideration in calculating the risk neutral probability of hitting barrier.
During the life of the knock-out option, the option might already be deep in
the money and have been exercised before the underlying price reaches the
barrier. Hence, this number is adjusted for possible early exercise. For European style options, early exercise is not allowed
and this value is the same as probability of hitting upper barrier above.
This output is available only for the function aaBarrier_am()
and aaBarrier_out_part(). |
For details about the calculation of Greeks, see
the Greeks of Options on non-Interest Rate
Instruments FINCAD Math Reference document.
Consider a one year down and out barrier put option on one
share of stock. The spot value of the
underlying asset is $100, the barrier level is $90 and the strike price is
$100. Also, let us suppose the holder of
the option is entitled to a rebate of $1 if the barrier is touched. Today’s date is
aaBarrier
Argument |
Description |
Example Data |
Switch |
price_u |
The value
of the underlying asset on the value date. |
100 |
|
ex |
The strike
value related to the call or put. |
100 |
|
bar |
The
barrier level for continuously monitored barrier options. |
95 |
|
d_v |
Value date |
1-Jan-1997 |
|
d_exp |
option expiry date (and date when averaging ends) |
1-Jan-1998 |
|
barrier_type2 |
The type of barrier option |
4 |
|
rebate |
The amount of rebate if barrier is hit |
1 |
|
vlt |
The annualized volatility of the underlying asset. |
20% |
|
rate_ann_365 |
risk free discount rate for the period from the value date
to the expiry date |
5.0% |
|
cost_hldg_365 |
cost of holding the option rather than the underlying
instrument |
0.0% |
|
option_type |
call or put |
2 |
put |
optimize |
optimal time step values |
4 |
|
stat |
stat list |
1…9 |
|
Results
Output Statistics |
Description |
Value |
Value |
1 |
fair value of the option. |
3.528681 |
0.770560 |
2 |
sensitivity of the option price to small changes in the
spot price. |
-0.145410 |
-0.041933 |
3 |
The rate of
change in the value of delta per one unit change in the spot value of the
underlying asset. |
0.005574 |
0.001582 |
4 |
The rate of
change in the fair value of the compound option value per day |
-0.000858 |
-0.000204 |
5 |
The rate of
change in the fair value of the compound option per 1% change in volatility. |
0.043381 |
0.012855 |
6 |
The rate of
change in the fair value of the compound option per 1% change in rate1. |
-0.031241 |
-0.012409 |
7 |
The rate of
change in the fair value of the compound option per 1% change in rate2. This is the derivative of the option price
with respect to rate2, divided by 100. |
0.034083 |
0.010753 |
8 |
The fair value of
the rebate |
0.183318 |
0.760489 |
9 |
This is the
probability of touching the barrier. |
0.192048 |
0.767232 |
[3]
[4]
[
[5]
Rubinstein, M. and Reiner, E., (September 1991)
‘Breaking Down the Barriers’, Risk, 28-35.
[6]
Rubinstein, M. and Reiner, E., (October 1991) ‘Unscrambling
the Binary Code’, Risk, 75-83.
Disclaimer
With respect to this document,
FinancialCAD Corporation (“FINCAD”) makes no warranty either express or
implied, including, but not limited to, any implied warranty of merchantability
or fitness for a particular purpose. In no event shall FINCAD be liable to
anyone for special, collateral, incidental, or consequential damages in
connection with or arising out of the use of this document or the information
contained in it. This document should not be relied on as a substitute for your
own independent research or the advice of your professional financial,
accounting or other advisors.
This information is subject to change
without notice. FINCAD assumes no responsibility for any errors in this
document or their consequences and reserves the right to make changes to this
document without notice.
Copyright
Copyright © FinancialCAD Corporation 2008.
All rights reserved.
[1] In the case of the discretely
monitored ‘in’ type function (aaBarrier_in_dis_eu())
the table will not contain a rebate column. The single rebate required
will be input as a separate input.