Logo
Reference manual - version orea_version
Public Member Functions | List of all members
CashflowCalculator Class Reference

CashflowCalculator. More...

#include <orea/engine/valuationcalculator.hpp>

+ Inheritance diagram for CashflowCalculator:

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
 

Detailed Description

CashflowCalculator.

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)