## Interface SwapPaymentPeriodPricer<T extends SwapPaymentPeriod>

• Type Parameters:
T - the type of period

public interface SwapPaymentPeriodPricer<T extends SwapPaymentPeriod>
Pricer for payment periods.

This function provides the ability to price a SwapPaymentPeriod.

Implementations must be immutable and thread-safe functions.

• ### Method Summary

All Methods
Modifier and Type Method Description
double accruedInterest​(T period, RatesProvider provider)
Calculates the accrued interest since the last payment.
MultiCurrencyAmount currencyExposure​(T period, RatesProvider provider)
Calculates the currency exposure of a single payment period.
double currentCash​(T period, RatesProvider provider)
Calculates the current cash of a single payment period.
void explainPresentValue​(T period, RatesProvider provider, ExplainMapBuilder builder)
Explains the present value of a single payment period.
double forecastValue​(T period, RatesProvider provider)
Calculates the forecast value of a single payment period.
PointSensitivityBuilder forecastValueSensitivity​(T period, RatesProvider provider)
Calculates the forecast value sensitivity of a single payment period.
double presentValue​(T period, RatesProvider provider)
Calculates the present value of a single payment period.
PointSensitivityBuilder presentValueSensitivity​(T period, RatesProvider provider)
Calculates the present value sensitivity of a single payment period.
double pvbp​(T period, RatesProvider provider)
Calculates the present value of a basis point of a period.
PointSensitivityBuilder pvbpSensitivity​(T period, RatesProvider provider)
Calculates the present value of a basis point sensitivity of a single payment period.
static SwapPaymentPeriodPricer<SwapPaymentPeriod> standard()
Returns the standard instance of the function.
• ### Method Detail

• #### standard

static SwapPaymentPeriodPricer<SwapPaymentPeriod> standard()
Returns the standard instance of the function.

Use this method to avoid a direct dependency on the implementation.

Returns:
the payment period pricer
• #### presentValue

double presentValue​(T period,
RatesProvider provider)
Calculates the present value of a single payment period.

The amount is expressed in the currency of the period. This returns the value of the period with discounting.

The payment date of the period should not be in the past. The result of this method for payment dates in the past is undefined.

Parameters:
period - the period
provider - the rates provider
Returns:
the present value of the period
• #### presentValueSensitivity

PointSensitivityBuilder presentValueSensitivity​(T period,
RatesProvider provider)
Calculates the present value sensitivity of a single payment period.

The present value sensitivity of the period is the sensitivity of the present value to the underlying curves.

Parameters:
period - the period
provider - the rates provider
Returns:
the present value curve sensitivity of the period
• #### forecastValue

double forecastValue​(T period,
RatesProvider provider)
Calculates the forecast value of a single payment period.

The amount is expressed in the currency of the period. This returns the value of the period without discounting.

The payment date of the period should not be in the past. The result of this method for payment dates in the past is undefined.

Parameters:
period - the period
provider - the rates provider
Returns:
the forecast value of the period
• #### forecastValueSensitivity

PointSensitivityBuilder forecastValueSensitivity​(T period,
RatesProvider provider)
Calculates the forecast value sensitivity of a single payment period.

The forecast value sensitivity of the period is the sensitivity of the forecast value to the underlying curves.

Parameters:
period - the period
provider - the rates provider
Returns:
the forecast value curve sensitivity of the period
• #### pvbp

double pvbp​(T period,
RatesProvider provider)
Calculates the present value of a basis point of a period.

This calculate the amount by which, to the first order, the period present value changes for a change of the rate defining the payment period. For known amount payments for which there is rate, the value is 0. In absence of compounding on the period, this measure is equivalent to the traditional PVBP.

Parameters:
period - the period
provider - the rates provider
Returns:
the present value of a basis point
• #### pvbpSensitivity

PointSensitivityBuilder pvbpSensitivity​(T period,
RatesProvider provider)
Calculates the present value of a basis point sensitivity of a single payment period.

This calculate the sensitivity of the present value of a basis point (pvbp) quantity to the underlying curves.

Parameters:
period - the period
provider - the rates provider
Returns:
the present value of a basis point sensitivity
• #### accruedInterest

double accruedInterest​(T period,
RatesProvider provider)
Calculates the accrued interest since the last payment.

This calculates the interest that has accrued between the start of the period and the valuation date. Discounting is not applied. The amount is expressed in the currency of the period. It is intended that this method is called only with the period where the valuation date is after the start date and before or equal to the end date.

Parameters:
period - the period
provider - the rates provider
Returns:
the accrued interest of the period
• #### explainPresentValue

void explainPresentValue​(T period,
RatesProvider provider,
ExplainMapBuilder builder)
Explains the present value of a single payment period.

This adds information to the ExplainMapBuilder to aid understanding of the calculation.

Parameters:
period - the period
provider - the rates provider
builder - the builder to populate
• #### currencyExposure

MultiCurrencyAmount currencyExposure​(T period,
RatesProvider provider)
Calculates the currency exposure of a single payment period.
Parameters:
period - the period
provider - the rates provider
Returns:
the currency exposure
• #### currentCash

double currentCash​(T period,
RatesProvider provider)
Calculates the current cash of a single payment period.
Parameters:
period - the period
provider - the rates provider
Returns:
the current cash