Class DigitalCaplet

  • All Implemented Interfaces:
    Product, TermStructureMonteCarloProduct, MonteCarloProduct

    public class DigitalCaplet
    extends AbstractLIBORMonteCarloProduct
    Implements the valuation of a digital caplet using a given LIBORModelMonteCarloSimulationModel. The digital caplet pays periodLength if L > K and else 0. Here L = L(Ti,Ti+1;t) is the forward rate with period start Ti and period end Ti+1 and fixing t. K denotes the strike rate.
    Christian Fries
    • Constructor Detail

      • DigitalCaplet

        public DigitalCaplet​(double optionMaturity,
                             double periodStart,
                             double periodEnd,
                             double strike)
        Create a digital caplet with given maturity and strike.
        optionMaturity - The option maturity.
        periodStart - The period start of the forward rate.
        periodEnd - The period end of the forward rate.
        strike - The strike rate.
    • Method Detail

      • getValue

        public RandomVariable getValue​(double evaluationTime,
                                       TermStructureMonteCarloSimulationModel model)
                                throws CalculationException
        This method returns the value random variable of the product within the specified model, evaluated at a given evalutationTime. Note: 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. Cashflows prior evaluationTime are not considered.
        Specified by:
        getValue in interface TermStructureMonteCarloProduct
        Specified by:
        getValue in class AbstractLIBORMonteCarloProduct
        evaluationTime - The time on which this products value should be observed.
        model - The model used to price the product.
        The random variable representing the value of the product discounted to evaluation time
        CalculationException - Thrown if the valuation fails, specific cause may be available via the cause() method.
      • getOptionMaturity

        public double getOptionMaturity()
      • getPeriodStart

        public double getPeriodStart()
      • getPeriodEnd

        public double getPeriodEnd()
      • getStrike

        public double getStrike()