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

#include <proxygreekengine.hpp>

+ Collaboration diagram for ProxyGreekEngine:

Public Member Functions

 ProxyGreekEngine (ext::shared_ptr< MarketModelEvolver > evolver, std::vector< std::vector< ext::shared_ptr< ConstrainedEvolver > > > constrainedEvolvers, std::vector< std::vector< std::vector< Real > > > diffWeights, std::vector< Size > startIndexOfConstraint, std::vector< Size > endIndexOfConstraint, const Clone< MarketModelMultiProduct > &product, Real initialNumeraireValue)
 
void multiplePathValues (SequenceStatisticsInc &stats, std::vector< std::vector< SequenceStatisticsInc > > &modifiedStats, Size numberOfPaths)
 
void singlePathValues (std::vector< Real > &values, std::vector< std::vector< std::vector< Real > > > &modifiedValues)
 

Private Member Functions

void singleEvolverValues (MarketModelEvolver &evolver, std::vector< Real > &values, bool storeRates=false)
 

Private Attributes

ext::shared_ptr< MarketModelEvolveroriginalEvolver_
 
std::vector< std::vector< ext::shared_ptr< ConstrainedEvolver > > > constrainedEvolvers_
 
std::vector< std::vector< std::vector< Real > > > diffWeights_
 
std::vector< SizestartIndexOfConstraint_
 
std::vector< SizeendIndexOfConstraint_
 
Clone< MarketModelMultiProductproduct_
 
Real initialNumeraireValue_
 
Size numberProducts_
 
std::vector< Rateconstraints_
 
std::valarray< boolconstraintsActive_
 
std::vector< RealnumerairesHeld_
 
std::vector< SizenumberCashFlowsThisStep_
 
std::vector< std::vector< MarketModelMultiProduct::CashFlow > > cashFlowsGenerated_
 
std::vector< MarketModelDiscounterdiscounters_
 

Detailed Description

Definition at line 37 of file proxygreekengine.hpp.

Constructor & Destructor Documentation

◆ ProxyGreekEngine()

ProxyGreekEngine ( ext::shared_ptr< MarketModelEvolver evolver,
std::vector< std::vector< ext::shared_ptr< ConstrainedEvolver > > >  constrainedEvolvers,
std::vector< std::vector< std::vector< Real > > >  diffWeights,
std::vector< Size startIndexOfConstraint,
std::vector< Size endIndexOfConstraint,
const Clone< MarketModelMultiProduct > &  product,
Real  initialNumeraireValue 
)

Definition at line 30 of file proxygreekengine.cpp.

Member Function Documentation

◆ multiplePathValues()

void multiplePathValues ( SequenceStatisticsInc stats,
std::vector< std::vector< SequenceStatisticsInc > > &  modifiedStats,
Size  numberOfPaths 
)

Definition at line 77 of file proxygreekengine.cpp.

+ Here is the call graph for this function:

◆ singlePathValues()

void singlePathValues ( std::vector< Real > &  values,
std::vector< std::vector< std::vector< Real > > > &  modifiedValues 
)

Definition at line 63 of file proxygreekengine.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ singleEvolverValues()

void singleEvolverValues ( MarketModelEvolver evolver,
std::vector< Real > &  values,
bool  storeRates = false 
)
private

Definition at line 112 of file proxygreekengine.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ originalEvolver_

ext::shared_ptr<MarketModelEvolver> originalEvolver_
private

Definition at line 58 of file proxygreekengine.hpp.

◆ constrainedEvolvers_

std::vector<std::vector<ext::shared_ptr<ConstrainedEvolver> > > constrainedEvolvers_
private

Definition at line 60 of file proxygreekengine.hpp.

◆ diffWeights_

std::vector<std::vector<std::vector<Real> > > diffWeights_
private

Definition at line 61 of file proxygreekengine.hpp.

◆ startIndexOfConstraint_

std::vector<Size> startIndexOfConstraint_
private

Definition at line 62 of file proxygreekengine.hpp.

◆ endIndexOfConstraint_

std::vector<Size> endIndexOfConstraint_
private

Definition at line 63 of file proxygreekengine.hpp.

◆ product_

Clone<MarketModelMultiProduct> product_
private

Definition at line 64 of file proxygreekengine.hpp.

◆ initialNumeraireValue_

Real initialNumeraireValue_
private

Definition at line 66 of file proxygreekengine.hpp.

◆ numberProducts_

Size numberProducts_
private

Definition at line 67 of file proxygreekengine.hpp.

◆ constraints_

std::vector<Rate> constraints_
private

Definition at line 70 of file proxygreekengine.hpp.

◆ constraintsActive_

std::valarray<bool> constraintsActive_
private

Definition at line 71 of file proxygreekengine.hpp.

◆ numerairesHeld_

std::vector<Real> numerairesHeld_
private

Definition at line 72 of file proxygreekengine.hpp.

◆ numberCashFlowsThisStep_

std::vector<Size> numberCashFlowsThisStep_
private

Definition at line 73 of file proxygreekengine.hpp.

◆ cashFlowsGenerated_

std::vector<std::vector<MarketModelMultiProduct::CashFlow> > cashFlowsGenerated_
private

Definition at line 75 of file proxygreekengine.hpp.

◆ discounters_

std::vector<MarketModelDiscounter> discounters_
private

Definition at line 76 of file proxygreekengine.hpp.