The simplest Binary (also known as Digital) options are
cash-or-nothing and asset-or-nothing options.
In a cash-or-nothing option, a predetermined amount is paid if the asset
is, at option expiry, above (call) or below (put) some strike level,
independent of the path taken. An
asset-or-nothing option is similar to a cash-or-nothing option except that the
holder of the option is entitled to either the full asset value – at option
expiry – or nothing. Both of these
options are handled by the function aaDigital_AON().
A simple generalization of the asset-or-nothing option is
a digital-gap-option. A gap option has a
payout profile equal to the asset value, less the gap value, depending on
whether the asset finishes above or below the strike price. It is clear that a digital gap option is
simply the difference between an asset or nothing and a cash-or-nothing digital
option with the cash amount set to the gap value. Gap options are handled by the function aaDigital_gap().
The next types of digital options are Binary Barrier
Options for which an option’s payout depends on whether the asset touched a
barrier level at some time during the life of the option. There are two classes of binary barrier
options. The first are options where a
payout of cash (or asset) is made if the barrier is hit (or not hit) during the
life of the option. Functions dealing
with this class of options are summarized in the following table:
Binary Barrier Options
(Barrier hit or not hit)
Function |
Barrier |
Payment Type |
Hit |
cash or nothing |
|
Hit |
asset or nothing |
|
Not hit |
cash or nothing |
|
Not hit |
asset or nothing |
For example, aaBinary_bar_hit_cash() handles binary barrier options with a payoff of
a fixed amount of cash if the barrier is hit during the life of the option, or
nothing if the barrier is never hit.
The payout is made
either when the barrier is hit, or at option expiry. For cash payouts, this distinction will only
affect the period of time over which the payment is discounted. For asset payouts, however, the distinction
is more subtle. If the payout is made
when the barrier is touched, then the present value of the payout is equal to
the discounted barrier value – since this is the asset value when the barrier
is touched. On the other hand, if the
payout is made at option expiry, then the present value of the payout is equal
to whatever the asset value happens to be at the expiry date, discounted back
to the valuation date.
The second class is the
options where a payout of cash (or asset) is made if the barrier is hit
(or not hit) during the life of the option and if the option is in the money at
expiry. These are the types of knock-in
and knock-out binary barrier options. Functions
dealing with this class of options are summarized in the following table:
Binary Barrier Options
(Knock-in or Knock-out)
Function |
Barrier Type |
Digital Option Type |
Call/Put |
knock-in |
cash or nothing |
Y |
|
knock-in |
asset or nothing |
Y |
|
knock-out |
cash or nothing |
Y |
|
Knock-out |
asset or nothing |
Y |
For example aaBinary_bar_in_asset()
deals with binary barrier options which has
a payout of an asset-or-nothing binary option if the barrier is hit during the
life of the option. In other words, if
the barrier is hit during the life of the option, a payment equivalent to the
value of the underlying asset is made if the option is in the money at expiry;
otherwise (if the barrier is not hit or the option is out of the money at
expiry) no payment will be made.
There are (inverse) root finding versions of all FINCAD Binary
functions above. They are listed and
described in the General Root Finding (_ix) Functions FINCAD Math
Reference document.
There are other types of digital options available within
the FINCAD options functions. There are
various flavors of double barrier binary options. Specific digital option related functions are:
Combines a binary
option with knock-outs at the two barriers.
Rebates may be specified at the barriers and at expiry
Binary option is
knocked-in or out if both barriers are touched
Cash is paid out
if barriers are hit or not hit during the life of the option
A binary option
is knocked-in or out depending on whether the upper or the lower barrier is hit
first
A binary option
is knocked-in or out if either barrier is touched.
We also note that within most of the single
barrier option related functions (aaBarrier*) and
the double barrier option related functions (aaBarrier_dbl*),
there is often the ability to input a rebate amount at any of the barriers (or
at expiry if none of the barriers is hit).
Since these functions allow features like discretely sampled barriers,
exercise windows, continuously sampled barriers, varying level barriers, etc.,
it is possible to construct a very wide range of binary options using the
rebate feature. For more information,
see the barrier and double barrier option documents.
In the family of
Binary functions there are two, aaBinary_exp and aaBinary_hit, that are kept as a legacy to older
versions. They have full functionality
and are embedded into the workbooks, however we encourage users to employ other
available FINCAD functions among listed below.
Finally, we note the following convention: the fair value
and risk statistics for binary barrier options which have hit the barrier
historically, and for which payment is made when the barrier is hit, are zero,
where “historically” includes the present day.
For example, in the case of a binary option with an up-and-in barrier
which pays out a fixed amount of cash when the barrier is hit, and for which
the underlying price is greater than the barrier value, all statistics are
equal to zero except the probability of hitting the barrier, which is equal to
one.
aaDigital_AON(price_u, ex, cash, d_v, d_exp, payoff, vlt,
rate_ann, cost_hldg, option_type, stat)
aaBinary_exp(price_u, ex, bar, d_v, d_exp, bar_type,
payoff, cash, vlt, rate_ann, cost_hldg, option_type, stat)
aaDigital_Gap(price_u, ex, cash, d_v, d_exp, vlt, rate_ann,
cost_hldg, option_type, stat)
aaBinary_hit(price_u, bar, d_v, d_exp, payoff, cash,
vlt, rate_ann, cost_hldg, stat)
aaBinary_bar_hit_cash(price_u, bar, d_v, d_exp, barrier_type,
cash, paytime_type, vlt, rate_ann, cost_hldg, stat)
aaBinary_bar_hit_asset(price_u, bar, d_v, d_exp, barrier_type,
paytime_type, vlt, rate_ann, cost_hldg, stat)
aaBinary_bar_nohit_cash(price_u, bar, d_v, d_exp, barrier_type,
cash, vlt, rate_ann, cost_hldg, stat)
aaBinary_bar_nohit_asset(price_u,
bar, d_v, d_exp, barrier_type, vlt, rate_ann, cost_hldg, stat)
aaBinary_bar_in_cash(price_u, ex, bar, d_v, d_exp, barrier_type,
cash, vlt, rate_ann, cost_hldg, option_type, stat)
aaBinary_bar_in_asset(price_u, ex, bar, d_v, d_exp, barrier_type,
vlt, rate_ann, cost_hldg, option_type, stat)
aaBinary_bar_out_cash(price_u, ex, bar, d_v, d_exp, barrier_type,
cash, vlt, rate_ann, cost_hldg, option_type, stat)
aaBinary_bar_out_asset(price_u,
ex, bar, d_v, d_exp, barrier_type, vlt, rate_ann, cost_hldg, option_type, stat)
·
Quanto: each of
the functions above has a Quanto version.
·
FX Specific: There are several FX specific versions of
binary option functions
Many
of these FINCAD functions have their inverse (root finding) versions:
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 |
price_u |
current value of the
underlying asset |
ex |
exercise price (used
only in the functions which have a option type switch) |
cash |
amount of cash payment
(used in the functions which deal with options with a payoff of cash or
nothing) |
d_v |
value date |
d_exp |
option expiry date |
payoff |
1 = cash, 2 = asset (used in aaDigital_AON() only). |
vlt |
The annualized
volatility of the underlying asset |
rate_ann, cost_hldg |
Also denoted rate1 and
rate2, respectively. These rates are
quoted on an 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-free domestic rate and rate2 the risk-free foreign rate. ·
If the
underlying is an FX rate, and quoted on a foreign per domestic basis, rate1
should be the risk-free foreign rate and rate2 the risk-free domestic rate. ·
If the
underlying is a commodity, then rate2 should be set to the annualized holding
cost of the commodity, including storage and insurance costs as well as
marginal convenience value. |
option_type |
1 = call: 2 = put
|
stat |
any set of 1…8. (any
set of 1,2 for aaDigital_gap()). See the outputs in the
examples below. |
barrier_type |
1 = up and in; 2 = down and in (used
in the binary barrier functions only). |
paytime_type |
1 = pay at barrier; 2 = pay at expiry
(used in aaBinary_bar_hit_cash() and aaBinary_bar_hit_asset only).
|
Output Statistics |
Description |
fair value |
The fair value of the
option. |
delta |
The rate of change in
the fair value of the option per one unit change in the current value of the
underlying asset. This is the
derivative of the option price with respect to the underlying current value. |
gamma |
The rate of change in
the value of delta per one unit change in the current value of the underlying
asset. This is the second derivative
of the option price with respect to the underlying current value. |
theta |
The rate of change in
the fair value of the option per one day decrease of the option time. This is the negative of the derivative of
the option price with respect to the option time (in years), divided by 365. |
vega |
The rate of change in
the fair value of the option per 1% change in volatility. This is the derivative of the option price
with respect to volatility, divided by 100. |
rho of rate |
The rate of change in
the fair value of the option per 1% change in the risk-free rate, rate_ann. This is the derivative of the option price
with respect to the risk-free rate, divided by 100. |
rho of dividend yield |
The rate of change in
the fair value of the option per 1% change in the holding cost, cost_hldg. This is the derivative of the option price
with respect to the holding cost, divided by 100. If the underlying is
futures, this statistic is not available. |
probability of hitting
the barrier |
The probability (the
risk neutral probability) that the underlying price reaches the barrier
during the life of the option. This
output is available only for the binary barrier functions. |
Note: For
the function aaDigital_gap()
only the delta of its risk statistics is given. Remember that aaDigital_gap() is
equivalent to aaDigital_AON()
with payoff=asset minus aaDigital_AON() with payoff=cash. One can obtain other risk statistics of aaDigital_gap()
from those of aaDigital_AON()
easily.
For
details about the calculation of Greeks, see the Greeks of Options on non-Interest Rate
Instruments FINCAD Math Reference document.
Context examples are given for binary options on stocks
and stock indices.
Consider a binary call option on an equity with a spot
price of 100. The strike price is 100. The payoff of the option is 3 if the option is
in the money on the expiry date, and 0 otherwise. Today’s date is Jun. 13, 1998. The option expires at Jan. 24, 1999. Suppose
the relevant annual risk free rate is 6%, the stock’s annual volatility is 20%
and its annual yield is 2%. Calling
FINCAD function aaDigital_AON() we get the following result:
aaDigital_AON
Argument |
Description |
Example Data |
Switch |
price_u |
underlying price |
100 |
|
ex |
exercise price |
100 |
|
cash |
cash payment |
3 |
|
d_v |
value (settlement)
date |
13-Jun-1998 |
|
d_exp |
expiry date |
24-Jan-1999 |
|
payoff |
cash or asset |
1 |
cash |
vlt |
volatility |
0.2 |
|
rate_ann |
rate - annual -
Actual/365 |
0.06 |
|
cost_hldg |
holding cost - annual
- Actual/365 |
0.02 |
|
option_type |
option type |
1 |
call |
stat |
stat list |
1…7 |
|
Results
Statistics |
Description |
Value |
1 |
fair value |
1.5307044 |
2 |
delta |
0.0733304 |
3 |
gamma |
-0.001072 |
4 |
theta |
5.91E-05 |
5 |
vega |
-0.013207 |
6 |
rho of rate |
0.0337437 |
7 |
rho of dividend yield |
-0.04432 |
Consider a binary barrier option of type down and in on a stock with a spot price of 100. The barrier is 85. The payout of the option is 5 at the time the
barrier is hit, and 0 if the barrier is never hit during the option period. Today’s date is Jan. 13, 1998. The option expires on Jan. 24, 1999. Suppose the relevant annual risk free rate is
6%, the stock’s annual volatility is 20% and its annual yield is 2%. Calling FINCAD function aaBinary_bar_hit_cash()
we get the following result:
aaBinary_bar_hit_cash
Argument |
Description |
Example Data |
Switch |
price_u |
underlying price |
100 |
|
bar |
barrier |
85 |
|
d_v |
value (settlement)
date |
13-Jan-1998 |
|
d_exp |
expiry date |
24-Jan-1999 |
|
bar_type |
barrier type |
2 |
down and in |
cash |
cash payment |
5 |
|
paytime_type |
pay time type |
1 |
pay at the time when the barrier is hit |
vlt |
volatility |
0.2 |
|
rate_ann |
rate - annual -
Actual/365 |
0.06 |
|
cost_hldg |
holding cost - annual
- Actual/365 |
0.02 |
|
stat |
stat list |
1…8 |
|
Results
Statistics |
Description |
Value |
1 |
fair value |
1.907380 |
2 |
delta |
-0.139647 |
3 |
gamma |
0.008136 |
4 |
theta |
-0.002677 |
5 |
vega |
0.137279 |
6 |
rho of rate |
-0.085299 |
7 |
rho of dividend yield |
0.079981 |
8 |
probability of hitting
the barrier |
0.391968 |
Note: “Down
and in” means that the underlying price at the value date is bigger than the
barrier. Similarly “up and in” means that the underlying price is smaller than
the barrier.
Consider a binary barrier call option of type down and in on a stock with a spot price of 100. The barrier is 85. The payoff of the option is the value of the
stock if the barrier is hit and the underlying exceeds 90, the strike price. Today’s date is Jan. 13, 1998. The option expires on Jan. 24, 1999. Suppose the relevant annual risk free rate is
6%, the stock’s annual volatility is 20% and its annual yield is 2%. Calling FINCAD function aaBinary_bar_in_asset()
we get the following result:
aaBinary_bar_in_asset
Argument |
Description |
Example Data |
Switch |
price_u |
underlying price |
100 |
|
ex |
exercise price |
90 |
|
bar |
barrier |
85 |
|
d_v |
value (settlement)
date |
13-Jan-1998 |
|
d_exp |
expiry date |
24-Jan-1999 |
|
barrier_type |
barrier type |
2 |
down and in |
vlt |
volatility |
0.2 |
|
rate_ann |
rate - annual -
Actual/365 |
0.06 |
|
cost_hldg |
holding cost - annual
- Actual/365 |
0.02 |
|
option_type |
option type |
1 |
call |
stat |
stat list |
1…8 |
|
Results
Statistics |
Description |
Value |
1 |
fair value |
13.16518 |
2 |
delta |
-1.13234 |
3 |
gamma |
0.08407 |
4 |
theta |
-0.03199 |
5 |
vega |
1.29355 |
6 |
rho of rate |
-0.15453 |
7 |
rho of dividend yield |
0.02754 |
8 |
probability of hitting
the barrier |
0.39197 |
Consider a European style call option on a stock with a
spot price of 100. The strike is 100.
When exercised, the payoff of the option is the stock price minus 3, a fixed
amount of cash. Today’s date is Jan. 13,
1998. The option expires on Jan. 24,
1999. Suppose the relevant annual risk
free rate is 6%, the stock’s annual volatility is 20% and its annual yield is
2%. Calling FINCAD function aaDigital_gap()
we get the following result:
aaDigital_gap
Argument |
Description |
Example Data |
Switch |
price_u |
underlying price |
100 |
|
ex |
exercise price |
100 |
|
cash |
cash payment |
3 |
|
d_v |
value (settlement)
date |
13-Jan-1998 |
|
d_exp |
expiry date |
24-Jan-1999 |
|
vlt |
volatility |
0.2 |
|
rate_ann |
rate - annual -
Actual/365 |
0.06 |
|
cost_hldg |
holding cost - annual
- Actual/365 |
0.02 |
|
option type |
option type |
1 |
call |
stat |
stat list |
1…2 |
|
Results
Statistics |
Description |
Value |
1 |
fair value |
58.90208 |
2 |
delta |
2.39163 |
[1]
[2]
Rubinstein, Mark and Reiner, Eric, (October
1991), ‘Unscrambling the Binary Code’, Risk.
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.