#include <orea/engine/valuationcalculator.hpp>
Public Member Functions | |
CashflowCalculator (const std::string &baseCcyCode, const Date &t0Date, const QuantLib::ext::shared_ptr< DateGrid > &dateGrid, Size index) | |
Constructor takes the base ccy, date grid and index of cube 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 |
void | init (const QuantLib::ext::shared_ptr< Portfolio > &portfolio, const QuantLib::ext::shared_ptr< SimMarket > &simMarket) override |
void | initScenario () override |
Calculates the cashflow, converted to base ccy, from t to t+1, this interval is defined by the provided dategrid The interval is (t, t+1], i.e. we exclude todays flows and include flows that fall exactly on t+1. For t0 we do nothing (and so the cube will have a 0 value)