Class AbstractPeriod

    • Constructor Detail

      • AbstractPeriod

        public AbstractPeriod​(LocalDateTime referenceDate,
                              double periodStart,
                              double periodEnd,
                              double fixingDate,
                              double paymentDate,
                              Notional notional,
                              AbstractProductComponent index,
                              double daycountFraction)
        Initialize basic properties of the period.
        Parameters:
        referenceDate - The date corresponding to time \( t = 0 \).
        periodStart - The period start.
        periodEnd - The period end.
        fixingDate - The fixing date (as double).
        paymentDate - The payment date (as double).
        notional - The notional object relevant for this period.
        index - The index (used for coupon calculation) associated with this period.
        daycountFraction - The daycount fraction (coupon = index(fixingDate) * daycountFraction).
      • AbstractPeriod

        public AbstractPeriod​(double periodStart,
                              double periodEnd,
                              double fixingDate,
                              double paymentDate,
                              Notional notional,
                              AbstractProductComponent index,
                              double daycountFraction)
        Initialize basic properties of the period.
        Parameters:
        periodStart - The period start.
        periodEnd - The period end.
        fixingDate - The fixing date (as double).
        paymentDate - The payment date (as double).
        notional - The notional object relevant for this period.
        index - The index (used for coupon calculation) associated with this period.
        daycountFraction - The daycount fraction (coupon = index(fixingDate) * daycountFraction).
      • AbstractPeriod

        public AbstractPeriod​(double periodStart,
                              double periodEnd,
                              double fixingDate,
                              double paymentDate,
                              Notional notional,
                              AbstractProductComponent index)
        Initialize basic properties of the period using the idealized daycount faction periodEnd-periodStart.
        Parameters:
        periodStart - The period start.
        periodEnd - The period end.
        fixingDate - The fixing date (as double).
        paymentDate - The payment date (as double).
        notional - The notional object relevant for this period.
        index - The index (coupon) associated with this period.
    • Method Detail

      • getValue

        public abstract RandomVariable getValue​(double evaluationTime,
                                                LIBORModelMonteCarloSimulationModel model)
                                         throws CalculationException
        Description copied from interface: TermStructureMonteCarloProduct
        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
        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.
      • getReferenceDate

        public LocalDateTime getReferenceDate()
        Returns:
        the reference date
      • getPeriodStart

        public double getPeriodStart()
        Returns:
        the period start
      • getPeriodEnd

        public double getPeriodEnd()
        Returns:
        the period end
      • getFixingDate

        public double getFixingDate()
        Returns:
        the fixing date
      • getPaymentDate

        public double getPaymentDate()
        Returns:
        the payment date
      • getNotional

        public Notional getNotional()
        Returns:
        the notional associated with this period.
      • getDaycountFraction

        public double getDaycountFraction()
        Returns:
        the daycount fraction used in this period.
      • queryUnderlyings

        public Set<String> queryUnderlyings()
        Description copied from class: AbstractProductComponent
        Returns a set of underlying names referenced by this product component (i.e., required for valuation) or null if none.
        Specified by:
        queryUnderlyings in class AbstractProductComponent
        Returns:
        A set of underlying names referenced by this product component (i.e., required for valuation) or null if none.