Pricing a Forward-Start Cliquet with a Dupire Local Volatility Model
Summary
The document presents a proposed Monte Carlo method for valuing an infinite stream of yearly cliquet-style coupons, each depending on an annual underlying return and a progressively higher threshold. It starts from an implied-volatility surface for a stock index and proposes interpolating it across maturities and strikes, converting implied volatilities to Black–Scholes call prices, and estimating the derivatives needed for Dupire’s local volatility formula using finite differences. The resulting local volatility function would drive simulated risk-neutral paths from which coupon payoffs could be averaged.
The author asks whether this procedure prices the product correctly, but supplies no answer, pricing results, or validation. The discussion is therefore a modeling proposal rather than evidence of a working implementation. Its setup assumes zero rates and dividends, and the infinite coupon sum, surface interpolation, numerical derivatives, and simulation accuracy all require careful treatment. The text does not establish convergence or address practical calibration and discretization issues.
Key ideas
- The proposed valuation simulates risk-neutral paths using a local volatility surface inferred from option prices.
- The suggested surface construction interpolates implied volatilities and converts them to call prices before estimating Dupire derivatives.
- Coupon values depend on annual returns relative to increasing thresholds.
- The document poses questions about correctness but provides no validation or answer.
Tags
Full text
# Pricing forward start Cliquet option with implied volatility with Dupire
# Pricing forward start Cliquet option with implied volatility with Dupire
I have the following implied volatility matrix of a stock index downloaded the 15th February 2019, the value of the stock was 3188.44 at the time:
```
0.800 0.900 0.950 0.975 1.000 1.025 1.050 1.100 1.200
2019-02-22 34.74 26.15 21.39 17.00 13.52 11.83 12.21 14.22 17.66
2019-03-01 31.90 26.66 19.65 16.28 13.57 11.62 11.39 12.07 15.20
2019-03-08 34.31 24.62 18.50 15.82 13.61 11.65 11.39 13.23 15.41
2019-03-15 35.03 22.84 17.83 15.43 13.46 11.59 11.00 11.46 12.28
2019-04-18 27.60 20.07 16.66 15.16 13.76 12.33 11.56 11.70 11.97
2019-05-17 24.54 18.46 15.69 14.45 13.23 12.23 11.75 11.77 12.31
2019-06-21 23.05 17.75 15.45 14.41 13.40 12.60 12.14 12.04 12.67
2019-07-19 22.47 17.53 15.49 14.64 14.70 12.92 12.36 12.21 12.99
2019-09-20 21.46 17.26 15.45 14.72 14.07 13.49 12.93 11.85 11.81
2019-12-20 20.53 17.06 15.62 14.96 14.31 13.71 13.18 12.40 12.21
2020-06-19 19.55 16.78 15.76 15.24 14.85 14.52 14.20 13.60 12.97
2020-12-18 19.01 16.86 16.08 15.68 15.33 15.06 14.81 14.43 13.87
2021-06-18 18.56 16.77 16.07 15.78 15.52 15.27 15.05 14.71 14.95
2021-12-17 18.39 17.94 16.43 16.18 15.95 15.74 15.55 15.23 14.75
2022-12-16 17.90 16.82 16.39 16.19 16.02 15.86 15.72 15.49 15.16
2023-12-15 17.66 16.79 16.41 16.26 16.12 16.00 15.89 15.71 15.46
```
the rows correspond to the maturity of the call option and the columns the moneyness of the strike. E.g. : the column 0.8 corresponds to a strike $K$ of $0.8*S_0$
In a world without interest rate and dividend, I am trying to price an infinite sum of yearly coupons given by:
$C_0 \sum_{i=1}^{\infty} (\frac{S_T}{S_{T-1}}- 5\% * i)^+$
with $C_0 > 0$
I was going to compute it numerically, hoping that the sum would rapidly converges.
Based on this answer: https://quant.stackexchange.com/a/21919/31546, I would like to simulate paths of the underlying, and then for each path compute the yearly returns for $T = 1, 2, 3...$.
I could then compute a numerical mean corresponding to:
$C_0 * \mathbb{E}\left[ (\frac{S_T}{S_{T-1}}- 5\%)^+ + (\frac{S_T}{S_{T-1}}- 10\%)^+ +(\frac{S_T}{S_{T-1}}- 15\%)^+ + ... \right]$
My underlying will have this dynamic in the risk-neutral world, since interest rate $r=0$
$dS_t = \sigma(S_t, t) S_tt dW_t $
My goal is to determine $\sigma(S_t, t)$ : to do so I will use Dupire volatility function given by : $\sigma(S_t, t)^2 = 2*\frac{\frac{\delta C}{\delta T}} {K^2 \frac{\delta^2C}{\delta K^2}}$
To get the derivatives I will interpolate my matrix of implied volatilities, in order to have a volatility for each step of one day of maturity, and steps of 0.005*S_0 for the strike.
Then for any points of my surface $\sigma(K,t)$ I can get a call price $C^{BS}(K,T)$ using the standard B-S formula. Applying the first and second order finite differences methods all along my surface I will get the derivatives.
My question is: Can I price the product correctly if I run 1000's paths of the underlying $S$ using my Dupire volatility function?
This is part of an homework. So I would be grateful if someone could point what is wrong in my reasonning.Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.