Class OvernightInArrearsCapletFloorletBinaryPeriod
- java.lang.Object
-
- com.opengamma.strata.product.capfloor.OvernightInArrearsCapletFloorletBinaryPeriod
-
- All Implemented Interfaces:
Serializable
,org.joda.beans.Bean
,org.joda.beans.ImmutableBean
public final class OvernightInArrearsCapletFloorletBinaryPeriod extends Object implements org.joda.beans.ImmutableBean, Serializable
A period over which an binary caplet/floorlet on overnight composition in-arrears is paid.The pay-offs are, for an index composition 'I', a year fraction 'a' and an amount 'N'
Overnight binary caplet: N * a * ( (I > K)?1:0 ) ; K=caplet
Overnight binary floorlet: N * a * ( (I < K)?1:0 ) ; K=floorletThe 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
OvernightInArrearsCapletFloorletBinaryPeriod.Builder
The bean-builder forOvernightInArrearsCapletFloorletBinaryPeriod
.static class
OvernightInArrearsCapletFloorletBinaryPeriod.Meta
The meta-bean forOvernightInArrearsCapletFloorletBinaryPeriod
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static OvernightInArrearsCapletFloorletBinaryPeriod.Builder
builder()
Returns a builder used to create an instance of the bean.boolean
equals(Object obj)
double
getAmount()
Gets the fixed amount when the option is in-the-money, positive if receiving (long), negative if paying (short).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.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 OvernightInArrearsCapletFloorletBinaryPeriod.Meta
meta()
The meta-bean forOvernightInArrearsCapletFloorletBinaryPeriod
.OvernightInArrearsCapletFloorletBinaryPeriod.Meta
metaBean()
CurrencyAmount
payoff(double fixing)
Returns the binary caplet/floorlet payoff for a given compounded rate.OvernightInArrearsCapletFloorletBinaryPeriod.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 fixing)
Returns the binary caplet/floorlet payoff for a given compounded rate.- Parameters:
fixing
- the compounded rate- Returns:
- the payoff
-
meta
public static OvernightInArrearsCapletFloorletBinaryPeriod.Meta meta()
The meta-bean forOvernightInArrearsCapletFloorletBinaryPeriod
.- Returns:
- the meta-bean, not null
-
builder
public static OvernightInArrearsCapletFloorletBinaryPeriod.Builder builder()
Returns a builder used to create an instance of the bean.- Returns:
- the builder, not null
-
metaBean
public OvernightInArrearsCapletFloorletBinaryPeriod.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
-
getAmount
public double getAmount()
Gets the fixed amount when the option is in-the-money, positive if receiving (long), negative if paying (short).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 OvernightInArrearsCapletFloorletBinaryPeriod.Builder toBuilder()
Returns a builder that allows this bean to be mutated.- Returns:
- the mutable builder, not null
-
-