public final class KnownAmountNotionalSwapPaymentPeriod extends Object implements NotionalPaymentPeriod, org.joda.beans.ImmutableBean, Serializable
A swap leg consists of one or more periods that result in a payment.
The standard class, RatePaymentPeriod, represents a payment period calculated
from a fixed or floating rate. By contrast, this class represents a period
where the amount of the payment is known and fixed.
| Modifier and Type | Class and Description |
|---|---|
static class |
KnownAmountNotionalSwapPaymentPeriod.Builder
The bean-builder for
KnownAmountNotionalSwapPaymentPeriod. |
static class |
KnownAmountNotionalSwapPaymentPeriod.Meta
The meta-bean for
KnownAmountNotionalSwapPaymentPeriod. |
| Modifier and Type | Method and Description |
|---|---|
KnownAmountNotionalSwapPaymentPeriod |
adjustPaymentDate(TemporalAdjuster adjuster)
Adjusts the payment date using the rules of the specified adjuster.
|
static KnownAmountNotionalSwapPaymentPeriod.Builder |
builder()
Returns a builder used to create an instance of the bean.
|
void |
collectIndices(ImmutableSet.Builder<Index> builder)
Collects all the indices referred to by this period.
|
boolean |
equals(Object obj) |
Currency |
getCurrency()
Gets the primary currency of the payment period.
|
LocalDate |
getEndDate()
Gets the end date of the payment period.
|
Optional<FxIndexObservation> |
getFxResetObservation()
Gets the FX reset definition, optional.
|
CurrencyAmount |
getNotionalAmount()
Gets the notional amount, positive if receiving, negative if paying.
|
Payment |
getPayment()
Gets the payment.
|
LocalDate |
getPaymentDate()
Gets the date that the payment is made.
|
LocalDate |
getStartDate()
Gets the start date of the payment period.
|
LocalDate |
getUnadjustedEndDate()
Gets the unadjusted end date.
|
LocalDate |
getUnadjustedStartDate()
Gets the unadjusted start date.
|
int |
hashCode() |
static KnownAmountNotionalSwapPaymentPeriod.Meta |
meta()
The meta-bean for
KnownAmountNotionalSwapPaymentPeriod. |
KnownAmountNotionalSwapPaymentPeriod.Meta |
metaBean() |
static KnownAmountNotionalSwapPaymentPeriod |
of(Payment payment,
SchedulePeriod period,
CurrencyAmount notional)
Obtains an instance based on a payment, schedule period and notional.
|
static KnownAmountNotionalSwapPaymentPeriod |
of(Payment payment,
SchedulePeriod period,
CurrencyAmount notional,
FxIndexObservation fxResetObservation)
Obtains an instance based on a payment, schedule period, notional and FX reset.
|
KnownAmountNotionalSwapPaymentPeriod.Builder |
toBuilder()
Returns a builder that allows this bean to be mutated.
|
String |
toString() |
public static KnownAmountNotionalSwapPaymentPeriod of(Payment payment, SchedulePeriod period, CurrencyAmount notional)
payment - the paymentperiod - the schedule periodnotional - the notionalpublic static KnownAmountNotionalSwapPaymentPeriod of(Payment payment, SchedulePeriod period, CurrencyAmount notional, FxIndexObservation fxResetObservation)
payment - the paymentperiod - the schedule periodnotional - the notionalfxResetObservation - the FX reset observationpublic LocalDate getPaymentDate()
SwapPaymentPeriodEach payment period has a single payment date. This date has been adjusted to be a valid business day.
getPaymentDate in interface SwapPaymentPeriodpublic Currency getCurrency()
This is the currency of the swap leg and the currency that interest calculation is made in.
The amounts of the notional are usually expressed in terms of this currency,
however they can be converted from amounts in a different currency.
See the optional fxReset property.
getCurrency in interface SwapPaymentPeriodpublic KnownAmountNotionalSwapPaymentPeriod adjustPaymentDate(TemporalAdjuster adjuster)
SwapPaymentPeriod
The adjuster is typically an instance of BusinessDayAdjustment.
Implementations must return a new instance unless they are immutable and no change occurs.
adjustPaymentDate in interface SwapPaymentPeriodadjuster - the adjuster to apply to the payment datepublic void collectIndices(ImmutableSet.Builder<Index> builder)
SwapPaymentPeriodA period will typically refer to at least one index, such as 'GBP-LIBOR-3M'. Each index that is referred to must be added to the specified builder.
collectIndices in interface SwapPaymentPeriodbuilder - the builder to usepublic static KnownAmountNotionalSwapPaymentPeriod.Meta meta()
KnownAmountNotionalSwapPaymentPeriod.public static KnownAmountNotionalSwapPaymentPeriod.Builder builder()
public KnownAmountNotionalSwapPaymentPeriod.Meta metaBean()
metaBean in interface org.joda.beans.Beanpublic Payment getPayment()
This includes the payment date and amount. If the schedule adjusts for business days, then the date is the adjusted date.
public LocalDate getStartDate()
This is the first date in the period. If the schedule adjusts for business days, then this is the adjusted date.
getStartDate in interface SwapPaymentPeriodpublic LocalDate getEndDate()
This is the last date in the period. If the schedule adjusts for business days, then this is the adjusted date.
getEndDate in interface SwapPaymentPeriodpublic LocalDate getUnadjustedStartDate()
The start date before any business day adjustment is applied.
When building, this will default to the start date if not specified.
public LocalDate getUnadjustedEndDate()
The end date before any business day adjustment is applied.
When building, this will default to the end date if not specified.
public CurrencyAmount getNotionalAmount()
The notional amount applicable during the period.
The currency of the notional is typically the same as currency.
However, if FX reset applies, the currency will differ.
getNotionalAmount in interface NotionalPaymentPeriodpublic Optional<FxIndexObservation> getFxResetObservation()
This property is used when the defined amount of the notional is specified in a currency other than the currency of the swap leg. When this occurs, the notional amount has to be converted using an FX rate to the swap leg currency.
The FX reset definition must be valid. The payment currency and the currency of the notional must differ, and the currency pair must be that of the observation.
getFxResetObservation in interface NotionalPaymentPeriodpublic KnownAmountNotionalSwapPaymentPeriod.Builder toBuilder()
Copyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.