I have been looking at various techniques for cliquet pricing with a focus on the Heston model. The obvious way is to use Monte-Carlo. Can we do better? The difficulty of the somewhat simple contract I was looking at is the presence of a global floor, without a local floor, but with a local cap. The payoff reads ( max(0, min(C, \sum_{i=1}^n \frac{S(t_i)-S(t_{i-1})}{S(t_{i-1})})) ) where 0 is the global floor, and C is the local cap.