Class ParametricExerciseFunctions
The early-exercise optimisation on collected node data: QuantLib's free function.
public static class ParametricExerciseFunctions
- Inheritance
-
ParametricExerciseFunctions
- Inherited Members
Methods
GenericEarlyExerciseOptimization(NodeData[][], IParametricExercise, EndCriteria, OptimizationMethod)
Optimises each exercise's parameters, from the last exercise back, to maximise the valid paths' mean value, the exercise value where the rule exercises and the cash flows after it otherwise; adds each valid path's value at an exercise into its cash flows at the exercise before; the estimate is the paths' mean at the start.
public static GenericEarlyExerciseOptimizationResults GenericEarlyExerciseOptimization(NodeData[][] simulationData, IParametricExercise exercise, EndCriteria endCriteria, OptimizationMethod method)
Parameters
simulationDataNodeData[][]The node data, an exercise a row and a path a column, changed in place.
exerciseIParametricExerciseThe exercise rule.
endCriteriaEndCriteriaThe criteria that end each optimisation.
methodOptimizationMethodThe optimisation method.
Returns
- GenericEarlyExerciseOptimizationResults
The biased estimate and each exercise's parameters.
Remarks
The data are QuantLib's: n exercises give n + 1 rows, row 0 each path's cash flows before the first exercise and row i + 1 its data at exercise i. The cash flows of every row before the last are changed in place, as QuantLib changes them. Each optimisation starts from the rule's guess, unconstrained.
Exceptions
- ArgumentException
There's no row, or a row is shorter than the one before it, which QuantLib reads past.
- NanoQLException
No path is valid at an exercise.