#include <orea/engine/valuationcalculator.hpp>
Public Member Functions | |
NPVCalculator (const std::string &baseCcyCode, Size index=0) | |
base ccy and index to write to More... | |
virtual void | calculate (const QuantLib::ext::shared_ptr< Trade > &trade, Size tradeIndex, const QuantLib::ext::shared_ptr< SimMarket > &simMarket, QuantLib::ext::shared_ptr< NPVCube > &outputCube, QuantLib::ext::shared_ptr< NPVCube > &outputCubeNettingSet, const Date &date, Size dateIndex, Size sample, bool isCloseOut=false) override |
virtual void | calculateT0 (const QuantLib::ext::shared_ptr< Trade > &trade, Size tradeIndex, const QuantLib::ext::shared_ptr< SimMarket > &simMarket, QuantLib::ext::shared_ptr< NPVCube > &outputCube, QuantLib::ext::shared_ptr< NPVCube > &outputCubeNettingSet) override |
virtual Real | npv (Size tradeIndex, const QuantLib::ext::shared_ptr< Trade > &trade, const QuantLib::ext::shared_ptr< SimMarket > &simMarket) |
void | init (const QuantLib::ext::shared_ptr< Portfolio > &portfolio, const QuantLib::ext::shared_ptr< SimMarket > &simMarket) override |
void | initScenario () override |
![]() | |
virtual | ~ValuationCalculator () |
virtual void | calculate (const QuantLib::ext::shared_ptr< Trade > &trade, Size tradeIndex, const QuantLib::ext::shared_ptr< SimMarket > &simMarket, QuantLib::ext::shared_ptr< NPVCube > &outputCube, QuantLib::ext::shared_ptr< NPVCube > &outputCubeNettingSet, const Date &date, Size dateIndex, Size sample, bool isCloseOut=false)=0 |
virtual void | calculateT0 (const QuantLib::ext::shared_ptr< Trade > &trade, Size tradeIndex, const QuantLib::ext::shared_ptr< SimMarket > &simMarket, QuantLib::ext::shared_ptr< NPVCube > &outputCube, QuantLib::ext::shared_ptr< NPVCube > &outputCubeNettingSet)=0 |
virtual void | init (const QuantLib::ext::shared_ptr< Portfolio > &portfolio, const QuantLib::ext::shared_ptr< SimMarket > &simMarket)=0 |
virtual void | initScenario ()=0 |
Protected Attributes | |
std::string | baseCcyCode_ |
Size | index_ |
std::vector< Handle< Quote > > | ccyQuotes_ |
std::vector< double > | fxRates_ |
std::vector< Size > | tradeCcyIndex_ |
Calculate the NPV of the given trade, convert to base currency and divide by the numeraire If the NPV() call throws, we log an exception and write 0 to the cube
Definition at line 87 of file valuationcalculator.hpp.
NPVCalculator | ( | const std::string & | baseCcyCode, |
Size | index = 0 |
||
) |
base ccy and index to write to
Definition at line 90 of file valuationcalculator.hpp.
|
overridevirtual |
Implements ValuationCalculator.
Reimplemented in MultiStateNPVCalculator.
Definition at line 55 of file valuationcalculator.cpp.
|
overridevirtual |
Implements ValuationCalculator.
Reimplemented in MultiStateNPVCalculator.
Definition at line 63 of file valuationcalculator.cpp.
|
virtual |
Definition at line 69 of file valuationcalculator.cpp.
|
overridevirtual |
Implements ValuationCalculator.
Definition at line 31 of file valuationcalculator.cpp.
|
overridevirtual |
Implements ValuationCalculator.
Definition at line 50 of file valuationcalculator.cpp.
|
protected |
Definition at line 108 of file valuationcalculator.hpp.
|
protected |
Definition at line 109 of file valuationcalculator.hpp.
|
protected |
Definition at line 111 of file valuationcalculator.hpp.
|
protected |
Definition at line 112 of file valuationcalculator.hpp.
|
protected |
Definition at line 113 of file valuationcalculator.hpp.