ExerciseType.java
package net.finmath.finitedifference.assetderivativevaluation.products;
/**
* Enumeration of supported exercise styles for finite-difference products.
*
* <p>
* The exercise type determines the set of times at which the holder may
* exercise the option:
* </p>
* <ul>
* <li>{@link #EUROPEAN}: exercise is allowed only at maturity <i>T</i>,</li>
* <li>{@link #BERMUDAN}: exercise is allowed only on a prescribed discrete set
* of exercise dates,</li>
* <li>{@link #AMERICAN}: exercise is allowed at any time in a continuous
* interval up to maturity.</li>
* </ul>
*
* <p>
* In optimal stopping terms, if <i>V(t,S)</i> denotes the option value and
* <i>G(t,S)</i> the immediate exercise value, then:
* </p>
* <ul>
* <li>for European exercise, the stopping time is fixed to maturity,</li>
* <li>for Bermudan exercise, stopping is restricted to a discrete set of
* dates,</li>
* <li>for American exercise, the value satisfies the obstacle relation
* <i>V(t,S) = max(G(t,S), C(t,S))</i>, where <i>C</i> denotes the continuation
* value.</li>
* </ul>
*
* @author Alessandro Gnoatto
*/
public enum ExerciseType {
/**
* The european.
*/
EUROPEAN,
/**
* The bermudan.
*/
BERMUDAN,
/**
* The american.
*/
AMERICAN;
}