QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
Loading...
Searching...
No Matches
Public Member Functions | List of all members
MultiStepSwaption Class Reference

#include <multistepswaption.hpp>

+ Inheritance diagram for MultiStepSwaption:
+ Collaboration diagram for MultiStepSwaption:

Public Member Functions

 MultiStepSwaption (const std::vector< Time > &rateTimes, Size startIndex, Size endIndex, ext::shared_ptr< StrikedTypePayoff > &)
 
- Public Member Functions inherited from MultiProductMultiStep
 MultiProductMultiStep (std::vector< Time > rateTimes)
 
std::vector< SizesuggestedNumeraires () const override
 
const EvolutionDescriptionevolution () const override
 
- Public Member Functions inherited from MarketModelMultiProduct
virtual ~MarketModelMultiProduct ()=default
 
virtual std::vector< SizesuggestedNumeraires () const =0
 
virtual const EvolutionDescriptionevolution () const =0
 
virtual std::vector< TimepossibleCashFlowTimes () const =0
 
virtual Size numberOfProducts () const =0
 
virtual Size maxNumberOfCashFlowsPerProductPerStep () const =0
 
virtual void reset ()=0
 during simulation put product at start of path More...
 
virtual bool nextTimeStep (const CurveState &currentState, std::vector< Size > &numberCashFlowsThisStep, std::vector< std::vector< CashFlow > > &cashFlowsGenerated)=0
 return value indicates whether path is finished, TRUE means done More...
 
virtual std::unique_ptr< MarketModelMultiProductclone () const =0
 returns a newly-allocated copy of itself More...
 

MarketModelMultiProduct interface

Size startIndex_
 
Size endIndex_
 
ext::shared_ptr< StrikedTypePayoffpayoff_
 
std::vector< TimepaymentTimes_
 
Size currentIndex_
 
std::vector< TimepossibleCashFlowTimes () const override
 
Size numberOfProducts () const override
 
Size maxNumberOfCashFlowsPerProductPerStep () const override
 
void reset () override
 during simulation put product at start of path More...
 
bool nextTimeStep (const CurveState &currentState, std::vector< Size > &numberCashFlowsThisStep, std::vector< std::vector< CashFlow > > &cashFlowsGenerated) override
 return value indicates whether path is finished, TRUE means done More...
 
std::unique_ptr< MarketModelMultiProductclone () const override
 returns a newly-allocated copy of itself More...
 

Additional Inherited Members

- Protected Attributes inherited from MultiProductMultiStep
std::vector< TimerateTimes_
 
EvolutionDescription evolution_
 

Detailed Description

Price a swaption associated to a contiguous subset of rates. Useful only for testing purposes. Steps through all rate times up to start of swap.

Definition at line 36 of file multistepswaption.hpp.

Constructor & Destructor Documentation

◆ MultiStepSwaption()

MultiStepSwaption ( const std::vector< Time > &  rateTimes,
Size  startIndex,
Size  endIndex,
ext::shared_ptr< StrikedTypePayoff > &  payOff 
)

Definition at line 28 of file multistepswaption.cpp.

Member Function Documentation

◆ possibleCashFlowTimes()

std::vector< Time > possibleCashFlowTimes ( ) const
overridevirtual

Implements MarketModelMultiProduct.

Definition at line 67 of file multistepswaption.hpp.

◆ numberOfProducts()

Size numberOfProducts ( ) const
overridevirtual

Implements MarketModelMultiProduct.

Definition at line 72 of file multistepswaption.hpp.

◆ maxNumberOfCashFlowsPerProductPerStep()

Size maxNumberOfCashFlowsPerProductPerStep ( ) const
overridevirtual

Implements MarketModelMultiProduct.

Definition at line 77 of file multistepswaption.hpp.

◆ reset()

void reset ( )
overridevirtual

during simulation put product at start of path

Implements MarketModelMultiProduct.

Definition at line 81 of file multistepswaption.hpp.

◆ nextTimeStep()

bool nextTimeStep ( const CurveState currentState,
std::vector< Size > &  numberCashFlowsThisStep,
std::vector< std::vector< CashFlow > > &  cashFlowsGenerated 
)
overridevirtual

return value indicates whether path is finished, TRUE means done

Implements MarketModelMultiProduct.

Definition at line 42 of file multistepswaption.cpp.

+ Here is the call graph for this function:

◆ clone()

std::unique_ptr< MarketModelMultiProduct > clone ( ) const
overridevirtual

returns a newly-allocated copy of itself

Implements MarketModelMultiProduct.

Definition at line 72 of file multistepswaption.cpp.

Member Data Documentation

◆ startIndex_

Size startIndex_
private

Definition at line 56 of file multistepswaption.hpp.

◆ endIndex_

Size endIndex_
private

Definition at line 57 of file multistepswaption.hpp.

◆ payoff_

ext::shared_ptr<StrikedTypePayoff> payoff_
private

Definition at line 58 of file multistepswaption.hpp.

◆ paymentTimes_

std::vector<Time> paymentTimes_
private

Definition at line 59 of file multistepswaption.hpp.

◆ currentIndex_

Size currentIndex_
private

Definition at line 61 of file multistepswaption.hpp.