Class OrthogonalizedBumpFinder
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
bumpsVegaBumpCollectionThe vega bumps, on the model the instruments' implied volatilities are read in.
swaptionsIEnumerable<VolatilityBumpInstrumentJacobianSwaption>The swaptions.
capsIEnumerable<VolatilityBumpInstrumentJacobianCap>The caps.
multiplierCutOffdoubleAn instrument whose bump grows by more than this factor is discarded.
tolerancedoubleAn 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.