public final class CapitalIndexedBondPaymentPeriod extends Object implements BondPaymentPeriod, org.joda.beans.ImmutableBean, Serializable
A single payment period within a capital indexed bond, ResolvedCapitalIndexedBond.
Since All the cash flows of the capital indexed bond are adjusted for inflation,
both of the periodic payments and nominal payment are represented by this class.
| Modifier and Type | Class and Description |
|---|---|
static class |
CapitalIndexedBondPaymentPeriod.Builder
The bean-builder for
CapitalIndexedBondPaymentPeriod. |
static class |
CapitalIndexedBondPaymentPeriod.Meta
The meta-bean for
CapitalIndexedBondPaymentPeriod. |
| Modifier and Type | Method and Description |
|---|---|
CapitalIndexedBondPaymentPeriod |
adjustPaymentDate(TemporalAdjuster adjuster)
Adjusts the payment date using the rules of the specified adjuster.
|
static CapitalIndexedBondPaymentPeriod.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 |
getDetachmentDate()
Gets the detachment date.
|
LocalDate |
getEndDate()
Gets the end date of the payment period.
|
double |
getNotional()
Gets the notional amount, must be non-zero.
|
LocalDate |
getPaymentDate()
Gets the date that the payment is made.
|
RateComputation |
getRateComputation()
Gets the rate to be computed.
|
double |
getRealCoupon()
Gets the rate of real coupon.
|
LocalDate |
getStartDate()
Gets the start date of the payment period.
|
LocalDate |
getUnadjustedEndDate()
Gets the unadjusted end date.
|
LocalDate |
getUnadjustedStartDate()
Gets the unadjusted start date.
|
boolean |
hasExCouponPeriod()
Checks if there is an ex-coupon period.
|
int |
hashCode() |
static CapitalIndexedBondPaymentPeriod.Meta |
meta()
The meta-bean for
CapitalIndexedBondPaymentPeriod. |
CapitalIndexedBondPaymentPeriod.Meta |
metaBean() |
CapitalIndexedBondPaymentPeriod.Builder |
toBuilder()
Returns a builder that allows this bean to be mutated.
|
String |
toString() |
public void collectIndices(ImmutableSet.Builder<Index> builder)
BondPaymentPeriodA 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 BondPaymentPeriodbuilder - the builder to usepublic CapitalIndexedBondPaymentPeriod adjustPaymentDate(TemporalAdjuster adjuster)
BondPaymentPeriod
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 BondPaymentPeriodadjuster - the adjuster to apply to the payment datepublic LocalDate getPaymentDate()
BondPaymentPeriodEach payment period has a single payment date. This date has been adjusted to be a valid business day.
getPaymentDate in interface BondPaymentPeriodpublic boolean hasExCouponPeriod()
public static CapitalIndexedBondPaymentPeriod.Meta meta()
CapitalIndexedBondPaymentPeriod.public static CapitalIndexedBondPaymentPeriod.Builder builder()
public CapitalIndexedBondPaymentPeriod.Meta metaBean()
metaBean in interface org.joda.beans.Beanpublic Currency getCurrency()
The amounts of the notional are usually expressed in terms of this currency, however they can be converted from amounts in a different currency.
getCurrency in interface BondPaymentPeriodpublic double getNotional()
The notional amount applicable during the period.
The currency of the notional is specified by currency.
public double getRealCoupon()
The real coupon is the rate before taking the inflation into account. For example, a real coupon of c for semi-annual payments is c/2.
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 BondPaymentPeriodpublic 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 BondPaymentPeriodpublic 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 LocalDate getDetachmentDate()
Some bonds trade ex-coupon before the coupon payment. The coupon is paid not to the owner of the bond on the payment date but to the owner of the bond on the detachment date.
When building, this will default to the end date if not specified.
public RateComputation getRateComputation()
The value of the period is based on this rate.
This must be an inflation rate observation, specifically InflationEndInterpolatedRateComputation
or InflationEndMonthRateComputation.
public CapitalIndexedBondPaymentPeriod.Builder toBuilder()
Copyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.