Internal Design of Cliquet Option Pricing Engine


The Cliquet option pricing engine uses Monte Carlo Simulation to estimate the value of Cliquet Option. Here, we assume the process of asset pricing applies to Black-Scholes process.

The Cliquet Option is an exotic option. It is constructed by a series of forward start options. The start dates, also called resets dates, are pre-determined in the contract in advance. Generally, the reset dates are periodical, such as semiannual or quarterly.

At every reset date, the option calculates the relative performance between the old and new underlying price and pays that out as a profit.

The payoff of the option at the maturity is the sum of the payout at every reset date.

The option price is calculated as:

\[ \begin{align}\begin{aligned}Option Price = \sum_{i=0}^N {\exp {(-r*t_i)} * R_i}\\R_i = payoff(\frac{S_i}{S_{i-1}})\end{aligned}\end{align} \]

Where \(N\) is the number or reset dates and it is equal to timesteps. \(r\) is the risk-free interest rate.


The path pricer for Cliquet option fetches the lognormal S and calculate the payoff at each reset dates. Because the path generator generates the \(logS\) instead of \(S\), the divider in path pricer could be optimized by subtraction.


Because the calendar date for each month is different, the time interval between each resets date is different. FPGA is not efficient to calculate the calendar dates, so the customer needs to input them through the resetDate array.

The detailed procedure of Monte Carlo Simulation is as follows:

  • For \(i\) = 1 to samplesRequired
    • For \(j\) = 1 to \(N\)
      • generate a normal random number;
      • simulate the log of asset price \(\ln S^i_j\);
      • calculate the payoff based on above formula and discount to time zero for option price.

Then sum up all the prices for the mean value.