Class OvernightInArrearsCapletFloorletPeriod
- java.lang.Object
-
- com.opengamma.strata.product.capfloor.OvernightInArrearsCapletFloorletPeriod
-
- All Implemented Interfaces:
Serializable
,org.joda.beans.Bean
,org.joda.beans.ImmutableBean
public final class OvernightInArrearsCapletFloorletPeriod extends Object implements org.joda.beans.ImmutableBean, Serializable
A period over which an caplet/floorlet on overnight composition in-arrears is paid.The payoff depend on the level of the compounded rate over the period. The option is of Asian type with the averaging mechanism given by the composition.
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
OvernightInArrearsCapletFloorletPeriod.Builder
The bean-builder forOvernightInArrearsCapletFloorletPeriod
.static class
OvernightInArrearsCapletFloorletPeriod.Meta
The meta-bean forOvernightInArrearsCapletFloorletPeriod
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static OvernightInArrearsCapletFloorletPeriod.Builder
builder()
Returns a builder used to create an instance of the bean.boolean
equals(Object obj)
OptionalDouble
getCaplet()
Gets the optional caplet strike.Currency
getCurrency()
Gets the primary currency of the payment period.LocalDate
getEndDate()
Gets the end date of the payment period.OptionalDouble
getFloorlet()
Gets the optional floorlet strike.OvernightIndex
getIndex()
Gets the Ibor index.double
getNotional()
Gets the notional amount, positive if receiving, negative if paying.OvernightCompoundedRateComputation
getOvernightRate()
Gets the rate to be observed.LocalDate
getPaymentDate()
Gets the date that payment occurs.PutCall
getPutCall()
Gets put or call.LocalDate
getStartDate()
Gets the start date of the payment period.double
getStrike()
Gets the strike value.LocalDate
getUnadjustedEndDate()
Gets the unadjusted end date.LocalDate
getUnadjustedStartDate()
Gets the unadjusted start date.double
getYearFraction()
Gets the year fraction that the accrual period represents.int
hashCode()
static OvernightInArrearsCapletFloorletPeriod.Meta
meta()
The meta-bean forOvernightInArrearsCapletFloorletPeriod
.OvernightInArrearsCapletFloorletPeriod.Meta
metaBean()
CurrencyAmount
payoff(double rate)
Returns the caplet/floorlet payoff for a given compounded rate.OvernightInArrearsCapletFloorletPeriod.Builder
toBuilder()
Returns a builder that allows this bean to be mutated.String
toString()
-
-
-
Method Detail
-
getIndex
public OvernightIndex getIndex()
Gets the Ibor index.- Returns:
- the ibor index
-
getStrike
public double getStrike()
Gets the strike value.- Returns:
- the strike
-
getPutCall
public PutCall getPutCall()
Gets put or call.CALL is returned for a caplet, whereas PUT is returned for a floorlet.
- Returns:
- put or call
-
payoff
public CurrencyAmount payoff(double rate)
Returns the caplet/floorlet payoff for a given compounded rate.- Parameters:
rate
- the compounded rate- Returns:
- the payoff
-
meta
public static OvernightInArrearsCapletFloorletPeriod.Meta meta()
The meta-bean forOvernightInArrearsCapletFloorletPeriod
.- Returns:
- the meta-bean, not null
-
builder
public static OvernightInArrearsCapletFloorletPeriod.Builder builder()
Returns a builder used to create an instance of the bean.- Returns:
- the builder, not null
-
metaBean
public OvernightInArrearsCapletFloorletPeriod.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.
- Returns:
- the value of the property, not null
-
getNotional
public double getNotional()
Gets the notional amount, positive if receiving, negative if paying.The notional amount applicable during the period. The currency of the notional is specified by
currency
.- 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.
- 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.
- 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
-
getYearFraction
public double getYearFraction()
Gets the year fraction that the accrual period represents.The value is usually calculated using a
DayCount
which may be different to that of the index. Typically the value will be close to 1 for one year and close to 0.5 for six months. The fraction may be greater than 1, but not less than 0.- Returns:
- the value of the property
-
getPaymentDate
public LocalDate getPaymentDate()
Gets the date that payment occurs.If the schedule adjusts for business days, then this is the adjusted date.
- Returns:
- the value of the property, not null
-
getCaplet
public OptionalDouble getCaplet()
Gets the optional caplet strike.This defines the strike value of a caplet.
If the period is not a caplet, this field will be absent.
- Returns:
- the optional value of the property, not null
-
getFloorlet
public OptionalDouble getFloorlet()
Gets the optional floorlet strike.This defines the strike value of a floorlet.
If the period is not a floorlet, this field will be absent.
- Returns:
- the optional value of the property, not null
-
getOvernightRate
public OvernightCompoundedRateComputation getOvernightRate()
Gets the rate to be observed.The value of the period is based on this overnight compounded rate.
- Returns:
- the value of the property, not null
-
toBuilder
public OvernightInArrearsCapletFloorletPeriod.Builder toBuilder()
Returns a builder that allows this bean to be mutated.- Returns:
- the mutable builder, not null
-
-