The volatility input, apart from flat, may also be Vol Curve::Vol Input::Swaption Surface or Vol Curve::Vol Input::Swaption Cube If the "correct" volatility input is not known, the functions Function Tradable::Implied Vol and Function Vol Curve::Create Implied Vol Table allows the calculation of the volatility implied by any given set of swaption prices. The first function returns the flat vol implied by a single market swaption price. The second function returns either a volatility surface or a volatility cube expressed respectively as a 2-dimensional expiry/swap tenor table or a 3-dimensional expiry/swap tenor/strike table implied by a set of arbitrary market swaption prices. This may in turn be used as input to the pricing of any other swaption that lacks a market price. Note the involved market swaptions must be europeans.
The following quantities may be also calculated and reported along the price. 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 Key OI Term Rate::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.
Price 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 Key Tradable::Price::As Of#1. The cash flows occurring on the trade date are included only if Key Tradable::Price::Trade Date CFs#1 is set to TRUE
annuity Additional data returned by QuantLib.
atmForward Additional data returned by QuantLib.
delta Additional data returned by QuantLib.
impliedVolatility Additional data returned by QuantLib.
spreadCorrection Additional data returned by QuantLib.
stdDev Additional data returned by QuantLib.
strike Additional data returned by QuantLib.
swapLength Additional data returned by QuantLib.
timeToExpiry Additional data returned by QuantLib.