Cliquet options are financial derivative contracts that
provide a guaranteed minimum return in exchange for capping the maximum return
over the life of the contract. Cliquets
are appealing to investors because they can protect against downside risk. FINCAD provides functions to value several
different types of cliquet options. The
basic assumption is that the underlying index follows a BlackScholes lognormal
model with a constant volatility or a timedependent deterministic volatility
curve.
Let _{} be the price of an
asset or an index and _{} be _{} time points. The
return of _{} at time _{} is defined as:
_{}
Most cliquet options have payoffs of one of the
following four types:
1. Cliquets
with both local and global floors
_{}
2. Cliquets
with global floors but no local floor
_{}
3. Cliquets
with local floors but no global floor
_{}
4. Cliquets
with neither local nor global floor
_{}
where:
_{} is a strike price,
_{} is a fixed coupon,
_{} is a scaling factor
and
_{} for a call option and
–1 for a put. Most of the cliquets are
call options with a strike price of 0.
Note that at any time _{}, _{} the historical coupon
of the above four types of cliquets are, respectively:
_{}
Historical Coupon 1
_{}
Historical Coupon 2
_{}
Historical Coupon 3
_{}
Historical Coupon 4
aaCliquet(d_v,
d_m, d_e, princ, prices, ex, local_cap, local_floor, cliquet_type,
global_floor, cpn_fix, scaling, ret_type, cpn_his, vol_crv, df_crv, intrp,
div_obj, option_type, sam_freq, hl, MC_para, output_type, stat, ReturnStat)
Calculates by
aaCliquet_fs(d_v,
d_m, d_e, princ, prices, ex, local_cap, local_floor, cliquet_type,
global_floor, cpn_fix, scaling, ret_type, cpn_his, vol_crv, df_crv, intrp,
div_obj, option_type, sam_seq, MC_para, output_type, stat, ReturnStat)
Calculates by
Input Argument 
Type 
Description 
d_v 
Date 
Value date 
d_m 
Date 
Maturity date 
d_e 
Date 
Effective date 
npa 
Double 
Notional amount 
prices 
Double 
Underlying prices. It
is an array of two entries (spot price, price at last sampling date <=
d_v) 
ex 
Double 
Exercise price. It
is a threshold of the underlying return.
In determining the payoff component of a cliquet at a sampling date the
difference of the underlying return and the exercise price is used. For most cliquets the exercise price is 0. 
local_cap 
Double 
Local cap 
local_floor 
Double 
Local floor 
cliquet_type 
Integer 
Type of cliquets, a switch. The four values of the switch correspond to
the four types of cliquets given above. 
global_floor 
Double 
Global floor 
cpn_fix 
Double 
Fixed coupon: a
fixed coupon that is added to the performance of the underlying. See above formulas. 
scaling 
Rate 
Scaling factor of underlying return 
ret_type 
Integer 
Return calculation type, a switch: 1 = relative return, 2 = absolute return. See above for definitions. 
cpn_his 
Double 
Historical price list or price return table. It can be of two types: A) a single entry of a historical coupon. This is the coupon calculated from
historical asset returns up to, including, the valuation date. See above. B) an historical price table which will be
used to calculate a cumulative historical coupon. Note that since missing data are not handled
in the function, the price list must be complete – one positive price at each
historical sampling date. In function aaCliquet,
sampling dates are not adjusted for weekends.
If a sampling day falls on a weekend, the price on the closest prior
business day should be used. 
vlt_tbl 
Double 
A constant volatility or a timedependent volatility table 
df_crv 
Double 
Discount factor curve. It can be a singleentry of riskfree rate
or a discount factor curve. See note
210 in the function reference page for details. 
intrp 
Integer 
Interpolation method, a switch. 
div_obj 
Double 
Dividend (yield) table. 
option_type 
Integer 
Option type, a switch: 1 = call, 2 = put. For a call the underlying price return minus the exercise
price is used to determine the payoff component at a sampling date; for a put
the exercise price minus the underlying price return is used. 
sam_freq 
Double 
Sampling frequency, a switch. 
hl 
Date 

MC_para 
Double 
A singleentry array of number of random trials. If this parameter is an integer then a
different random number seed is used each time the function is called. If this parameter is not an integer then
the same random number seed is used each time, and the results will be the
same each time. 
output_type 
Integer 
Output type, a switch. There are two output types. The difference is on the risk statistics. If output type is 1, the delta and other
risk statistics are calculated with respect to one unit of a cliquet (npa =
1). Otherwise, the risk statistics are
the socalled dollar risk statistics – no assumption is made on the notional
amount. 
stat 
Integer 
Statistic, a switch. 
Output Statistic 
Type 
Description 
1 
Double 
Fair value 
2 
Double 
Delta 
3 
Double 
Gamma 
4 
Double 
Theta 
5 
Double 
Vega 
6 
Double 
rho of rate 
7 
Double 
rho of dividend 
8 
Double 
accuracy. This is the accuracy value corresponding to a
95% confidence interval. For example,
if the option value is 3.5 and the accuracy is 0.01 then the 95% confidence
interval is (3.5 – 0.1, 3.5 + 0.1) = (3.4, 3.6). 
For details about the calculation of Greeks, see
the Greeks of Options
on nonInterest Instruments FINCAD Math Reference document.
Consider a fiveyear cliquet with an annual sampling
frequency, a global floor of 14% and a local cap of 5%, and with no fixed
coupon. Today’s date is Dec. 1, 2004. The cliquet was effective on Jan. 24, 2004,
expires at
aaCliquet
Argument 
Description 
Example Data 
Switch 
d_v 
Value date 
1Dec2004 

d_m 
Maturity date 
21Jan2009 

d_e 
Effective date 
21Jan2004 

npa 
Notional amount 
100 

prices 
Underlying prices 
See below 

ex 
Exercise price 
0 

local_cap 
Local cap 
5% 

local_floor 
Local floor 
0 

cliquet_type 
Type of cliquets 
1 
with both local and global floors 
global_floor 
Global floor 
14% 

cpn_fix 
Fixed coupon 
0 

scaling 
Scaling factor of underlying return 
100% 

ret_type 
Return calculation type 
1 
relative return 
cpn_his 
Historical price list or price return table 
0% 

vlt_tbl 
Volatility or volatility table 
20% 

df_crv 
Discount factor curve 
5% 

Intrp 
Interpolation method 
1 

div_obj 
Dividend (yield) table. 
0 

option_type 
Option type 
1 
call 
sam_freq 
Sampling frequency 
1 

hl 

0 

MC_para 
A singleentry array of number of random trials 
10000.5 

output_type 
Output type 
fair value and risk statistic 
1 
Underlying prices
Spot price 
Price at last sampling
date 
100 
99 
Results
Statistics 
Description 
Value 
1 
fair value 
12.65326 
2 
Delta 
0.000913 
3 
Gamma 
1.61E05 
4 
Theta 
3.14E06 
5 
Vega 
0.00019 
6 
rho of rate 
0.00363 
7 
rho of dividend 
0.0013 
8 
Accuracy 
0.002513 
Suppose in Example 1
the effective date is Jan. 21, 2002 and there is a fixed coupon of 0.03. To value the cliquet historical performances
of the underlying index must be considered. Suppose the historical prices on the three
past sampling dates are given as in the following table:
Historical Price List
(cpn_his)
date 
price 
21Jan2002 
87 
21Jan2003 
95 
21Jan2004 
99 
Then call
function aaCliquet
with the following inputs
aaCliquet
Argument 
Description 
Example Data 
Switch 
d_v 
Value date 
1Dec2004 

d_m 
Maturity date 
21Jan2009 

d_e 
Effective date 
21Jan2002 

npa 
Notional amount 
100 

prices 
Underlying prices 
See Example 1 

ex 
Exercise price 
0 

local_cap 
Local cap 
5% 

local_floor 
Local floor 
0 

cliquet_type 
Type of cliquets 
with both local and
global floors 
1 
global_floor 
Global floor 
14% 

cpn_fix 
Fixed coupon 
3% 

scaling 
Scaling factor of
underlying return 
100% 

ret_type 
Return calculation
type 
1 
relative return 
cpn_his 
Historical price list
or price return table 
See below 

vlt_tbl 
Volatility or
volatility table 
20% 

df_crv 
Discount factor
curve 
5% 

Intrp 
Interpolation method 
1 

div_obj 
Dividend (yield)
table. 
0 

option_type 
Option type 
1 
call 
sam_freq 
Sampling frequency 
1 

hl 

0 

MC_para 
A singleentry array
of number of random trials 
10000.5 

output_type 
Output type 
fair value and risk
statistic 
1 
to get the
valuation results:
Results
Statistics 
Description 
Value 
1 
fair value 
20.12432 
2 
Delta 
0.002163 
3 
Gamma 
1.2E05 
4 
Theta 
1.27E05 
5 
Vega 
0.00063 
6 
rho of rate 
0.00458 
7 
rho of dividend 
0.00345 
8 
Accuracy 
0.004036 
Instead of
using a historical price list as the input of the parameter cpn_his one can
calculate the cumulative historical coupon of the underlying using the formulas
given in the section Formulas & Technical
Details and use this as an input of the parameter. The details of the calculation is given in the
following table.
Calculation of Cumulative
Historical Coupon
date 
price 
return 
local cap 
local floor 
performance 

21Jan2002 
87 





21Jan2003 
95 
0.091954 
0.05 
0 
0.05 

21Jan2004 
99 
0.042105 
0.05 
0 
0.042105 






0.092105 
total 
The
cumulative historical coupon is 0.092105. It
can be checked easily that function aaCliquet gives the same results as above if the parameter
cpn_his is set to this value.
[1]
Wilmott, P. (Dec. 2002), ‘Cliquet Options and
Volatility Models’, Wilmott Magazine.
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.