A standard option
has a payoff involving only one underlying asset. A multi-asset option is an option whose payoff
is based on two (or more) assets.
A dual strike option is a European style option whose
payoff involves receiving the best payoff of two standard European style call
or put options. These options involve
two underlying assets and two strike prices.
Let S1 and S2 be two assets, consider a call option on S1 with strike
price K1 and consider a put option on S2 with a strike price of
A rainbow option is a European style option on the maximum
(or minimum) of two underlying assets. In
more detail, the rainbow call option of “maximum” type on two assets S1 and S2
with a strike price K has a payoff of max(max(S1, S2) –K,0) at expiry. This type of rainbow option is handled by the
FINCAD function aaRainbow_max().
The other type of rainbow option, the
“minimum” type, which, for a call, has a payoff of max(min(S1,S2)-K,0), is
handled by the function aaRainbow_min(). Both these cases are calculated using an
analytical formula.
A spread option is a standard European style option on the
difference of the values of two assets. For example, a spread call option on
underlying assets S1 and S2 with the strike price K is the option with a payoff
of max(S2-S1-K,0) at expiry. For a more
detailed description of these options the reader is referred to the Spread Options FINCAD Math
Reference document.
FINCAD provides functions valuing options with a payoff of
the maximum or minimum of the values of two assets or the values of two assets
and a fixed amount of cash. Suppose S1
and S2 are prices of two risky assets and K is a fixed amount of cash. The function aaBest_of_two() (aaWorst_of_two())
handles the option with a payoff of max(S1,S2) (resp. min(S1,S2)) at expiry. The function aaBest_of_two_strk() (aaWorst_of_two_strk())
handles the option with a payoff of max(S1,S2,K) (resp. min(S1,S2,K)) at
expiry. These payoffs extend to include
more than two assets: aaBest_of_all_MC() calculates
the value and deltas for an option with payoff of max(S1,S2,…Sn), that is the
maximum over any number of assets. Similarly aaBest_of_all_strk_MC(),
aaWorst_of_all_MC(),
and aaWorst_of_all_strk_MC()
handle options on any number of assets, with payoffs that are analogous to the
options’ two-asset counterparts.
The options involving two underlying can be solved using
an analytical formula while the general cases are handled by
FINCAD provides functionality to value options to obtain
the best of any number of Asian options (average price) and / or any number of
average strike options. The options
involve any number of underlyings with any strike price and may be calls or
puts. For a more detailed explanation
average options and average strike options, refer to the Asian
Options and Average-strike Options -
Single Asset FINCAD Math Reference documents. FINCAD has implemented the following
functions to allow for an unlimited number of multiple averages within one
implementation: aaMulti_Asian_MC(), aaMulti_Asian_fs_MC(), aaMulti_aver_strk_MC(),
and aaMulti_aver_strk_fs_MC(). Each of these is solved using
Lookback options offer perfect hindsight. That is, they allow the option holder the
right to purchase the underlying asset at the lowest price (call option), or
sell the underlying asset at the highest price (put option) over a specified
period. In option terminology, this
perfect timing allows the strike price for a call to be set at the minimum
price of the underlying asset, or the strike price for a put to be set at the
maximum price over the stated period.
FINCAD has implemented two functions that allow the user to define an
unlimited number of lookback options within one implementation: aaMulti_look_MC() and
aaMulti_look_fs_MC(). For a more detailed explanation of the
lookback payoff, refer to the Lookback Options
FINCAD Math Reference document.
The _MC functions apply the
aaDualstrike (price_u1,
price_u2, ex1, ex2, d_exp, d_v, vlt1, vlt2, rate_ann, option_type1,
option_type2, stat, iter, cost_hldg1, cost_hldg2, corr)
aaRainbow_max
(price_u1, price_u2, ex, d_exp, d_v, vlt1, vlt2, rate_ann, option_type,
cost_hldg1, cost_hldg2, corr, stat)
aaRainbow_min (price_u1,
price_u2, ex, d_exp, d_v, vlt1, vlt2, rate_ann, option_type, cost_hldg1,
cost_hldg2, corr, stat)
aaSpreadopt (price_u1,
price_u2, ex, d_exp, d_v, vlt1, vlt2, rate_ann, option_type, stat, iter,
cost_hldg1, cost_hldg2, corr)
aaBest_of_two
(price_u1, price_u2, d_exp, d_v, vlt1, vlt2, rate_ann, cost_hldg1, cost_hldg2,
corr, stat)
aaWorst_of_two
(price_u1, price_u2, d_exp, d_v, vlt1, vlt2, rate_ann, cost_hldg1, cost_hldg2,
corr, stat)
aaBest_of_two_strk
(price_u1, price_u2, ex, d_exp, d_v, vlt1, vlt2, rate_ann, cost_hldg1,
cost_hldg2, corr,stat)
aaWorst_of_two_strk
(price_u1, price_u2, ex, d_exp, d_v, vlt1, vlt2, rate_ann, cost_hldg1,
cost_hldg2, corr,stat)
aaBest_of_all_MC
(ast_info, corr_matrix, d_v, d_exp, rate_ann, num_rnd, table_type)
aaBest_of_all_strk_MC
(ast_info, corr_matrix, d_v, d_exp, rate_ann, num_rnd, table_type)
aaWorst_of_all_MC (ast_info,
corr_matrix, d_v, d_exp, rate_ann, num_rnd, table_type)
aaWorst_of_all_strk_MC
(ast_info, corr_matrix, d_v, d_exp, rate_ann, num_rnd, table_type)
aaMax_opt_MC
(ast_info, corr_matrix, d_v, d_exp, rate_ann, num_rnd, table_type)
aaMin_opt_MC
(ast_info, corr_matrix, d_v, d_exp, rate_ann, num_rnd, table_type)
aaMulti_asian_MC
(ast_info, corr_matrix, d_v, d_exp, d_aver, rate_ann, sam_freq, num_rnd,
table_type)
aaMulti_asian_fs_MC
(ast_info, corr_matrix, d_v, d_exp, d_aver, rate_ann, sam_freq, num_rnd,
table_type)
aaMulti_strk_MC
(ast_info, corr_matrix, d_v, d_exp, rate_ann, num_rnd, table_type)
aaMulti_aver_strk_MC
(ast_info, corr_matrix, d_v, d_exp, d_aver, rate_ann, sam_freq, num_rnd,
table_type)
aaMulti_aver_strk_fs_MC
(ast_info, corr_matrix, d_v, d_exp, d_aver, rate_ann, sam_freq, num_rnd,
table_type)
aaMulti_look_MC
(ast_info, corr_matrix, d_v, d_exp, d_aver, rate_ann, sam_freq, num_rnd,
table_type)
aaMulti_look_fs_MC
(ast_info, corr_matrix, d_v, d_exp, d_aver, rate_ann, sam_freq, num_rnd,
table_type)
Context specific examples are presented for dual strike,
spread, rainbow and worst of two options on indices and equities.
Consider a European style dual strike option on two
stocks, stock 1 and stock 2, with spot prices 100 and 200, respectively. The correlation between the log of the values
of the two stock prices is 0.1. The
options on both assets are calls with strike prices of 100 and 180,
respectively. Today’s date is Feb. 1,
1998. The option expires on Dec. 1, 1998.
Suppose the relevant annualized risk
free rate is 6%, the annualized volatility of stock 1 is 20% and that of stock
2 is 15%. Moreover, the annualized
dividend yield of stock 1 is 2% and that of stock 2 is 0. Calling FINCAD function aaDualstrike()
with an iteration number of 100 we get the following results:
aaDualstrike
Argument |
Description |
Example Data |
Switch |
price_u1 |
underlying price
of asset 1 |
100 |
|
price_u2 |
underlying price
of asset 2 |
200 |
|
ex1 |
exercise price of
asset 1 |
100 |
|
ex2 |
exercise price of
asset 2 |
180 |
|
d_exp |
expiry date |
1-Dec-1998 |
|
d_v |
value
(settlement) date |
1-Feb-1998 |
|
vlt1 |
volatility of
asset 1 |
20% |
|
vlt2 |
volatility of
asset 2 |
15% |
|
rate_ann |
rate - annual -
Actual/365 |
6% |
|
option_type1 |
option type for
asset 1 |
2 |
put |
option_type2 |
option type for
asset 2 |
1 |
call |
stat |
statistics |
1,…3 |
|
iter |
number of
iterations |
100 |
|
cost_hldg1 |
holding cost -
asset 1 |
2% |
|
cost_hldg2 |
holding cost -
asset 2 |
0% |
|
correlation coefficient |
correlation
coefficient |
0.1 |
|
Results
Statistics |
Description |
Value |
1 |
fair value |
31.80197449 |
2 |
delta of asset 1 |
-0.12174733 |
3 |
delta of asset 2 |
0.814231513 |
Consider a European crack (spread) put option on the
forward prices of heating (asset 1) and jet fuel (asset 2), with spot prices
17.42 and 21.08, respectively. The
correlation between the log values of the two forward prices is 0.92. The strike price of the option is 3.66. Today’s date is Feb. 1, 1998. The option has a maturity of 90 days. Suppose the relevant annual risk free rate is
5%, the annualized volatility of the
forward price of heating oil is 24% and that of jet oil is 25%. Calling FINCAD function aaSpreadopt()
with an iteration number of 100 we get the following results:
aaSpreadopt
Argument |
Description |
Example Data |
Switch |
price_u1 |
underlying price
of asset 1 |
17.42 |
|
price_u2 |
underlying price
of asset 2 |
21.08 |
|
ex |
exercise price |
3.66 |
|
d_exp |
expiry date |
2-May-1998 |
|
d_v |
value
(settlement) date |
1-Feb-1998 |
|
vlt1 |
volatility of
asset 1 |
24% |
|
vlt2 |
volatility of
asset 2 |
25% |
|
rate_ann |
rate - annual -
Actual/365 |
5% |
|
option_type |
option type |
2 |
put |
stat |
statistics |
1,…12 |
|
iter |
number of
iterations |
100 |
|
cost_hldg1 |
holding cost -
asset 1 |
5% |
|
cost_hldg2 |
holding cost -
asset 2 |
5% |
|
correlation coefficient |
correlation
coefficient |
0.92 |
|
Results
Statistics |
Description |
Value |
1 |
fair value |
0.425246995 |
2 |
delta of asset 1 |
0.500403624 |
3 |
delta of asset 2 |
-0.47978926 |
4 |
gamma of asset 1 |
0.150910152 |
5 |
gamma of asset 2 |
0.185307439 |
6 |
theta |
-0.002312574 |
7 |
vega of asset 1 |
-0.009158072 |
8 |
vega of asset 2 |
0.028058376 |
9 |
vega of correlation |
-0.020395381 |
10 |
rho of rate |
-0.004377361 |
11 |
rho of holding cost of asset 1 |
-0.020141811 |
12 |
rho of holding cost of asset 2 |
0.024229342 |
Note that because the underlyings are forwards,
their holding costs are set to be the risk free rate.
Consider a European rainbow call option on the maximum of
two stock indices, index 1 and index 2, with spot prices 200 and 190,
respectively. The correlation between
the log values of the two indices is 0.1. The strike price of the option is 190. Today’s date is Feb. 1, 1998. The option expires on Dec. 1, 1998. Suppose the relevant annual risk free rate is
6%, the annualized volatility of index 1 is 20% and that of index 2 is 15%. Moreover, the annualized dividend yield of
stock 1 is 2% and that of index 2 is 1%. Calling FINCAD function aaRainbow_max
we get the following result:
aaRainbow_max
Argument |
Description |
Example Data |
Switch |
price_u1 |
underlying price
of asset 1 |
200 |
|
price_u2 |
underlying price
of asset 2 |
190 |
|
ex |
exercise price |
190 |
|
d_exp |
expiry date |
1-Dec-1998 |
|
d_v |
value
(settlement) date |
1-Feb-1998 |
|
vlt1 |
volatility of
asset 1 |
20% |
|
vlt2 |
volatility of
asset 2 |
15% |
|
rate_ann |
rate - annual -
Actual/365 |
6% |
|
option_type |
option type |
1 |
call |
cost_hldg1 |
holding cost -
asset 1 |
2% |
|
cost_hldg2 |
holding cost -
asset 2 |
1% |
|
correlation coefficient |
correlation
coefficient |
0.1 |
|
stat |
statistics |
1,…11 |
|
Results
Statistics |
Description |
Value |
1 |
fair value |
30.33113094 |
2 |
delta of asset 1 |
0.55119486 |
3 |
gamma of asset 1 |
0.009889126 |
4 |
delta of asset 2 |
0.37862139 |
5 |
gamma of asset 2 |
0.011805765 |
6 |
theta |
-0.049170177 |
7 |
vega of asset 1 |
0.62703999 |
8 |
vega of asset 2 |
0.491176068 |
9 |
rho of risk-free rate |
1.188858554 |
10 |
rho of holding cost of asset 1 |
-0.896604732 |
11 |
rho of holding cost of asset 2 |
-0.590897162 |
Consider a European option on two stocks, stock 1 and
stock 2, with spot prices 200 and 190, respectively. The payoff of the option is the minimum of the
prices of the two assets on the expiry date and a fixed amount 190. The correlation between the log values of the
two stock prices is 0.1. Today’s date is
Feb. 1, 1998. The option expires on Dec.
1, 1998. Suppose the relevant annual
risk free rate is 6%, the annualized volatility of stock 1 is 20% and that of
stock 2 is 15%. Moreover, the annualized
dividend yield of stock 1 is 2% and that of stock 2 is 1%. Calling FINCAD function aaWorst_of_two
we get the following result:
aaWorst_of_two
Argument |
Description |
Example Data |
Switch |
price_u1 |
underlying price
of asset 1 |
200 |
|
price_u2 |
underlying price
of asset 2 |
190 |
|
d_exp |
expiry date |
1-Dec-1998 |
|
d_v |
value
(settlement) date |
1-Feb-1998 |
|
vlt1 |
volatility of
asset 1 |
20% |
|
vlt2 |
volatility of
asset 2 |
15% |
|
rate_ann |
rate - annual -
Actual/365 |
6% |
|
cost_hldg1 |
holding cost -
asset 1 |
2% |
|
cost_hldg2 |
holding cost -
asset 2 |
1% |
|
correlation coefficient |
correlation
coefficient |
0.1 |
|
stat |
statistic |
1,…11 |
|
Results
Statistics |
Description |
Value |
1 |
fair value |
180.4783237 |
2 |
delta of asset 1 |
0.389315389 |
3 |
gamma of asset 1 |
-0.008644336 |
4 |
delta of asset 2 |
0.539898265 |
5 |
gamma of asset 2 |
-0.009578212 |
6 |
theta |
0.017768883 |
7 |
vega of asset 1 |
-0.531012066 |
8 |
vega of asset 2 |
-0.373213351 |
9 |
rho of risk-free rate |
0 |
10 |
rho of holding cost of asset 1 |
0.993841871 |
11 |
rho of holding cost of asset 2 |
0.718354755 |
[1]
Dewynne, J., Howison, S., Wilmott, P. (1993) Option Pricing,
[2]
[3]
Rubinstein, M. (November 1991) Two-Color Rainbow Options, Risk Vol. 4,
[4]
Stulz, R. (July 1982) Options on the Minimum or Maximum of Two Risky Assets, Journal of
Financial Economics.
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.