Logo
Reference manual - version orea_version
Public Member Functions | Protected Attributes | List of all members
MultiStateNPVCalculator Class Reference

MultiStateNPVCalculator. More...

#include <orea/engine/multistatenpvcalculator.hpp>

+ Inheritance diagram for MultiStateNPVCalculator:

Public Member Functions

 MultiStateNPVCalculator (const std::string &baseCcyCode, Size index, Size states)
 base ccy and index to write to
 
void calculate (const boost::shared_ptr< Trade > &trade, Size tradeIndex, const boost::shared_ptr< SimMarket > &simMarket, boost::shared_ptr< NPVCube > &outputCube, boost::shared_ptr< NPVCube > &outputCubeNettingSet, const Date &date, Size dateIndex, Size sample, bool isCloseOut=false) override
 
void calculateT0 (const boost::shared_ptr< Trade > &trade, Size tradeIndex, const boost::shared_ptr< SimMarket > &simMarket, boost::shared_ptr< NPVCube > &outputCube, boost::shared_ptr< NPVCube > &outputCubeNettingSet) override
 
std::vector< Real > multiStateNpv (Size tradeIndex, const boost::shared_ptr< Trade > &trade, const boost::shared_ptr< SimMarket > &simMarket)
 
- Public Member Functions inherited from NPVCalculator
 NPVCalculator (const std::string &baseCcyCode, Size index=0)
 base ccy and index to write to
 
virtual Real npv (Size tradeIndex, const boost::shared_ptr< Trade > &trade, const boost::shared_ptr< SimMarket > &simMarket)
 
void init (const boost::shared_ptr< Portfolio > &portfolio, const boost::shared_ptr< SimMarket > &simMarket) override
 
void initScenario () override
 

Protected Attributes

Size states_
 
- Protected Attributes inherited from NPVCalculator
std::string baseCcyCode_
 
Size index_
 
std::vector< Handle< Quote > > ccyQuotes_
 
std::vector< double > fxRates_
 
std::vector< Size > tradeCcyIndex_
 

Detailed Description

MultiStateNPVCalculator.

Calculate multiple state NPVs (use addtional result field stateNpv) See NPVCalculator for more conventions of the stored NPVs.