Logo
Reference manual - version orea_version
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.
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
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)

Member Function Documentation

◆ calculate()

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 )
overridevirtual

Implements ValuationCalculator.

◆ calculateT0()

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 )
overridevirtual

Implements ValuationCalculator.

◆ init()

void init ( const QuantLib::ext::shared_ptr< Portfolio > & portfolio,
const QuantLib::ext::shared_ptr< SimMarket > & simMarket )
overridevirtual

Implements ValuationCalculator.

◆ initScenario()

void initScenario ( )
overridevirtual

Implements ValuationCalculator.