public final class IborCapFloorLeg extends Object implements Resolvable<ResolvedIborCapFloorLeg>, org.joda.beans.ImmutableBean, Serializable
This defines a single cap/floor leg for an Ibor cap/floor product. The cap/floor instruments are defined as a set of call/put options on successive Ibor index rates, known as Ibor caplets/floorlets.
The periodic payments in the resolved leg are caplets or floorlets depending on the data in this leg.
The capSchedule field is used to represent strike values of individual caplets,
whereas floorSchedule is used to represent strike values of individual floorlets.
Either capSchedule or floorSchedule must be present, and not both.
| Modifier and Type | Class and Description |
|---|---|
static class |
IborCapFloorLeg.Builder
The bean-builder for
IborCapFloorLeg. |
static class |
IborCapFloorLeg.Meta
The meta-bean for
IborCapFloorLeg. |
| Modifier and Type | Method and Description |
|---|---|
static IborCapFloorLeg.Builder |
builder()
Returns a builder used to create an instance of the bean.
|
boolean |
equals(Object obj) |
IborRateCalculation |
getCalculation()
Gets the interest rate accrual calculation.
|
Optional<ValueSchedule> |
getCapSchedule()
Gets the cap schedule, optional.
|
Currency |
getCurrency()
Gets the currency of the leg associated with the notional.
|
AdjustableDate |
getEndDate()
Gets the accrual end date of the leg.
|
Optional<ValueSchedule> |
getFloorSchedule()
Gets the floor schedule, optional.
|
IborIndex |
getIndex()
Gets the Ibor index.
|
ValueSchedule |
getNotional()
Gets the notional amount, must be non-negative.
|
DaysAdjustment |
getPaymentDateOffset()
Gets the offset of payment from the base calculation period date, defaulted to 'None'.
|
PeriodicSchedule |
getPaymentSchedule()
Gets the periodic payment schedule.
|
PayReceive |
getPayReceive()
Gets whether the leg is pay or receive.
|
AdjustableDate |
getStartDate()
Gets the accrual start date of the leg.
|
int |
hashCode() |
static IborCapFloorLeg.Meta |
meta()
The meta-bean for
IborCapFloorLeg. |
IborCapFloorLeg.Meta |
metaBean() |
ResolvedIborCapFloorLeg |
resolve(ReferenceData refData) |
IborCapFloorLeg.Builder |
toBuilder()
Returns a builder that allows this bean to be mutated.
|
String |
toString() |
public AdjustableDate getStartDate()
This is the first accrual date in the leg, often known as the effective date.
public AdjustableDate getEndDate()
This is the last accrual date in the leg, often known as the termination date.
public IborIndex getIndex()
The rate to be paid is based on this index It will be a well known market index such as 'GBP-LIBOR-3M'.
public ResolvedIborCapFloorLeg resolve(ReferenceData refData)
resolve in interface Resolvable<ResolvedIborCapFloorLeg>public static IborCapFloorLeg.Meta meta()
IborCapFloorLeg.public static IborCapFloorLeg.Builder builder()
public IborCapFloorLeg.Meta metaBean()
metaBean in interface org.joda.beans.Beanpublic PayReceive getPayReceive()
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.
public PeriodicSchedule getPaymentSchedule()
This is used to define the periodic payment periods. These are used directly or indirectly to determine other dates in the leg.
public DaysAdjustment getPaymentDateOffset()
The offset is applied to the adjusted end date of each payment period. Offset can be based on calendar days or business days.
public Currency getCurrency()
This is the currency of the leg and the currency that payoff calculation is made in. The amounts of the notional are expressed in terms of this currency.
public ValueSchedule getNotional()
The notional amount applicable during the period.
The currency of the notional is specified by currency.
public IborRateCalculation getCalculation()
The interest rate accrual is based on Ibor index.
public Optional<ValueSchedule> getCapSchedule()
This defines the strike value of a cap as an initial value and a list of adjustments. Thus individual caplets may have different strike values. The cap rate is only allowed to change at payment period boundaries.
If the product is not a cap, the cap schedule will be absent.
public Optional<ValueSchedule> getFloorSchedule()
This defines the strike value of a floor as an initial value and a list of adjustments. Thus individual floorlets may have different strike values. The floor rate is only allowed to change at payment period boundaries.
If the product is not a floor, the floor schedule will be absent.
public IborCapFloorLeg.Builder toBuilder()
Copyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.