Class SwapLeg

    • Constructor Detail

      • SwapLeg

        public SwapLeg​(Schedule legSchedule,
                       Notional notional,
                       AbstractIndex index,
                       double spread,
                       boolean couponFlow,
                       boolean isNotionalExchanged,
                       boolean isNotionalAccruing)
        Creates a swap leg. The swap leg is build from elementary components.
        Parameters:
        legSchedule - ScheduleFromPeriods of the leg.
        notional - The notional.
        index - The index.
        spread - Fixed spread on the forward or fix rate.
        couponFlow - If true, the coupon is payed. If false, the coupon is not payed, but may still be part of an accruing notional, see isNotionalAccruing.
        isNotionalExchanged - If true, the leg will pay notional at the beginning of the swap and receive notional at the end of the swap.
        isNotionalAccruing - If true, the notional is accruing, that is, the notional of a period is given by the notional of the previous period, accrued with the coupon of the previous period.
      • SwapLeg

        public SwapLeg​(Schedule legSchedule,
                       Notional[] notionals,
                       AbstractIndex index,
                       double[] spreads,
                       boolean couponFlow,
                       boolean isNotionalExchanged)
        Creates a swap leg. The swap leg is build from elementary components.
        Parameters:
        legSchedule - ScheduleFromPeriods of the leg.
        notionals - An array of notionals for each period in the schedule.
        index - The index.
        spreads - Fixed spreads on the forward or fix rate.
        couponFlow - If true, the coupon is payed. If false, the coupon is not payed, but may still be part of an accruing notional, see isNotionalAccruing.
        isNotionalExchanged - If true, the leg will pay notional at the beginning of the swap and receive notional at the end of the swap.
      • SwapLeg

        public SwapLeg​(Schedule legSchedule,
                       Notional notional,
                       AbstractIndex index,
                       double spread,
                       boolean isNotionalExchanged)
        Creates a swap leg. The swap leg is build from elementary components
        Parameters:
        legSchedule - ScheduleFromPeriods of the leg.
        notional - The notional.
        index - The index.
        spread - Fixed spread on the forward or fix rate.
        isNotionalExchanged - If true, the leg will pay notional at the beginning of the swap and receive notional at the end of the swap.
    • Method Detail

      • getValue

        public 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.