A standard option
has a payoff involving only one underlying asset. A multiasset 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(S2S1K,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’ twoasset 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 Averagestrike 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 
1Dec1998 

d_v 
value
(settlement) date 
1Feb1998 

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 
2May1998 

d_v 
value
(settlement) date 
1Feb1998 

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 
1Dec1998 

d_v 
value
(settlement) date 
1Feb1998 

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 riskfree 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 
1Dec1998 

d_v 
value
(settlement) date 
1Feb1998 

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 riskfree 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) TwoColor 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.