Class SwaprateCovarianceAnalyticApproximation

  • All Implemented Interfaces:
    Product, MonteCarloProduct

    public class SwaprateCovarianceAnalyticApproximation
    extends AbstractMonteCarloProduct
    This class implements an analytic approximation of the integrated instantaneous covariance of two swap rates under a LIBOR market model.
    Version:
    1.0
    Author:
    Christian Fries
    • Constructor Detail

      • SwaprateCovarianceAnalyticApproximation

        public SwaprateCovarianceAnalyticApproximation​(double[] swapTenor1,
                                                       double[] swapTenor2)
        Create the product implementing the analytic approximation of a swap rate covariance in a forward rate model.
        Parameters:
        swapTenor1 - The swap tenor of the first rate in doubles.
        swapTenor2 - The swap tenor of the second rate in doubles.
    • Method Detail

      • getValue

        public RandomVariable getValue​(double evaluationTime,
                                       MonteCarloSimulationModel model)
                                throws CalculationException
        Description copied from interface: MonteCarloProduct
        This method returns the value random variable of the product within the specified model, evaluated at a given evalutationTime. For a lattice this is often the value conditional to evalutationTime, for a Monte-Carlo simulation this is the (sum of) value discounted to evaluation time. More generally: The value random variable is a random variable V*(t) such that the time-t conditional expectation of V*(t) is equal to the value of the financial product in time t. An example for V*(t) is the sum of t-discounted payoffs. Cashflows prior evaluationTime are not considered.
        Specified by:
        getValue in interface MonteCarloProduct
        Specified by:
        getValue in class AbstractMonteCarloProduct
        Parameters:
        evaluationTime - The time on which this products value should be observed.
        model - The model used to price the product.
        Returns:
        The random variable representing the value of the product discounted to evaluation time
        Throws:
        CalculationException - Thrown if the valuation fails, specific cause may be available via the cause() method.
      • getValues

        public RandomVariable getValues​(double evaluationTime,
                                        TimeDiscretization timeDiscretization,
                                        LIBORMarketModel model)
        Calculates the approximated integrated instantaneous covariance of two swap rates, using the approximation d log(S(t))/d log(L(t)) = d log(S(0))/d log(L(0)).
        Parameters:
        evaluationTime - The evaluation time.
        timeDiscretization - The time discretization used for integrating the covariance.
        model - A model implementing the LIBORMarketModelFromCovarianceModel
        Returns:
        Returns the approximated integrated instantaneous covariance of two swap rates.