Table of Contents

Class ExtendedLeisenReimer

Namespace
NanoQL.Experimental
Assembly
NanoQL.dll

The time-dependent Leisen-Reimer binomial tree: centered on the strike, its probabilities from the Peizer-Pratt inversion at the step's time, on an odd number of steps: QuantLib's ExtendedLeisenReimer.

[Experimental("NQL0001")]
public sealed class ExtendedLeisenReimer : ExtendedBinomialTree<ExtendedLeisenReimer>, IBinomialTree<ExtendedLeisenReimer>
Inheritance
ExtendedLeisenReimer
Implements
Inherited Members

Remarks

Immutable; exact on constant parameters (ExtendedBinomialTree<T>). An even number of steps is raised by one. The constructor checks the strike and the up probability at time 0 only, with the standard tree's texts (LeisenReimer); its up_, down_, pu_ and pd_ members, which nothing reads after that check, aren't ported.

Constructors

ExtendedLeisenReimer(StochasticProcess1D, double, int, double)

Initializes a new instance of the ExtendedLeisenReimer class.

public ExtendedLeisenReimer(StochasticProcess1D process, double end, int steps, double strike)

Parameters

process StochasticProcess1D

The process.

end double

The tree's last time.

steps int

The number of steps; an even one is raised by one, the tree's Columns less one.

strike double

The strike the tree centers on, positive.

Exceptions

ArgumentNullException

process is null.

ArgumentOutOfRangeException

steps is negative.

ArgumentException

strike isn't positive.

NanoQLException

The up probability at time 0 isn't in (0, 1).

Methods

Probability(int, int, int)

The probability of a node's branch.

public override double Probability(int i, int index, int branch)

Parameters

i int

The column.

index int

The node's index in the column.

branch int

The branch.

Returns

double

The probability.

Underlying(int, int)

The underlying variable's value at a node.

public override double Underlying(int i, int index)

Parameters

i int

The column.

index int

The node's index in the column.

Returns

double

The value.

Explicit Interface Implementations

Create(StochasticProcess1D, double, int, double)

Builds the tree of a process from time 0 to end.

static ExtendedLeisenReimer Create(StochasticProcess1D process, double end, int steps, double strike)

Parameters

process StochasticProcess1D

The process.

end double

The tree's last time.

steps int

The number of steps asked for; a tree may build on another (its Columns less one).

strike double

The strike, which some trees center on.

Returns

ExtendedLeisenReimer

The tree.