public class SwaptionAnalyticApproximation extends AbstractLIBORMonteCarloProduct implements Swaption
SwaptionSingleCurveAnalyticApproximation).
The approximation assumes that the forward rates (LIBOR) follow a
log normal model and that the model provides the integrated
instantaneous covariance of the log-forward rates.
The getValue method calculates the approximated integrated instantaneous variance of the swap rate,
using the approximation
\[
\frac{d log(S(t))}{d log(L(t))} \approx \frac{d log(S(0))}{d log(L(0))} = : w.
\]
Since \( L \) is a vector, \( w \) is a gradient (vector). The class then approximates
the Black volatility of a swaption via
\[
\sigma_S^{2} T := \sum_{i,j} w_{i} \gamma_{i,j} w_{j}
\]
where \( (\gamma_{i,j})_{i,j = 1,...,m} \) is the covariance matrix of the forward rates.
The valuation can be performed in terms of value or implied Black volatility.Swaption.ValueUnit| Constructor and Description |
|---|
SwaptionAnalyticApproximation(double swaprate,
double[] swapTenor,
Swaption.ValueUnit valueUnit)
Create an analytic swaption approximation product for
log normal forward rate model.
|
SwaptionAnalyticApproximation(double swaprate,
TimeDiscretization swapTenor)
Create an analytic swaption approximation product for
log normal forward rate model.
|
| Modifier and Type | Method and Description |
|---|---|
static double[][][] |
getIntegratedLIBORCovariance(LIBORMarketModelFromCovarianceModel model) |
Map<String,double[]> |
getLogSwaprateDerivative(TimeDiscretization liborPeriodDiscretization,
DiscountCurve discountCurve,
ForwardCurve forwardCurve)
This function calculate the partial derivative d log(S) / d log(Lk) for
a given swap rate with respect to a vector of forward rates (on a given forward rate tenor).
|
RandomVariable |
getValue(double evaluationTime,
LIBORModelMonteCarloSimulationModel model)
This method returns the value random variable of the product within the specified model, evaluated at a given evalutationTime.
|
RandomVariable |
getValues(double evaluationTime,
LIBORMarketModel model)
Calculates the approximated integrated instantaneous variance of the swap rate,
using the approximation d log(S(t))/d log(L(t)) = d log(S(0))/d log(L(0)).
|
getFactorDrift, getValue, getValueForModifiedData, getValuesgetCurrency, getValue, getValue, getValues, getValues, getValues, getValuesForModifiedData, getValuesForModifiedData, getValuesForModifiedData, getValuesForModifiedData, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetCurrency, getValue, getValue, getValues, getValues, getValues, getValuesForModifiedData, getValuesForModifiedData, getValuesForModifiedData, getValuesForModifiedDatapublic SwaptionAnalyticApproximation(double swaprate,
TimeDiscretization swapTenor)
swaprate - The strike swap rate of the swaption.swapTenor - The swap tenor in doubles.public SwaptionAnalyticApproximation(double swaprate,
double[] swapTenor,
Swaption.ValueUnit valueUnit)
swaprate - The strike swap rate of the swaption.swapTenor - The swap tenor in doubles.valueUnit - The unit of the quantity returned by the getValues method.public RandomVariable getValue(double evaluationTime, LIBORModelMonteCarloSimulationModel model)
TermStructureMonteCarloProductgetValue in interface TermStructureMonteCarloProductgetValue in class AbstractLIBORMonteCarloProductevaluationTime - The time on which this products value should be observed.model - The model used to price the product.public RandomVariable getValues(double evaluationTime, LIBORMarketModel model)
evaluationTime - Time at which the product is evaluated.model - A model implementing the LIBORModelMonteCarloSimulationModelpublic Map<String,double[]> getLogSwaprateDerivative(TimeDiscretization liborPeriodDiscretization, DiscountCurve discountCurve, ForwardCurve forwardCurve)
liborPeriodDiscretization - The libor period discretization.discountCurve - The discount curve. If this parameter is null, the discount curve will be calculated from the forward curve.forwardCurve - The forward curve.public static double[][][] getIntegratedLIBORCovariance(LIBORMarketModelFromCovarianceModel model)
Copyright © 2019. All rights reserved.