"Model[BMA Swap]" is a special type of with functions , keys and example object that represents all modelling assumptions needed in valuation algorithms concerning objects of type .
Note the present value of a BMA Swap is independent of the stochastic evolution of the interest rates.
It only depends on forward BMA rates and discount factors observed today.
In general, the riskless found in the supplied market data is used for both calculating the required forward BMA and ibor rates as well as discounting the resulting cash flows.
Nevertheless the user has the option to specify here two separate objects that identify the yield curves to be used exclusively for calculating the forward BMA and ibor rates associated with the BMA and ibor leg respectively.
The following quantities may be also calculated and reported along the price.
List of valid values:
BMA Leg BPS
Refers to the output of QuantLib's bmaLegBPS function.
BMA Leg NPV
Refers to the output of QuantLib's bmaLegNPV function.
Returns the Net Present Value of the swap's bma leg.
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
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:
The number of calendar days in the accrual interval [T₁,T₂]
The daycount convention associated with the accrual interval [T₁,T₂] and used in the calculation of the year fraction Δ₁₂
The date T₂ of the accrual interval [T₁,T₂]
The date T₂ of the accrual interval [T₁,T₂]
The year fraction Δ₁₂ of the accrual interval [T₁,T₂]
The adjusted index I + c resulting from the observed index I after a likely convexity adjustment has been added to it.
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.
The denomination currency of the amount paid at time T
An object containing details about the related index I
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
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.
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'₂]
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'₂]
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.
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
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
The applicable index I, if one applies.
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).
The leg where the cash flow belongs. 1 <-> first leg. 2 <-> second leg.
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.
The payment date T of the cash flow.
The rate R that is used to determine the paid out amount according to the formula NRΔ₁₂
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
The type of the cash flow.
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 ), 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.
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.
Fair Libor Fraction
Refers to the output of QuantLib's fairLiborFraction function.
Fair Libor Spread
Refers to the output of QuantLib's fairLiborSpread function.
Libor Leg BPS
Refers to the output of QuantLib's liborLegBPS function.
Libor Leg NPV
Refers to the output of QuantLib's liborLegNPV function.
Returns the Net Present Value of the swap's ibor leg.
The output is a number that represents the price of the referenced tradable, which is the present value of all expected future cash flows, whereby "today" represents the currently set global valuation (trade) date or its overwrite through the .
The cash flows occurring on the trade date are included only if is set to TRUE