Class CapitalIndexedBondPaymentPeriod
- java.lang.Object
-
- com.opengamma.strata.product.bond.CapitalIndexedBondPaymentPeriod
-
- All Implemented Interfaces:
BondPaymentPeriod
,Serializable
,org.joda.beans.Bean
,org.joda.beans.ImmutableBean
public final class CapitalIndexedBondPaymentPeriod extends Object implements BondPaymentPeriod, org.joda.beans.ImmutableBean, Serializable
A coupon or nominal payment of capital indexed bonds.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.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CapitalIndexedBondPaymentPeriod.Builder
The bean-builder forCapitalIndexedBondPaymentPeriod
.static class
CapitalIndexedBondPaymentPeriod.Meta
The meta-bean forCapitalIndexedBondPaymentPeriod
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method 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 forCapitalIndexedBondPaymentPeriod
.CapitalIndexedBondPaymentPeriod.Meta
metaBean()
CapitalIndexedBondPaymentPeriod.Builder
toBuilder()
Returns a builder that allows this bean to be mutated.String
toString()
-
-
-
Method Detail
-
collectIndices
public void collectIndices(ImmutableSet.Builder<Index> builder)
Description copied from interface:BondPaymentPeriod
Collects all the indices referred to by this period.A 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.
- Specified by:
collectIndices
in interfaceBondPaymentPeriod
- Parameters:
builder
- the builder to use
-
adjustPaymentDate
public CapitalIndexedBondPaymentPeriod adjustPaymentDate(TemporalAdjuster adjuster)
Description copied from interface:BondPaymentPeriod
Adjusts the payment date using the rules of the specified adjuster.The adjuster is typically an instance of
BusinessDayAdjustment
. Implementations must return a new instance unless they are immutable and no change occurs.- Specified by:
adjustPaymentDate
in interfaceBondPaymentPeriod
- Parameters:
adjuster
- the adjuster to apply to the payment date- Returns:
- the adjusted payment event
-
getPaymentDate
public LocalDate getPaymentDate()
Description copied from interface:BondPaymentPeriod
Gets the date that the payment is made.Each payment period has a single payment date. This date has been adjusted to be a valid business day.
- Specified by:
getPaymentDate
in interfaceBondPaymentPeriod
- Returns:
- the payment date of the period
-
hasExCouponPeriod
public boolean hasExCouponPeriod()
Checks if there is an ex-coupon period.- Returns:
- true if has an ex-coupon period
-
meta
public static CapitalIndexedBondPaymentPeriod.Meta meta()
The meta-bean forCapitalIndexedBondPaymentPeriod
.- Returns:
- the meta-bean, not null
-
builder
public static CapitalIndexedBondPaymentPeriod.Builder builder()
Returns a builder used to create an instance of the bean.- Returns:
- the builder, not null
-
metaBean
public CapitalIndexedBondPaymentPeriod.Meta metaBean()
- Specified by:
metaBean
in interfaceorg.joda.beans.Bean
-
getCurrency
public Currency getCurrency()
Gets the primary currency of the payment period.The amounts of the notional are usually expressed in terms of this currency, however they can be converted from amounts in a different currency.
- Specified by:
getCurrency
in interfaceBondPaymentPeriod
- Returns:
- the value of the property, not null
-
getNotional
public double getNotional()
Gets the notional amount, must be non-zero.The notional amount applicable during the period. The currency of the notional is specified by
currency
.- Returns:
- the value of the property
-
getRealCoupon
public double getRealCoupon()
Gets the rate of real coupon.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.
- Returns:
- the value of the property
-
getStartDate
public LocalDate getStartDate()
Gets the start date of the payment period.This is the first date in the period. If the schedule adjusts for business days, then this is the adjusted date.
- Specified by:
getStartDate
in interfaceBondPaymentPeriod
- Returns:
- the value of the property, not null
-
getEndDate
public LocalDate getEndDate()
Gets the end date of the payment period.This is the last date in the period. If the schedule adjusts for business days, then this is the adjusted date.
- Specified by:
getEndDate
in interfaceBondPaymentPeriod
- Returns:
- the value of the property, not null
-
getUnadjustedStartDate
public LocalDate getUnadjustedStartDate()
Gets the unadjusted start date.The start date before any business day adjustment is applied.
When building, this will default to the start date if not specified.
- Returns:
- the value of the property, not null
-
getUnadjustedEndDate
public LocalDate getUnadjustedEndDate()
Gets the unadjusted end date.The end date before any business day adjustment is applied.
When building, this will default to the end date if not specified.
- Returns:
- the value of the property, not null
-
getDetachmentDate
public LocalDate getDetachmentDate()
Gets the detachment date.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.
- Returns:
- the value of the property, not null
-
getRateComputation
public RateComputation getRateComputation()
Gets the rate to be computed.The value of the period is based on this rate. This must be an inflation rate observation, specifically
InflationEndInterpolatedRateComputation
orInflationEndMonthRateComputation
.- Returns:
- the value of the property, not null
-
toBuilder
public CapitalIndexedBondPaymentPeriod.Builder toBuilder()
Returns a builder that allows this bean to be mutated.- Returns:
- the mutable builder, not null
-
-