Logo
Reference manual - version qle_version
Public Member Functions | List of all members
SwaptionVolCube2 Class Reference
+ Inheritance diagram for SwaptionVolCube2:

Public Member Functions

 SwaptionVolCube2 (const Handle< SwaptionVolatilityStructure > &atmVolStructure, const std::vector< Period > &optionTenors, const std::vector< Period > &swapTenors, const std::vector< Spread > &strikeSpreads, const std::vector< std::vector< Handle< Quote > > > &volSpreads, const boost::shared_ptr< SwapIndex > &swapIndexBase, const boost::shared_ptr< SwapIndex > &shortSwapIndexBase, bool vegaWeightedSmileFit, bool flatExtrapolation, bool volsAreSpreads=true)
 
LazyObject interface
void performCalculations () const override
 

SwaptionVolatilityCube inspectors

const Matrix & volSpreads (Size i) const
 
boost::shared_ptr< SmileSection > smileSectionImpl (const Date &optionDate, const Period &swapTenor) const override
 
boost::shared_ptr< SmileSection > smileSectionImpl (Time optionTime, Time swapLength) const override
 

Constructor & Destructor Documentation

◆ SwaptionVolCube2()

SwaptionVolCube2 ( const Handle< SwaptionVolatilityStructure > &  atmVolStructure,
const std::vector< Period > &  optionTenors,
const std::vector< Period > &  swapTenors,
const std::vector< Spread > &  strikeSpreads,
const std::vector< std::vector< Handle< Quote > > > &  volSpreads,
const boost::shared_ptr< SwapIndex > &  swapIndexBase,
const boost::shared_ptr< SwapIndex > &  shortSwapIndexBase,
bool  vegaWeightedSmileFit,
bool  flatExtrapolation,
bool  volsAreSpreads = true 
)

The swaption vol cube is made up of ordered swaption vol surface layers, each layer referring to a swap index of a given length (in years), all indexes belonging to the same family. In order to identify the family (and its market conventions) an index of whatever length from that family must be passed in as swapIndexBase.

Often for short swap length the swap index family is different, e.g. the EUR case: swap vs 6M Euribor is used for length>1Y, while swap vs 3M Euribor is used for the 1Y length. The shortSwapIndexBase is used to identify this second family.

If flatExtrapolation is true the implied volatility is extrapolated flat in strike direction.

in case volsAreSpreads is false the given volSpreads are interpreted as absolute vols, in this case the volSpreads inspectors also return absolute vols