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
MultiStepPeriodCapletSwaptions Class Reference

#include <multistepperiodcapletswaptions.hpp>

+ Inheritance diagram for MultiStepPeriodCapletSwaptions:
+ Collaboration diagram for MultiStepPeriodCapletSwaptions:

Public Member Functions

 MultiStepPeriodCapletSwaptions (const std::vector< Time > &rateTimes, const std::vector< Time > &forwardOptionPaymentTimes, const std::vector< Time > &swaptionPaymentTimes, std::vector< ext::shared_ptr< StrikedTypePayoff > > forwardPayOffs, std::vector< ext::shared_ptr< StrikedTypePayoff > > swapPayOffs, Size period, Size offset)
 
- 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

std::vector< TimepaymentTimes_
 
std::vector< TimeforwardOptionPaymentTimes_
 
std::vector< TimeswaptionPaymentTimes_
 
std::vector< ext::shared_ptr< StrikedTypePayoff > > forwardPayOffs_
 
std::vector< ext::shared_ptr< StrikedTypePayoff > > swapPayOffs_
 
Size lastIndex_
 
Size period_
 
Size offset_
 
Size numberFRAs_
 
Size numberBigFRAs_
 
Size currentIndex_
 
Size productIndex_
 
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

Definition at line 31 of file multistepperiodcapletswaptions.hpp.

Constructor & Destructor Documentation

◆ MultiStepPeriodCapletSwaptions()

MultiStepPeriodCapletSwaptions ( const std::vector< Time > &  rateTimes,
const std::vector< Time > &  forwardOptionPaymentTimes,
const std::vector< Time > &  swaptionPaymentTimes,
std::vector< ext::shared_ptr< StrikedTypePayoff > >  forwardPayOffs,
std::vector< ext::shared_ptr< StrikedTypePayoff > >  swapPayOffs,
Size  period,
Size  offset 
)

Definition at line 28 of file multistepperiodcapletswaptions.cpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ possibleCashFlowTimes()

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

Implements MarketModelMultiProduct.

Definition at line 74 of file multistepperiodcapletswaptions.hpp.

◆ numberOfProducts()

Size numberOfProducts ( ) const
overridevirtual

Implements MarketModelMultiProduct.

Definition at line 78 of file multistepperiodcapletswaptions.hpp.

◆ maxNumberOfCashFlowsPerProductPerStep()

Size maxNumberOfCashFlowsPerProductPerStep ( ) const
overridevirtual

Implements MarketModelMultiProduct.

Definition at line 83 of file multistepperiodcapletswaptions.hpp.

◆ reset()

void reset ( )
overridevirtual

during simulation put product at start of path

Implements MarketModelMultiProduct.

Definition at line 87 of file multistepperiodcapletswaptions.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 70 of file multistepperiodcapletswaptions.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 134 of file multistepperiodcapletswaptions.cpp.

Member Data Documentation

◆ paymentTimes_

std::vector<Time> paymentTimes_
private

Definition at line 55 of file multistepperiodcapletswaptions.hpp.

◆ forwardOptionPaymentTimes_

std::vector<Time> forwardOptionPaymentTimes_
private

Definition at line 56 of file multistepperiodcapletswaptions.hpp.

◆ swaptionPaymentTimes_

std::vector<Time> swaptionPaymentTimes_
private

Definition at line 57 of file multistepperiodcapletswaptions.hpp.

◆ forwardPayOffs_

std::vector<ext::shared_ptr<StrikedTypePayoff> > forwardPayOffs_
private

Definition at line 58 of file multistepperiodcapletswaptions.hpp.

◆ swapPayOffs_

std::vector<ext::shared_ptr<StrikedTypePayoff> > swapPayOffs_
private

Definition at line 59 of file multistepperiodcapletswaptions.hpp.

◆ lastIndex_

Size lastIndex_
private

Definition at line 60 of file multistepperiodcapletswaptions.hpp.

◆ period_

Size period_
private

Definition at line 61 of file multistepperiodcapletswaptions.hpp.

◆ offset_

Size offset_
private

Definition at line 62 of file multistepperiodcapletswaptions.hpp.

◆ numberFRAs_

Size numberFRAs_
private

Definition at line 63 of file multistepperiodcapletswaptions.hpp.

◆ numberBigFRAs_

Size numberBigFRAs_
private

Definition at line 64 of file multistepperiodcapletswaptions.hpp.

◆ currentIndex_

Size currentIndex_
private

Definition at line 67 of file multistepperiodcapletswaptions.hpp.

◆ productIndex_

Size productIndex_
private

Definition at line 68 of file multistepperiodcapletswaptions.hpp.