27#ifndef quantlib_extended_binomial_tree_hpp
28#define quantlib_extended_binomial_tree_hpp
43 const ext::shared_ptr<StochasticProcess1D>& process,
46 :
Tree<
T>(steps+1),
x0_(process->x0()),
dt_(end/steps),
52 return index + branch;
75 const ext::shared_ptr<StochasticProcess1D>& process,
102 const ext::shared_ptr<StochasticProcess1D>& process,
112 return this->
x0_*std::exp(j*this->
dxStep(stepTime));
118 Real downProb = 1 - upProb;
119 return (branch == 1 ? upProb : downProb);
164 ExtendedAdditiveEQPBinomialTree> {
167 const ext::shared_ptr<StochasticProcess1D>&,
196 ExtendedTian(
const ext::shared_ptr<StochasticProcess1D>&,
Additive equal probabilities binomial tree.
Real upStep(Time stepTime) const override
Binomial tree base class.
Real driftStep(Time driftTime) const
ExtendedBinomialTree(const ext::shared_ptr< StochasticProcess1D > &process, Time end, Size steps)
Size descendant(Size, Size index, Size branch) const
ext::shared_ptr< StochasticProcess1D > treeProcess_
Cox-Ross-Rubinstein (multiplicative) equal jumps binomial tree.
Real probUp(Time stepTime) const override
Real dxStep(Time stepTime) const override
Base class for equal jumps binomial tree.
Real probability(Size i, Size, Size branch) const
ExtendedEqualJumpsBinomialTree(const ext::shared_ptr< StochasticProcess1D > &process, Time end, Size steps)
virtual Real probUp(Time stepTime) const =0
virtual Real dxStep(Time stepTime) const =0
Real underlying(Size i, Size index) const
virtual ~ExtendedEqualJumpsBinomialTree()=default
Base class for equal probabilities binomial tree.
virtual Real upStep(Time stepTime) const =0
virtual ~ExtendedEqualProbabilitiesBinomialTree()=default
Real probability(Size, Size, Size) const
Real underlying(Size i, Size index) const
ExtendedEqualProbabilitiesBinomialTree(const ext::shared_ptr< StochasticProcess1D > &process, Time end, Size steps)
Jarrow-Rudd (multiplicative) equal probabilities binomial tree.
Real upStep(Time stepTime) const override
Real underlying(Size i, Size index) const
Real probability(Size, Size, Size branch) const
Real computeUpProb(Real k, Real dj) const
Leisen & Reimer tree: multiplicative approach.
Real underlying(Size i, Size index) const
Real probability(Size, Size, Size branch) const
Tian tree: third moment matching, multiplicative approach
Real underlying(Size i, Size index) const
Real probability(Size, Size, Size branch) const
Trigeorgis (additive equal jumps) binomial tree
Real probUp(Time stepTime) const override
Real dxStep(Time stepTime) const override
Tree approximating a single-factor diffusion
Schedule of dividend dates.
Real Time
continuous quantity with 1-year units
QL_BIG_INTEGER BigInteger
large integer number
std::size_t Size
size of a container