Table of Contents

Class CashFlow

Namespace
NanoQL
Assembly
NanoQL.dll

The base class of cash flows.

public abstract class CashFlow : Event
Inheritance
CashFlow
Derived
Inherited Members

Constructors

CashFlow()

protected CashFlow()

Properties

ExCouponDate

Gets the date that the cash flow trades ex-coupon, or null when it has none.

public virtual Date? ExCouponDate { get; }

Property Value

Date?

Methods

Amount(EvaluationContext)

The amount of the cash flow, not discounted: the amount paid at the cash-flow date.

public abstract double Amount(EvaluationContext context)

Parameters

context EvaluationContext

The evaluation context, which a cash flow whose amount depends on fixings or the evaluation date reads; one that knows its amount checks it and reads nothing.

Returns

double

The amount.

HasOccurred(EvaluationContext, Date?, bool?)

Whether the cash flow has already occurred before a date. On the evaluation date, the context's IncludeTodaysCashFlows, when set, overrides includeRefDate.

public override bool HasOccurred(EvaluationContext context, Date? refDate = null, bool? includeRefDate = null)

Parameters

context EvaluationContext

The evaluation context.

refDate Date?

The reference date; the evaluation date when null.

includeRefDate bool?

Whether a cash flow on the reference date counts as not yet occurred.

Returns

bool

true when the cash flow has occurred.

TradingExCoupon(EvaluationContext, Date?)

Whether the cash flow is trading ex-coupon on a date.

public bool TradingExCoupon(EvaluationContext context, Date? refDate = null)

Parameters

context EvaluationContext

The evaluation context.

refDate Date?

The reference date; the evaluation date when null.

Returns

bool

true on or after the ex-coupon date.