This type represents that represents all modelling assumptions needed in valuation algorithms concerning objects of type IRS. In general, the riskless Yield Curve found in the supplied market data is used for both calculating the required forward rates and discounting the resulting cash flows. It is possible to choose any specific yield curve for calculating the forward rates associated with a designated rate type by specifying an optional Issuer that matches the issuer of that specific curve. It is also possible to choose a specific yield curve for discounting purposes by specifying an optional Issuer that matches the issuer of that specific curve.
If an IRS happens to involve an upfront payment, the Price function exceptionally will take into account that payment even if it occurs at trade date and Trade Date CFs = FALSE
The following labels may be assigned to the key Output of the Price function in order for the latter to return the respective quantities. List of valid values: CashFlows All cash flows displayed in chronological order as a table with a maximum of 26 columns. Only those columns appear that are relevant in a given context. The column titles indicate the meaning of the respective data. The following preliminaries need to be known.
Most of the columns pertain to cash flows resulting from the observed (i.e. realized) value I of an index. Exceptions are bullet amounts - such as principal repayments - that are paid at some time T, but are not linked to any index. The index value I may lead to a rate R that is assumed to accrue over a time interval [T₁,T₂] and produces an amount of NRΔ₁₂ being paid at time T, where: N is the applicable notional and Δ₁₂ is the year fraction of the interval [T₁,T₂] according to some daycount convention. A typical construction of the rate R out of the index I is throught the formula: R = g(I + c) + s where g is a number known as gearing or multiplier c is a number known as convexity adjustment and s is a number known as spread
Note, a rate R may not result from any index I, such as the case is for fixed rate payments where the fixed rate R is contractually specified.
Below is an alphabetical list of all possible column titles with their descriptions:
#AccrDays The number of calendar days in the accrual interval [T₁,T₂]
#AccrDC The daycount convention associated with the accrual interval [T₁,T₂] and used in the calculation of the year fraction Δ₁₂
#AccrEnd The date T₂ of the accrual interval [T₁,T₂]
#AccrStart The date T₂ of the accrual interval [T₁,T₂]
#AccrTime The year fraction Δ₁₂ of the accrual interval [T₁,T₂]
#AdjIndex The adjusted index I + c resulting from the observed index I after a likely convexity adjustment has been added to it.
#Amount The amount paid at time T. This will be only shown in a context where the prerequisite index - if applicable - I can be calculated. If negative, the absolute value is regarded as being paid out.
#Ccy The denomination currency of the amount paid at time T
#Details An object containing details about the related index I
#Dir This is the contractual direction of the cash flow and can be either PAY or REC. Whether the cash flow represents a positive amount being received or paid is determined by other factors as well and is unequivocally determined by the sign of the amount in the column titled #Amount
#Fixing The date when the index I is fixed (i.e. set or observed). For example, I may represent a 6-month Libor rate that is set at T'₀ = T'₁ - 2B and spans the 6-month period [T'₁,T'₂]. Then the date T'₀ is shown here.
#FixingEnd The index I may be defined as some rate that references a certain time interval [T'₁,T'₂]. Here is shown the date T'₂. For example, I may represent a 6-month Libor rate that is set at T'₀ = T'₁ - 2B and spans the 6-month period [T'₁,T'₂]
#FixingStart The index I may be defined as some rate that references a certain time interval [T'₁,T'₂]. Here is shown the date T'₁. For example, I may represent a 6-month Libor rate that is set at T'₀ = T'₁ - 2B and spans the 6-month period [T'₁,T'₂]
#FxFixing Applies only when the index I represents an fx rate. Then it shows the date when the fx rate is fixed (i.e. set or observed). For example, I may represent the fx rate EUR/USD that is set at some time T'₀. Then the date T'₀ is shown here.
#FxIndex Applies only when the index I represents an fx rate. Then it shows the value of the fx rate that is fixed (i.e. set or observed) at the date shown in the column titled #FxFixing
#Gearing The gearing g in the formula R = g(I + c) + s that is used to calculate the rate R shown in the column titled #Rate
#Index The applicable index I, if one applies.
#InLegCF The counter - starting with 1 - of the referenced cash flow when counting only the cash flows of the containing leg in chronological order (according to the payment date).
#Leg The leg where the cash flow belongs. 1 <-> first leg. 2 <-> second leg.
#Notional The notional N that is relevant for determining the respective cash flow, which is the notional at the beginning of the accrual period. In the special case of fx reset, this will be the converted domestic notional that arises after the fixed foreign notional is multiplied with the spot fx rate observed at the beginning of the accrual period.
#PmtDate The payment date T of the cash flow.
#Rate The rate R that is used to determine the paid out amount according to the formula NRΔ₁₂
#Spread The spread s in the formula R = g(I + c) + s that is used to calculate the rate R shown in the column titled #Rate
#Type The type of the cash flow.
#ValueEnd Applies only when the index I represents an overnight index term rate. In that case the index I is defined as a certain weighted average of the daily overnight index observed in the time interval [T'₁,T'₂], where T'₁ and T'₂ are shown in the columns titled #FixingStart and #FixingEnd. But the weight that applies on each daily overnight index is not necessarily linked to the number of calendar days spanned by the respective index. When there is a lookback involved (as described at Lookback), the weight is read off a shifted date (referred as Value Date) and might thus be different. For example, if the overnight rate is set on a Friday and the lookback is 1, the corresponding Value Date will be the next Monday and the applicable weight will not be linked to the 3 days over the weekend but rather to the one day corresponding to the Value Date of Monday. Here is shown the end date of the time interval containing all the Value Dates.
#ValueStart Same as above, with the distinction that the date shown here pertains to the start date of the time interval containing all the Value Dates.
Leg 1 BPS Refers to the output of QuantLib's legBPS function. Applied on the first leg.
Leg 1 NPV Refers to the output of QuantLib's legNPV function. Returns the Net Present Value of the first leg.
Leg 2 BPS Refers to the output of QuantLib's legBPS function. Applied on the second leg.
Leg 2 NPV Refers to the output of QuantLib's legNPV function. Returns the Net Present Value of the second leg.
Price The output is a number that represents the price - also known as NPV (Net Present Value) - of the referenced tradable as of the trade date Note the applicable trade date equals the global trade date, except if overwriten by the optional entry As Of The cash flows occurring on the trade date are included only if Trade Date CFs is set to TRUE