Reference Every exported name

API reference

Methods

VibratoMonteCarlo.Vibrato — Type
Vibrato(mc, vb_mc)

Vibrato Monte Carlo: mc (a MonteCarloConfiguration) simulates the path up to the last time step, and vb_mc (VibratoMonteCarloGaussLegendre, VibratoMonteCarloAnalytic, VibratoMonteCarloStandard) integrates the payoff against the density of the last step with the likelihood ratio method.

pricer(mcProcess, rfCurve, Vibrato(mc, vb_mc), payoff):

  • BlackScholesProcess and HestonProcess: Gaussian last step (for Heston with the simulated variance).
  • Lévy processes: FFT density of the last step (requires VibratoMonteCarloAnalytic).
  • an AmericanPayoff (AmericanOption, BinaryAmericanOption): exercise at the Nstep grid dates, policy from Longstaff-Schwartz. On BlackScholesProcess vibrato over every exercise date; on Lévy processes and HestonProcess the exercise decisions are frozen when differentiating, so second order sensitivities are biased.
source
VibratoMonteCarlo.VibratoSaltando — Type
VibratoSaltando(mc, vb_mc)

Vibrato conditioned on the jumps: on the last jump time for finite activity processes (KouProcess, MertonProcess), on the subordinator G_T for VarianceGammaProcess and NormalInverseGaussianProcess. The law of log S_T given that is Gaussian, and vb_mc integrates the payoff against it. Exact for any Nstep. On VG and NIG it also differentiates over κ and T; on Kou and Merton it does not support derivatives over λ or T (it warns).

source
VibratoMonteCarlo.PureLRM — Type
PureLRM(mc, vb_mc)

Likelihood ratio method on the density at maturity, with no path simulation: Gaussian for Black-Scholes, from the FFT for the Lévy processes and Heston (its marginal density at maturity; requires VibratoMonteCarloAnalytic). mc only provides the seed and, for VibratoMonteCarloStandard, the random numbers.

source
VibratoMonteCarlo.Conditional — Type
VibratoMonteCarlo.Conditional(mc)

Same paths as Vibrato on BlackScholesProcess, with the last step priced in closed form (blsprice, blsbin).

source
VibratoMonteCarlo.ConditionalSaltando — Type
VibratoMonteCarlo.ConditionalSaltando(mc)

Same paths as VibratoSaltando, with what the conditioning leaves priced in closed form: the exact inner integration limit of VibratoSaltando.

source

Inner integrations

VibratoMonteCarlo.VibratoMonteCarloGaussLegendre — Type
VibratoMonteCarloGaussLegendre(Npoints = 48)

Inner integration by Gauss-Legendre quadrature on [-8.5, 8.5 + σ] standard deviations, split at the singular points of the payoff (the strikes) with Npoints nodes on each piece. Every piece has a smooth integrand, so the rule converges exponentially: about 1e-14 per path. Gaussian inner laws only (Black and Scholes, Heston, VibratoSaltando, PureLRM on Black and Scholes, American options on Black and Scholes).

source
VibratoMonteCarlo.VibratoMonteCarloAnalytic — Type
VibratoMonteCarloAnalytic(Npoints = 200, x_min = -7.0, x_max = 7.0)

Inner integration by quadrature on a uniform grid of Npoints in [x_min, x_max], in standard deviations of the log increment around its mean. The only inner integration of the FFT density (Lévy processes with Vibrato and PureLRM).

source
VibratoMonteCarlo.VibratoMonteCarloStandard — Type
VibratoMonteCarloStandard(Nsim_lrm = 200)

Inner integration by Monte Carlo: Nsim_lrm standard normal samples for every outer path, drawn again for each path from the generator of the MonteCarloConfiguration. With AntitheticMC they come in antithetic pairs, with SobolMC they are a one dimensional Sobol sequence randomly shifted for every path (Cranley-Patterson). Gaussian inner laws only.

source
VibratoMonteCarlo.VibratoMonteCarloGaussHermite — Type
VibratoMonteCarlo.VibratoMonteCarloGaussHermite(Npoints = 200)

Inner integration by Gauss-Hermite quadrature on Npoints nodes, Gaussian inner laws only. It converges slowly across the kink or the jump of a payoff: prefer VibratoMonteCarloGaussLegendre.

source

Index