Class ResolvedIborCapFloorLeg

  • All Implemented Interfaces:
    Serializable, org.joda.beans.Bean, org.joda.beans.ImmutableBean

    public final class ResolvedIborCapFloorLeg
    extends Object
    implements org.joda.beans.ImmutableBean, Serializable
    An Ibor cap/floor leg of an Ibor cap/floor product, resolved for pricing.

    This is the resolved form of IborCapFloorLeg and is an input to the pricers. Applications will typically create a ResolvedCmLegs from a IborCapFloorLeg using IborCapFloorLeg.resolve(ReferenceData).

    This defines a single leg for an Ibor cap/floor product and is formed from a number of periods. Each period may be a caplet or floorlet. The cap/floor instruments are defined as a set of call/put options on successive Ibor index rates.

    A ResolvedIborCapFloorLeg is bound to data that changes over time, such as holiday calendars. If the data changes, such as the addition of a new holiday, the resolved form will not be updated. Care must be taken when placing the resolved form in a cache or persistence layer.

    See Also:
    Serialized Form
    • Method Detail

      • getStartDate

        public LocalDate getStartDate()
        Gets the accrual start date of the leg.

        This is the first accrual date in the leg, often known as the effective date. This date has typically been adjusted to be a valid business day.

        Returns:
        the start date of the leg
      • getEndDate

        public LocalDate getEndDate()
        Gets the accrual end date of the leg.

        This is the last accrual date in the leg, often known as the termination date. This date has typically been adjusted to be a valid business day.

        Returns:
        the end date of the leg
      • getFinalFixingDateTime

        public ZonedDateTime getFinalFixingDateTime()
        Gets the fixing date time of the final caplet/floorlet period.
        Returns:
        the fixing date time
      • getFinalPeriod

        public IborCapletFloorletPeriod getFinalPeriod()
        Gets the final caplet/floorlet period.
        Returns:
        the final period
      • getCurrency

        public Currency getCurrency()
        Gets the currency of the leg.

        All periods in the leg will have this currency.

        Returns:
        the currency
      • getIndex

        public IborIndex getIndex()
        Gets the Ibor index of the leg.

        All periods in the leg will have this index.

        Returns:
        the index
      • builder

        public static ResolvedIborCapFloorLeg.Builder builder()
        Returns a builder used to create an instance of the bean.
        Returns:
        the builder, not null
      • getPayReceive

        public PayReceive getPayReceive()
        Gets whether the leg is pay or receive.

        A value of 'Pay' implies that the resulting amount is paid to the counterparty. A value of 'Receive' implies that the resulting amount is received from the counterparty.

        The value of this flag should match the signs of the payment period notionals.

        Returns:
        the value of the property, not null
      • getCapletFloorletPeriods

        public ImmutableList<IborCapletFloorletPeriod> getCapletFloorletPeriods()
        Gets the periodic payments based on the successive observed values of an Ibor index.

        Each payment period represents part of the life-time of the leg. In most cases, the periods do not overlap. However, since each payment period is essentially independent the data model allows overlapping periods.

        Returns:
        the value of the property, not empty
      • toBuilder

        public ResolvedIborCapFloorLeg.Builder toBuilder()
        Returns a builder that allows this bean to be mutated.
        Returns:
        the mutable builder, not null
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object