Table of Contents

Class OrthogonalizedBumpFinder

Namespace
NanoQL.Models
Assembly
NanoQL.dll

Pseudo-root bumps that each move one instrument's implied volatility by one percent and leave the others fixed: the instruments' one-percent bumps projected orthogonally to each other, an instrument too correlated with the others discarded.

public sealed class OrthogonalizedBumpFinder
Inheritance
OrthogonalizedBumpFinder
Inherited Members

Remarks

Immutable: GetVegaBumps() returns a new array.

Constructors

OrthogonalizedBumpFinder(VegaBumpCollection, IEnumerable<VolatilityBumpInstrumentJacobianSwaption>, IEnumerable<VolatilityBumpInstrumentJacobianCap>, double, double)

Initializes a new instance of the OrthogonalizedBumpFinder class.

public OrthogonalizedBumpFinder(VegaBumpCollection bumps, IEnumerable<VolatilityBumpInstrumentJacobianSwaption> swaptions, IEnumerable<VolatilityBumpInstrumentJacobianCap> caps, double multiplierCutOff, double tolerance)

Parameters

bumps VegaBumpCollection

The vega bumps, on the model the instruments' implied volatilities are read in.

swaptions IEnumerable<VolatilityBumpInstrumentJacobianSwaption>

The swaptions.

caps IEnumerable<VolatilityBumpInstrumentJacobianCap>

The caps.

multiplierCutOff double

An instrument whose bump grows by more than this factor is discarded.

tolerance double

An instrument whose projection before scaling is below this is discarded.

Methods

GetVegaBumps()

The bumps, by step and by valid instrument, each of the pseudo-root's size: precisely the bumps PathwiseVegasAccountingEngine takes.

public Matrix[][] GetVegaBumps()

Returns

Matrix[][]

A new array: a list per step, a bump per valid instrument.

Exceptions

ArgumentException

An instrument's pseudo-derivative refuses its inputs.

NanoQLException

A cap's implied volatility can't be solved.