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):
BlackScholesProcessandHestonProcess: 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 theNstepgrid dates, policy from Longstaff-Schwartz. OnBlackScholesProcessvibrato over every exercise date; on Lévy processes andHestonProcessthe exercise decisions are frozen when differentiating, so second order sensitivities are biased.
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).
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.
VibratoMonteCarlo.Conditional — Type
VibratoMonteCarlo.Conditional(mc)Same paths as Vibrato on BlackScholesProcess, with the last step priced in closed form (blsprice, blsbin).
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.
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).
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).
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.
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.
Index
VibratoMonteCarlo.ConditionalVibratoMonteCarlo.ConditionalSaltandoVibratoMonteCarlo.PureLRMVibratoMonteCarlo.VibratoVibratoMonteCarlo.VibratoMonteCarloAnalyticVibratoMonteCarlo.VibratoMonteCarloGaussHermiteVibratoMonteCarlo.VibratoMonteCarloGaussLegendreVibratoMonteCarlo.VibratoMonteCarloStandardVibratoMonteCarlo.VibratoSaltando