## Class DiscountingFraProductPricer

• public class DiscountingFraProductPricer
extends Object
Pricer for for forward rate agreement (FRA) products.

This provides the ability to price ResolvedFra. The product is priced using a forward curve for the index.

• ### Constructor Detail

• #### DiscountingFraProductPricer

public DiscountingFraProductPricer​(RateComputationFn<RateComputation> rateComputationFn)
Creates an instance.
Parameters:
rateComputationFn - the rate computation function
• ### Method Detail

• #### presentValue

public CurrencyAmount presentValue​(ResolvedFra fra,
RatesProvider provider)
Calculates the present value of the FRA product.

The present value of the product is the value on the valuation date. This is the discounted forecast value.

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

public PointSensitivities presentValueSensitivity​(ResolvedFra fra,
RatesProvider provider)
Calculates the present value sensitivity of the FRA product.

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

Parameters:
fra - the product
provider - the rates provider
Returns:
the point sensitivity of the present value
• #### forecastValue

public CurrencyAmount forecastValue​(ResolvedFra fra,
RatesProvider provider)
Calculates the forecast value of the FRA product.

The forecast value of the product is the value on the valuation date without present value discounting.

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

public PointSensitivities forecastValueSensitivity​(ResolvedFra fra,
RatesProvider provider)
Calculates the forecast value sensitivity of the FRA product.

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

Parameters:
fra - the product
provider - the rates provider
Returns:
the point sensitivity of the forecast value
• #### parRate

public double parRate​(ResolvedFra fra,
RatesProvider provider)
Calculates the par rate of the FRA product.

The par rate is the rate for which the FRA present value is 0.

Parameters:
fra - the product
provider - the rates provider
Returns:
the par rate
• #### parRateSensitivity

public PointSensitivities parRateSensitivity​(ResolvedFra fra,
RatesProvider provider)
Calculates the par rate curve sensitivity of the FRA product.

The par rate curve sensitivity of the product is the sensitivity of the par rate to the underlying curves.

Parameters:
fra - the product
provider - the rates provider
Returns:
the par rate sensitivity

RatesProvider provider)
Calculates the par spread of the FRA product.

This is spread to be added to the fixed rate to have a present value of 0.

Parameters:
fra - the product
provider - the rates provider
Returns:

RatesProvider provider)
Calculates the par spread curve sensitivity of the FRA product.

The par spread curve sensitivity of the product is the sensitivity of the par spread to the underlying curves.

Parameters:
fra - the product
provider - the rates provider
Returns:
• #### cashFlows

public CashFlows cashFlows​(ResolvedFra fra,
RatesProvider provider)
Calculates the future cash flow of the FRA product.

There is only one cash flow on the payment date for the FRA product. The expected currency amount of the cash flow is the same as forecastValue(ResolvedFra, RatesProvider).

Parameters:
fra - the product
provider - the rates provider
Returns:
the cash flows
• #### explainPresentValue

public ExplainMap explainPresentValue​(ResolvedFra fra,
RatesProvider provider)
Explains the present value of the FRA product.

This returns explanatory information about the calculation.

Parameters:
fra - the FRA product for which present value should be computed
provider - the rates provider
Returns:
the explanatory information