QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
Loading...
Searching...
No Matches
Public Member Functions | List of all members
EquityCashFlow Class Reference

#include <equitycashflow.hpp>

+ Inheritance diagram for EquityCashFlow:
+ Collaboration diagram for EquityCashFlow:

Public Member Functions

 EquityCashFlow (Real notional, ext::shared_ptr< EquityIndex > index, const Date &baseDate, const Date &fixingDate, const Date &paymentDate, bool growthOnly=true)
 
CashFlow interface
Real amount () const override
 returns the amount of the cash flow More...
 
- Public Member Functions inherited from IndexedCashFlow
 IndexedCashFlow (Real notional, ext::shared_ptr< Index > index, const Date &baseDate, const Date &fixingDate, const Date &paymentDate, bool growthOnly=false)
 
Date date () const override
 
virtual Real notional () const
 
virtual Date baseDate () const
 
virtual Date fixingDate () const
 
virtual ext::shared_ptr< Indexindex () const
 
virtual bool growthOnly () const
 
virtual Real baseFixing () const
 
virtual Real indexFixing () const
 
Real amount () const override
 returns the amount of the cash flow More...
 
void accept (AcyclicVisitor &) override
 
void performCalculations () const override
 
- Public Member Functions inherited from CashFlow
 ~CashFlow () override=default
 
bool hasOccurred (const Date &refDate=Date(), ext::optional< bool > includeRefDate=ext::nullopt) const override
 returns true if an event has already occurred before a date More...
 
virtual Date exCouponDate () const
 returns the date that the cash flow trades exCoupon More...
 
bool tradingExCoupon (const Date &refDate=Date()) const
 returns true if the cashflow is trading ex-coupon on the refDate More...
 
- Public Member Functions inherited from Event
 ~Event () override=default
 
- Public Member Functions inherited from Observable
 Observable ()
 
 Observable (const Observable &)
 
Observableoperator= (const Observable &)
 
 Observable (Observable &&)=delete
 
Observableoperator= (Observable &&)=delete
 
virtual ~Observable ()=default
 
void notifyObservers ()
 
- Public Member Functions inherited from LazyObject
 LazyObject ()
 
 ~LazyObject () override=default
 
void update () override
 
bool isCalculated () const
 
void forwardFirstNotificationOnly ()
 
void alwaysForwardNotifications ()
 
void recalculate ()
 
void freeze ()
 
void unfreeze ()
 
- Public Member Functions inherited from Observer
 Observer ()=default
 
 Observer (const Observer &)
 
Observeroperator= (const Observer &)
 
virtual ~Observer ()
 
std::pair< iterator, boolregisterWith (const ext::shared_ptr< Observable > &)
 
void registerWithObservables (const ext::shared_ptr< Observer > &)
 
Size unregisterWith (const ext::shared_ptr< Observable > &)
 
void unregisterWithAll ()
 
virtual void update ()=0
 
virtual void deepUpdate ()
 

Visitability

ext::shared_ptr< EquityCashFlowPricerpricer_
 
void accept (AcyclicVisitor &) override
 
void setPricer (const ext::shared_ptr< EquityCashFlowPricer > &)
 
const ext::shared_ptr< EquityCashFlowPricer > & pricer () const
 

Additional Inherited Members

- Public Types inherited from Observer
typedef set_type::iterator iterator
 
- Protected Member Functions inherited from LazyObject
virtual void calculate () const
 
- Protected Attributes inherited from IndexedCashFlow
Real amount_
 
- Protected Attributes inherited from LazyObject
bool calculated_ = false
 
bool frozen_ = false
 
bool alwaysForward_
 

Detailed Description

Definition at line 37 of file equitycashflow.hpp.

Constructor & Destructor Documentation

◆ EquityCashFlow()

EquityCashFlow ( Real  notional,
ext::shared_ptr< EquityIndex index,
const Date baseDate,
const Date fixingDate,
const Date paymentDate,
bool  growthOnly = true 
)

Definition at line 53 of file equitycashflow.cpp.

Member Function Documentation

◆ amount()

Real amount ( ) const
overridevirtual

returns the amount of the cash flow

Note
The amount is not discounted, i.e., it is the actual amount paid at the cash flow date.

Implements CashFlow.

Definition at line 70 of file equitycashflow.cpp.

+ Here is the call graph for this function:

◆ accept()

void accept ( AcyclicVisitor v)
overridevirtual

Reimplemented from CashFlow.

Definition at line 60 of file equitycashflow.hpp.

+ Here is the call graph for this function:

◆ setPricer()

void setPricer ( const ext::shared_ptr< EquityCashFlowPricer > &  pricer)

Definition at line 61 of file equitycashflow.cpp.

+ Here is the call graph for this function:

◆ pricer()

const ext::shared_ptr< EquityCashFlowPricer > & pricer ( ) const

Definition at line 54 of file equitycashflow.hpp.

+ Here is the caller graph for this function:

Member Data Documentation

◆ pricer_

ext::shared_ptr<EquityCashFlowPricer> pricer_
private

Definition at line 57 of file equitycashflow.hpp.