#include <orea/engine/valuationcalculator.hpp>
Inheritance diagram for NPVCalculator:Public Member Functions | |
| NPVCalculator (const std::string &baseCcyCode, Size index=0) | |
| base ccy and index to write to | |
| 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 |
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