Go to Deriscope's documentation start page

Model[Vanilla_Swaption]

"Model[Vanilla Swaption]" is a special type of Model that represents all modelling assumptions needed in valuation algorithms concerning objects of type Vanilla Swaption.
The pricing succeeds by any of 14 different methods listed in
Model[Vanilla Swaption]::Pricing Method

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
Tradable::Implied Vol and 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
Web Reference:
here
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
Tradable::Price::As Of.
The cash flows occurring on the trade date are included only if
Tradable::Price::Trade Date CFs 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.
vega
Additional data returned by QuantLib.