Table of Contents

Namespace NanoQL.Methods

Classes

AdditiveEQPBinomialTree

The additive equal-probabilities binomial tree: equal probabilities, the up move matching the step's first two moments with the drift.

BSMRNDCalculator

The risk-neutral density of the logarithm of the underlying in the Black-Scholes-Merton model with constant volatility: normal, its mean the log forward less half the variance, its variance the Black variance.

BinomialTree<T>

The binomial tree base: two branches from each node, node index of column i going to nodes index and index + 1.

BlackScholesLattice<T>

The Black-Scholes lattice on a binomial tree: the tree's nodes and probabilities, discounted at a flat rate over a uniform grid.

BoundaryConditionSchemeHelper

Applies a set of boundary conditions in turn, as the schemes do around their applies and solves.

BoundaryCondition<TOperator>

A boundary condition of a finite-difference problem, applied around an operator's applies and solves.

BrownianBridge

Builds Wiener process paths using Gaussian variates: it generates normalized (unit-variance) paths as sequences of variations. To obtain the actual path of the underlying, multiply the returned variations by the integrated variance (including time) over the corresponding time step.

CEVRNDCalculator

The risk-neutral density of the constant elasticity of variance (CEV) process df = α·f^β·dW with an absorbing boundary at f = 0, by the non-central chi-squared distribution (D. R. Brecher and A. E. Lindsay, "Results on the CEV Process, Past and Present"), with the probability mass absorbed at zero.

Concentrating1dMesher

A one-dimensional mesher whose points concentrate around critical points: around one point by a sinh transform, or around several by the solution of an ordinary differential equation.

CoxRossRubinstein

The Cox-Ross-Rubinstein binomial tree: equal jumps of one standard deviation of a step, the probabilities carrying the drift.

CraigSneydScheme

The Craig-Sneyd operator-splitting scheme: the Douglas step, then a second predictor on the operator's mixed part weighted by μ and a second round of implicit corrections.

CrankNicolsonScheme

The Crank-Nicolson scheme: an explicit step scaled by 1 − θ, then an implicit one scaled by θ. In one dimension it is the Douglas scheme; in more, operator-splitting schemes such as Craig-Sneyd or Hundsdorfer-Verwer usually beat it.

DouglasScheme

The Douglas operator-splitting scheme: an explicit predictor, then one implicit correction per direction, each weighted by θ.

EqualJumpsBinomialTree<T>

A binomial tree whose up and down moves are equal in the logarithm of the underlying, the probabilities carrying the drift.

EqualProbabilitiesBinomialTree<T>

A binomial tree with both branches' probabilities 1/2, its nodes at the drift plus a multiple of the up move.

EscrowedDividendAdjustment

The escrowed dividend model's adjustment of the spot: minus the value at a time of the dividends paid from then to maturity, each discounted by the risk-free curve and compounded by the dividend curve.

ExerciseStrategy<TState>

An early-exercise strategy stepped along a path: at each of its relevant times it is told the state, and at each exercise time it says whether to exercise.

ExplicitEulerScheme

The explicit Euler scheme: a ← a + θ·dt·A a, the operator set over the step.

ExponentialJump1dMesher

A mesher for an exponential jump process with high mean reversion and low jump intensity, dY = −βY dt + J dN, the jumps exponential of mean 1/η (Hambly, Howison and Kluge, "Modelling spikes and pricing swing options in electricity markets"): its points at the stationary jump-size distribution's quantiles, to 1 − ε.

Fdm1DimSolver

The one-dimensional finite-difference solver: rolls the cell-averaged inner values back from maturity to time 0, and reads the value, its derivatives and the theta at a point through a monotonic cubic natural spline.

Fdm1dMesher

A one-dimensional mesher: the locations of its points and each point's distances to its neighbours, by index.

Fdm2DimSolver

The two-dimensional finite-difference solver: rolls the cell-averaged inner values back from maturity to time 0, and reads the value, its derivatives and the theta at a point through a bicubic spline.

Fdm2dBlackScholesOp

The two-dimensional Black-Scholes operator: each asset's one-dimensional operator in the log of its price, and the mixed term of their correlation.

Fdm2dBlackScholesSolver

The two-dimensional Black-Scholes solver: a problem on two assets' log prices rolled back on Fdm2dBlackScholesOp, its values and Greeks read at the assets' prices.

Fdm3DimSolver

The three-dimensional finite-difference solver: rolls the initial values back over the mesher with the operator, the conditions and the boundaries, and interpolates the result.

FdmAffineG2ModelSwapInnerValue

QuantLib-Python's name for FdmAffineModelSwapInnerValue<TModel> on G2.

FdmAffineHullWhiteModelSwapInnerValue

QuantLib-Python's name for FdmAffineModelSwapInnerValue<TModel> on HullWhite.

FdmAffineModelSwapInnerValue<TModel>

The exercise value of a swap at a point of an affine model's mesh: the swap's coupons starting on or after the exercise date, each forecast on the forwarding model's curve at the point and discounted on the discounting model's, the fixed leg paid and the floating received for a payer, floored at 0.

FdmAffineModelTermStructure

The curve an affine model implies at a state of its factors: from its reference date, the model's discount bond from that date's time on the model's clock, P(t, t + T) at the factors.

FdmAmericanStepCondition

The American exercise condition: each value floored at its inner value, from the exercise's start on.

FdmArithmeticAverageCondition

The step condition of a discrete arithmetic average on a two-dimensional mesher of the log spot and the log average: at each fixing time the average moves to its new value, the value function interpolated along the average's direction by a monotonic natural cubic spline.

FdmBackwardSolver

The backward solver of a finite-difference problem: rolls values back from maturity under the described scheme, after implicit Euler damping steps, applying the step conditions at every step.

FdmBatesOp

The Bates backward operator: the Heston operator on the dividend curve spreaded by the jumps' compensator λm, and the jumps' integral λ(E[V(x + J)] − V(x)), J normal with mean ν and standard deviation δ, by Gauss-Hermite quadrature over each variance row's linear interpolation in the log spot.

FdmBatesSolver

The finite-difference Bates solver: FdmBatesOp on the problem's grid in the logarithm of the underlying by the variance, rolled back by the two-dimensional solver, read at a spot and a variance.

FdmBermudanStepCondition

The Bermudan exercise condition: at each exercise time, each value floored at its inner value.

FdmBlackScholesFwdOp

The Black-Scholes forward (Fokker-Planck) operator in the logarithm of the underlying, in one direction: the density's drift −(r − q − σ²/2) and half the variance, each on the columns of the first and second derivatives, over a time step, the variance the Black forward variance or, on request, the local variance at each point.

FdmBlackScholesMesher

The one-dimensional mesher of a Black-Scholes process in the logarithm of the underlying: from below the lowest to above the highest forward the dividends and the curves give up to maturity, by a multiple of the standard deviation, concentrating around a critical point when one is given inside.

FdmBlackScholesMultiStrikeMesher

The one-dimensional mesher of a Black-Scholes process in the logarithm of the underlying for several strikes at once: from below the lowest to above the highest of the forwards S²/K·d the strikes give, by a multiple of the standard deviation at each, concentrating around a critical point when one is given inside.

FdmBlackScholesOp

The Black-Scholes operator in the logarithm of the underlying, in one direction: the drift r − q − σ²/2 on the first derivative, half the variance on the second and the discounting −r, each over a time step, the variance the Black forward variance or, on request, the local variance at each point.

FdmBlackScholesSolver

The Black-Scholes finite-difference solver: the Black-Scholes operator on the problem's grid in the logarithm of the underlying, rolled back by the one-dimensional solver, read at a spot.

FdmCEV1dMesher

A one-dimensional mesher for the constant elasticity of variance (CEV) process df = α·f^β·dW, absorbed at 0: from the density's ε-quantile, divided by a scale factor, to its (1 − ε)-quantile, multiplied by it, concentrating around a point where one is given within them, equally spaced otherwise. Where the density's mass at zero exceeds ε, the lower end is 0, or NanoQL.NumericLimits.QL_EPSILON for β < 0.

FdmCEVOp

The backward operator of the constant elasticity of variance (CEV) process df = α·f^β·dW, absorbed at f = 0, in one direction of a mesher: the diffusion ½α²f^{2β}, discounting at the curve's forward rate.

FdmCIROp

The backward operator of a Black-Scholes equity under a Cox-Ingersoll-Ross short rate, dr = κ(θ − r)dt + σ√r·dW₂, d⟨W₁, W₂⟩ = ρ·dt, on a mesher of the log spot in direction 0 and the short rate in direction 1: the equity's drift r − q − ½v and diffusion ½v, the rate's ½σ²r and κ(θ − r), their covariance ρσ_Sσ√r, discounting at the short rate.

FdmCIRSolver

The finite-difference solver of a Black-Scholes equity under a Cox-Ingersoll-Ross short rate: FdmCIROp on the problem's grid in the logarithm of the underlying by the short rate, rolled back by the two-dimensional solver, read at a spot and a rate.

FdmCellAveragingInnerValue

The inner value of a payoff on one direction of the grid, through a mapping of the grid's coordinate to the underlying; its cell average by Simpson's rule over the half-cells on each side of the point.

FdmDirichletBoundary

A Dirichlet boundary condition: a fixed value on one side of one direction of the grid, written into the solution after each application of the operator and each solve.

FdmDiscountDirichletBoundary

A Dirichlet boundary condition holding a cash flow paid at maturity: on one side of one direction of the grid, its value discounted from maturity to each step's time on the curve, D(T)/D(t).

FdmDividendHandler

The cash-dividend condition of a finite-difference grid in the logarithm of the underlying: at a dividend's time, each value moves to the value at the underlying less the dividend, by linear interpolation along the equity direction, floored at the grid's lowest underlying.

FdmEscrowedLogInnerValueCalculator

The inner value under the escrowed dividend model on a grid in the logarithm of the underlying: the payoff at the grid's underlying less the escrowed dividends' adjustment at the time.

FdmG2Op

The G2 model's backward operator on two directions of a mesher: each factor's drift −ax and diffusion ½σ², discounting at half the short rate x + y + φ in each direction, and the factors' correlation ρση through the mixed derivative.

FdmG2Solver

The G2 model's finite-difference solver: a Fdm2DimSolver on a FdmG2Op in directions 0 and 1.

FdmHestonFwdOp

The Heston Fokker-Planck forward operator on a mesher of the log spot in direction 0 and the variance (or a transformation of it, FdmSquareRootFwdOpTransformationType) in direction 1: the density's transport under the log spot's drift r − q − ½vL² and diffusion ½vL², the variance's square-root dynamics and their correlation, L a leverage function's value at each point (1 without one), with zero-flux boundaries in the variance.

FdmHestonGreensFct

The Heston process's Green's function on a mesher of the log spot by the variance (or a transformation of it): the density at a short time from the spot and v₀, the start of a Fokker-Planck forward solve.

FdmHestonHullWhiteOp

The Heston-Hull-White linear operator: the Heston equity and variance directions, a Hull-White short rate, the equity-variance correlation and the equity-rate correlation.

FdmHestonHullWhiteSolver

The Heston-Hull-White finite-difference solver: FdmHestonHullWhiteOp under Fdm3DimSolver, queried at a spot, a variance and a short-rate state.

FdmHestonLocalVolatilityVarianceMesher

The variance mesher of a Heston model with a leverage function: FdmHestonVarianceMesher's points, its volatility estimate scaled by the leverage's average over the maturity.

FdmHestonOp

The Heston backward operator on a mesher of the log spot in direction 0 and the variance in direction 1: the equity's drift r − q − ½vL² and diffusion ½vL², the variance's ½σ_m²v and κ(θ − v), their covariance ρσ_mvL, and discounting at the rate, L a leverage function's value at each point (1 without one) and σ_m the mixing factor times σ.

FdmHestonSolver

The finite-difference Heston solver: FdmHestonOp on the problem's grid in the logarithm of the underlying by the variance, rolled back by the two-dimensional solver, read at a spot and a variance.

FdmHestonVarianceMesher

The one-dimensional mesher of the Heston model's variance: points averaged over the variance's non-central chi-squared quantiles at several times up to maturity, v₀ among them, with an estimate of the average volatility that sizes the equity's mesher.

FdmHullWhiteOp

The Hull-White model's backward operator in one direction of a mesher: the factor's drift −ax and diffusion ½σ², discounting at the short rate x + φ.

FdmHullWhiteSolver

The Hull-White model's finite-difference solver: a Fdm1DimSolver on a FdmHullWhiteOp in direction 0.

FdmIndicesOnBoundary

The indices of a layout's points on one side of one direction: the grid's boundary layer there.

FdmInnerValueCalculator

The inner value of an instrument at a grid point: its payoff there, or the payoff's average over the point's cell.

FdmLinearOp

A linear operator of a multi-dimensional finite-difference problem.

FdmLinearOpComposite

A finite-difference operator composed of one operator per direction and a mixed part, as the operator-splitting schemes step it: time-dependent, applied whole, by direction or in its mixed part, and solved one direction at a time.

FdmLinearOpIterator

An iterator over a finite-difference layout's points: the point's index in storage order and its coordinate in each direction, the first direction running fastest.

FdmLinearOpLayout

The memory layout of a finite-difference operator's points: the number of points in each direction, the first direction contiguous, each later one spaced by the product of the earlier dimensions.

FdmLocalVolFwdOp

The local-volatility forward (Fokker-Planck) operator in the logarithm of the underlying, in one direction: the density's drift −(r − q − σ²/2) and half the local variance at each point, each on the columns of the first and second derivatives, over a time step.

FdmLogBasketInnerValue

The inner value of a basket payoff on a mesher of the assets' log prices: the payoff at each point's prices.

FdmLogInnerValue

The cell-averaged inner value of a payoff on a grid in the logarithm of the underlying.

FdmMesher

The mesher of a finite-difference grid: each point's location and its distances to its neighbours, in each direction of a layout.

FdmMesherComposite

A mesher composed of one one-dimensional mesher per direction.

FdmMesherIntegral

The integral of values on a composite mesher: a one-dimensional rule along the last direction of the integrals over the other directions, recursively.

FdmNdimSolver

The n-dimensional finite-difference solver: a problem rolled back on an operator of any dimension, its values read through a MultiCubicSpline over the mesher's axes.

FdmOrnsteinUhlenbeckOp

The backward operator of an Ornstein-Uhlenbeck process dx = a(μ − x)dt + σ dW in one direction of a mesher: the drift a(μ − x), the diffusion ½σ², discounting at the curve's forward rate.

FdmQuantoHelper

The market data a quanto option's finite-difference operator needs for its drift adjustment: the domestic and foreign curves, the exchange rate's volatility, its at-the-money level and its correlation with the equity.

FdmSabrOp

The backward operator of the SABR model dF = α·F^β·dW₁, dα = ν·α·dW₂, d⟨W₁, W₂⟩ = ρ·dt, on a mesher of the forward in direction 0 and the log volatility x = ln α in direction 1: the forward's diffusion ½e^{2x}F^{2β}, the log volatility's drift −½ν² and diffusion ½ν², the correlation term ρνe^xF^β, each direction discounting at half the curve's forward rate.

FdmShoutLogInnerValueCalculator

The exercise value of a shout option on a grid in the logarithm of the escrowed spot: the intrinsic value at the spot locked in and paid at maturity, discounted, plus the residual option on the rest of the move, Black's value struck at that spot, floored at 0.

FdmSimple2dBSSolver

The two-dimensional Black-Scholes finite-difference solver: the Black-Scholes operator in direction 0 of a mesher in the logarithm of the underlying by a second direction the operator leaves alone, such as the swing option's rights used, rolled back by the two-dimensional solver, read at a spot and a second coordinate.

FdmSimpleProcess1dMesher

A one-dimensional mesher on a process's quantiles: each point the mean, over a number of times up to maturity, of the process evolved from its initial value to that time with the standard normal quantile of evenly spaced probabilities, the ends held to include the mandatory point and the initial value.

FdmSimpleStorageCondition

The exercise condition of a simple storage option on a two-dimensional mesher, the price in direction 0 and the storage level in direction 1: at each exercise time, the best of waiting, injecting or withdrawing up to the change rate, or moving to an intermediate grid level (a bang-bang-wait strategy), the values between grid levels by bilinear interpolation.

FdmSimpleSwingCondition

The swing option's exercise condition, on a mesher whose swing direction counts the exercise rights used: at each exercise time, a point with a right left takes the value one more right used plus the cash flow wherever that is worth more, or wherever the rights still to use need every remaining exercise.

FdmSnapshotCondition

The step condition that keeps a copy of the values at one time, read after the rollback.

FdmSolverDesc

The description of a finite-difference problem a solver rolls back: its mesher, boundary conditions, step conditions, inner value, maturity and time steps.

FdmSquareRootFwdOp

The square-root process's linear operator for the Fokker-Planck forward equation: the density of the variance (or of a transformation of it) in one direction of a mesher, its drift κ(θ − v) and diffusion ½σ²v, with zero-flux boundaries.

FdmStepConditionComposite

A composite of step conditions, applied in turn, with the union of their stopping times.

FdmTimeDepDirichletBoundary

A time-dependent Dirichlet boundary condition: on one side of one direction of the grid, the value a function of time gives at each step, one value for the whole side or one for each of its points, written into the solution after each application of the operator and each solve.

FdmWienerOp

The operator of independent Wiener processes, one per direction with its own variance rate, discounted on a risk-free curve: the n-dimensional Black-Scholes engine's operator in the basket's principal components.

FdmZeroInnerValue

The inner value that is zero everywhere.

FiniteDifferenceModel<TScheme>

The generic finite-difference model: rolls values back from one time to an earlier one in equal steps, stopping exactly at each stopping time between, and applying a step condition after every step.

FirstDerivativeOp

The first-derivative operator in one direction: central differences on the mesher's non-uniform spacing, upwind at the lower edge and downwind at the upper one.

GBSMRNDCalculator

The risk-neutral density of the underlying in the Black-Scholes-Merton model with a strike-dependent volatility: Breeden and Litzenberger's, the distribution function the strike derivative of the discounted call or put price, the volatility's skew included.

GaussianMultiPathGenerator

QuantLib-Python's GaussianMultiPathGenerator: a MultiPathGenerator<TGsg> over Mersenne-Twister Gaussian sequences, MultiPathGenerator<GaussianRandomSequenceGenerator>.

GaussianSobolMultiPathGenerator

QuantLib-Python's GaussianSobolMultiPathGenerator: a MultiPathGenerator<TGsg> over Sobol Gaussian sequences, MultiPathGenerator<GaussianLowDiscrepancySequenceGenerator>.

GaussianSobolPathGenerator

A path generator over QuantLib's low-discrepancy Gaussian sequences, inverse-cumulative normal deviates of Sobol sequences (LowDiscrepancy::rsg_type): QuantLib-Python's GaussianSobolPathGenerator.

GenericEarlyExerciseOptimizationResults

The results of an early-exercise optimisation: the biased estimate of the value it obtains while optimising, and each exercise's optimal parameters, which QuantLib writes into the caller's vector.

GenericLSRegressionFunctions

The Longstaff-Schwartz regression on collected node data: QuantLib's free function.

GenericLSRegressionResults

The results of a Longstaff-Schwartz regression: the biased estimate of the value it obtains while regressing, and each exercise's basis coefficients, which QuantLib writes into the caller's vector.

HestonRNDCalculator

The risk-neutral terminal density of the Heston model in the log spot, x = ln S.

HundsdorferScheme

The Hundsdorfer-Verwer operator-splitting scheme: the Douglas step, then a second predictor on the whole operator weighted by μ and a second round of implicit corrections.

ImplicitEulerScheme

The implicit Euler scheme: solves (1 − θ·dt·A) a' = a for a', directly for a one-directional operator and by an iterative solver otherwise.

InvCumulativeMersenneTwisterPathGenerator

A path generator over QuantLib's pseudo-random Gaussian sequences, inverse-cumulative normal deviates of Mersenne-Twister uniform sequences (PseudoRandom::rsg_type): QuantLib-Python's InvCumulativeMersenneTwisterPathGenerator, which it also names GaussianPathGenerator.

JarrowRudd

The Jarrow-Rudd binomial tree: equal probabilities, the up move one standard deviation of a step.

Joshi4

Joshi's fourth-order binomial tree: centered on the strike, its probabilities from Joshi's expansion, on an odd number of steps.

LeisenReimer

The Leisen-Reimer binomial tree: centered on the strike, its probabilities from the Peizer-Pratt inversion, on an odd number of steps.

LocalVolRNDCalculator

The risk-neutral density of the logarithm of the underlying under a local volatility: the forward (Fokker-Planck) equation solved by Douglas's scheme from a Gaussian first step, on a grid that widens where probability mass leaks past its ends.

LongstaffSchwartzPathPricer<TPath, TState>

The Longstaff-Schwartz path pricer for early-exercise options (Francis Longstaff, Eduardo Schwartz, 2001, "Valuing American Options by Simulation: A Simple Least-Squares Approach", The Review of Financial Studies, Volume 14, No. 1, 113-147): in its calibration phase it stores the paths it is given and pricing nothing; Calibrate() regresses the continuation values backwards over them; in its pricing phase it prices each path, exercising where the exercise value beats the regressed continuation.

LsmBasisSystem

The basis systems of the Longstaff-Schwartz early-exercise Monte Carlo regressions.

MethodOfLinesScheme

The method-of-lines scheme: integrates the values' ordinary differential equation over each step with an adaptive Runge-Kutta solver.

ModTripleBandLinearOp

A triple-band operator whose bands are read and written point by point.

ModifiedCraigSneydScheme

The modified Craig-Sneyd operator-splitting scheme: the Craig-Sneyd step whose second predictor adds the whole operator weighted by ½ − μ to the mixed part weighted by μ.

MonteCarloModel<TPath, TStats>

A general-purpose Monte Carlo model for path samples.

MonteCarloPath

A single-factor random walk: QuantLib's Path, renamed. The path includes the initial asset value as its first point, so it has one value per time of its TimeGrid.

MultiPath

Correlated multiple asset paths: multiPath[j] is the path followed by the j-th asset.

MultiPathGenerator<TGsg>

Generates a multi-path from a random-sequence generator.

NinePointLinearOp

A nine-point operator in two directions of a multi-dimensional layout: each point's row reads the point and its eight neighbours in the plane of the two directions, reflected at the grid's edges.

NodeData

The data a path gives at an exercise node: the exercise value, the cash flows up to the next exercise, the basis or exercise variables, the control's value, and whether the path reached the node, each in numeraire units.

NthOrderDerivativeOp

The n-th order derivative in one direction as a sparse linear operator: at each point, Fornberg's weights on the given number of the direction's grid points around it, shifted inward at the grid's edges.

NumericalDifferentiation

Numerical differentiation on arbitrarily spaced points: the derivative of a given order at x as Σᵢ wᵢ·f(x + oᵢ), the weights by Fornberg's algorithm ("Calculation of Weights in Finite Difference Formulas", 1998).

ParametricExerciseFunctions

The early-exercise optimisation on collected node data: QuantLib's free function.

PathGenerator<TGsg>

Generates random paths of a 1-D stochastic process using a Gaussian sequence generator: each draw evolves the process from its initial value over the time grid, one variate per step.

PathPricer<TPath>

The base class for path pricers: the value of an option on a given path.

Predefined1dMesher

A one-dimensional mesher on given points.

RiskNeutralDensityCalculator

The interface of a single asset's risk-neutral terminal density: its density, its cumulative distribution and the distribution's inverse at a time.

SecondDerivativeOp

The second-derivative operator in one direction: central differences on the mesher's non-uniform spacing, zero at the edges.

SecondOrderMixedDerivativeOp

The second-order mixed derivative ∂²/∂x∂y in two directions of a multi-dimensional layout, on a non-uniform grid: the product of the two directions' central first-derivative stencils, one-sided at the grid's edges and corners.

SmileSectionRNDCalculator

The risk-neutral density of the logarithm of the underlying at a smile section's expiry, by the Breeden-Litzenberger identity: the density and distribution from the section's prices, the inverse from a table of log-moneyness against the normal quantile z = Φ⁻¹(P(S ≤ K)), linear for a lognormal law and well conditioned in the wings.

SquareRootProcessRNDCalculator

The density of the square-root process dv = κ(θ − v)dt + σ√v dW at a time, a scaled non-central chi-squared distribution, and its stationary density, a gamma distribution.

StepCondition

A condition applied to a finite-difference problem's values at every time step.

TRBDF2

The TR-BDF2 scheme of the old finite-difference framework, over a TridiagonalOperator: a trapezoidal stage to t − αΔt, then a BDF2 stage to t − Δt, α = 2 − √2 (Bank et al.; http://ssrn.com/abstract=1648878). The operator must be linear.

Tian

The Tian binomial tree: up and down moves and probabilities matching the step's first three moments.

TrBDF2Scheme<TTrapezoidalScheme>

The TR-BDF2 scheme: a trapezoidal sub-step of length α·dt, then a BDF2 stage to the end of the step.

Tree

A tree approximating a single-factor diffusion.

TreeLattice

The tree-based lattice-method base class: a lattice that rolls a discretized asset back, with discount, on one or more trees.

TreeLattice1D

A one-dimensional tree-based lattice: one underlying variable, whose value at each node it gives.

TreeLattice2D

A two-dimensional tree-based lattice: two trinomial trees, correlated, primarily for the G2 short-rate model.

TridiagonalOperator

The base implementation of a tridiagonal operator: its lower, main and upper diagonals, applied to a vector or solved for a right-hand side.

TridiagonalOperatorTimeSetter

The time-setting logic of a time-dependent TridiagonalOperator: QuantLib's nested TridiagonalOperator::TimeSetter.

Trigeorgis

The Trigeorgis binomial tree: equal jumps matching the step's variance and squared drift, the probabilities carrying the drift.

TrinomialTree

A recombining trinomial tree approximating a one-dimensional stochastic process.

TripleBandLinearOp

A general triple-band operator in one direction of a multi-dimensional layout: each point's row reads the point and its two neighbours in that direction, reflected at the grid's edges.

TsiveriotisFernandesLattice<T>

The binomial lattice of the Tsiveriotis-Fernandes model: a Black-Scholes lattice whose step back carries each node's conversion probability and discounts each branch at its node's blended rate, the risk-free rate and the risk-free rate plus the credit spread weighted by that probability.

Uniform1dMesher

A one-dimensional mesher of equally spaced points from a start to an end.

UniformGridMesher

A uniform grid mesher: in each direction of a layout, its points evenly spaced between two boundaries.

ZeroCondition

The zero exercise condition, used in CEV models: each value floored at 0.

Structs

FdmSchemeDesc

The description of a finite-difference scheme: its type and its two parameters, θ and μ, which the method of lines and TR-BDF2 read as their own parameters.

MultiVariate<TRng>

The default Monte Carlo traits for multi-variate models: MultiPath paths from a MultiPathGenerator<TGsg> over the random-number traits' sequence generator.

Sample<T>

A weighted sample: a generator's draw and its weight.

SingleVariate<TRng>

The default Monte Carlo traits for single-variate models: MonteCarloPath paths from a PathGenerator<TGsg> over the random-number traits' sequence generator.

Interfaces

IBinomialTree<TSelf>

A binomial tree a binomial engine builds: the constructor QuantLib's engine template calls, T(process, end, steps, strike) (binomialengine.hpp:113-114), as a static factory.

IEarlyExercisePathPricer<TPath, TState>

An early-exercise path pricer: the value of exercising an option on a given path at a given time step, the state the regression reads there, and the regression's basis functions of that state.

IFdmScheme

A finite-difference time-stepping scheme: the evolver concept QuantLib's FiniteDifferenceModel template reads, which steps the values back over a set step.

IMcTraits<TPath>

Monte Carlo traits: a path type and its generator over a random-number traits type, QuantLib's SingleVariate<RNG> and MultiVariate<RNG> policies (D12: static abstract members for stateless traits).

IParametricExercise

An exercise rule with parameters: at each exercise, whether to exercise given the parameters and the path's variables, and a first guess of the parameters. QuantLib's ParametricExercise.

IPathGenerator<TPath>

A path generator: what QuantLib's Monte Carlo model draws its paths from, its traits' path_generator_type (PathGenerator<TGsg> for one-dimensional paths, MultiPathGenerator<TGsg> for several).

Enums

BoundaryConditionSide

The side of the grid a boundary condition applies to: QuantLib's BoundaryCondition::Side.

FdmHestonGreensFctAlgorithm

How an FdmHestonGreensFct approximates the Heston density at a short time.

FdmSchemeDescFdmSchemeType

The type of a finite-difference scheme: QuantLib's FdmSchemeDesc::FdmSchemeType.

FdmSquareRootFwdOpTransformationType

The variable a FdmSquareRootFwdOp's density is written in.

ImplicitEulerSchemeSolverType

The iterative solver an implicit step uses for a multi-directional operator: QuantLib's ImplicitEulerScheme::SolverType.

LsmBasisSystemPolynomialType

The polynomial families of the Longstaff-Schwartz basis systems: QuantLib's LsmBasisSystem::PolynomialType.

NumericalDifferentiationScheme

The placement of a numerical derivative's equally spaced points around x.

TrBDF2SchemeSolverType

The iterative solver TR-BDF2's BDF2 stage uses for a multi-directional operator: QuantLib's TrBDF2Scheme::SolverType.