Class ForwardOvernightCompoundedRateComputationFn
- java.lang.Object
-
- com.opengamma.strata.pricer.impl.rate.ForwardOvernightCompoundedRateComputationFn
-
- All Implemented Interfaces:
RateComputationFn<OvernightCompoundedRateComputation>
public class ForwardOvernightCompoundedRateComputationFn extends Object implements RateComputationFn<OvernightCompoundedRateComputation>
Rate computation implementation for a rate based on a single overnight index that is compounded.Rates that are already fixed are retrieved from the time series of the
RatesProvider
. Rates that are in the future and not in the cut-off period are computed as unique forward rate in the full future period. Rates that are in the cut-off period (already fixed or forward) are compounded.
-
-
Field Summary
Fields Modifier and Type Field Description static ForwardOvernightCompoundedRateComputationFn
DEFAULT
Default implementation.
-
Constructor Summary
Constructors Constructor Description ForwardOvernightCompoundedRateComputationFn()
Creates an instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
explainRate(OvernightCompoundedRateComputation computation, LocalDate startDate, LocalDate endDate, RatesProvider provider, ExplainMapBuilder builder)
Explains the calculation of the applicable rate.double
rate(OvernightCompoundedRateComputation computation, LocalDate startDate, LocalDate endDate, RatesProvider provider)
Determines the applicable rate for the computation.PointSensitivityBuilder
rateSensitivity(OvernightCompoundedRateComputation computation, LocalDate startDate, LocalDate endDate, RatesProvider provider)
Determines the point sensitivity for the rate computation.
-
-
-
Field Detail
-
DEFAULT
public static final ForwardOvernightCompoundedRateComputationFn DEFAULT
Default implementation.
-
-
Method Detail
-
rate
public double rate(OvernightCompoundedRateComputation computation, LocalDate startDate, LocalDate endDate, RatesProvider provider)
Description copied from interface:RateComputationFn
Determines the applicable rate for the computation.Each type of rate has specific rules, encapsulated in
RateComputation
.The start date and end date refer to the accrual period. In many cases, this information is not necessary, however it does enable some implementations that would not otherwise be possible.
- Specified by:
rate
in interfaceRateComputationFn<OvernightCompoundedRateComputation>
- Parameters:
computation
- the computation definitionstartDate
- the start date of the accrual periodendDate
- the end date of the accrual periodprovider
- the rates provider- Returns:
- the applicable rate
-
rateSensitivity
public PointSensitivityBuilder rateSensitivity(OvernightCompoundedRateComputation computation, LocalDate startDate, LocalDate endDate, RatesProvider provider)
Description copied from interface:RateComputationFn
Determines the point sensitivity for the rate computation.This returns a sensitivity instance referring to the curves used to determine each forward rate.
- Specified by:
rateSensitivity
in interfaceRateComputationFn<OvernightCompoundedRateComputation>
- Parameters:
computation
- the computation definitionstartDate
- the start date of the accrual periodendDate
- the end date of the accrual periodprovider
- the rates provider- Returns:
- the point sensitivity
-
explainRate
public double explainRate(OvernightCompoundedRateComputation computation, LocalDate startDate, LocalDate endDate, RatesProvider provider, ExplainMapBuilder builder)
Description copied from interface:RateComputationFn
Explains the calculation of the applicable rate.This adds information to the
ExplainMapBuilder
to aid understanding of the computation. The actual rate is also returned.- Specified by:
explainRate
in interfaceRateComputationFn<OvernightCompoundedRateComputation>
- Parameters:
computation
- the computation definitionstartDate
- the start date of the accrual periodendDate
- the end date of the accrual periodprovider
- the rates providerbuilder
- the builder to populate- Returns:
- the applicable rate
-
-