QuantLib: a free/open-source library for quantitative finance
Reference manual - version 1.40
Loading...
Searching...
No Matches
TsiveriotisFernandesLattice< T > Class Template Reference

Binomial lattice approximating the Tsiveriotis-Fernandes model. More...

#include <ql/methods/lattices/tflattice.hpp>

Inheritance diagram for TsiveriotisFernandesLattice< T >:

Public Member Functions

 TsiveriotisFernandesLattice (const ext::shared_ptr< T > &tree, Rate riskFreeRate, Time end, Size steps, Spread creditSpread, Volatility volatility, Spread divYield)
Spread creditSpread () const
Public Member Functions inherited from BlackScholesLattice< T >
 BlackScholesLattice (const ext::shared_ptr< T > &tree, Rate riskFreeRate, Time end, Size steps)
Rate riskFreeRate () const
Time dt () const
Size size (Size i) const
DiscountFactor discount (Size, Size) const
void stepback (Size i, const Array &values, Array &newValues) const
Real underlying (Size i, Size index) const
Size descendant (Size i, Size index, Size branch) const
Real probability (Size i, Size index, Size branch) const
Public Member Functions inherited from TreeLattice1D< BlackScholesLattice< T > >
 TreeLattice1D (const TimeGrid &timeGrid, Size n)
Array grid (Time t) const override
Real underlying (Size i, Size index) const
Public Member Functions inherited from TreeLattice< BlackScholesLattice< T > >
 TreeLattice (const TimeGrid &timeGrid, Size n)
void initialize (DiscretizedAsset &, Time t) const override
 initialize an asset at the given time.
Real presentValue (DiscretizedAsset &) const override
 Computes the present value of an asset using Arrow-Debrew prices.
const ArraystatePrices (Size i) const
void stepback (Size i, const Array &values, Array &newValues) const
Public Member Functions inherited from Lattice
 Lattice (TimeGrid timeGrid)
const TimeGridtimeGrid () const

Protected Member Functions

void stepback (Size i, const Array &values, const Array &conversionProbability, const Array &spreadAdjustedRate, Array &newValues, Array &newConversionProbability, Array &newSpreadAdjustedRate) const
void rollback (DiscretizedAsset &, Time to) const override
void partialRollback (DiscretizedAsset &, Time to) const override
void computeStatePrices (Size until) const
Protected Member Functions inherited from CuriouslyRecurringTemplate< BlackScholesLattice< T > >
BlackScholesLattice< T > & impl ()

Additional Inherited Members

Protected Attributes inherited from BlackScholesLattice< T >
ext::shared_ptr< T > tree_
Rate riskFreeRate_
Time dt_
DiscountFactor discount_
Real pd_
Real pu_
std::vector< ArraystatePrices_
TimeGrid t_

Detailed Description

template<class T>
class QuantLib::TsiveriotisFernandesLattice< T >

Binomial lattice approximating the Tsiveriotis-Fernandes model.

At this time, this lattice only works with the DiscretizedConvertible class.

Member Function Documentation

◆ rollback()

template<class T>
void rollback ( DiscretizedAsset & asset,
Time to ) const
overrideprotectedvirtual

Roll back an asset until the given time, performing any needed adjustment.

Reimplemented from TreeLattice< BlackScholesLattice< T > >.

◆ partialRollback()

template<class T>
void partialRollback ( DiscretizedAsset & asset,
Time to ) const
overrideprotectedvirtual

Roll back an asset until the given time, but do not perform the final adjustment.

Warning
In version 0.3.7 and earlier, this method was called rollAlmostBack method and performed pre-adjustment. This is no longer true; when migrating your code, you'll have to replace calls such as:
method->rollAlmostBack(asset,t);

with the two statements:

method->partialRollback(asset,t);
asset->preAdjustValues();

Reimplemented from TreeLattice< BlackScholesLattice< T > >.