//-------------------------------------------------------------------------
 /// <summary>
 /// Calculates the deposit fair rate given the start and end time and the accrual factor.
 /// </summary>
 /// <param name="trade">  the trade </param>
 /// <param name="provider">  the rates provider </param>
 /// <returns> the par rate </returns>
 public virtual double parRate(ResolvedIborFixingDepositTrade trade, RatesProvider provider)
 {
     return(productPricer.parRate(trade.Product, provider));
 }
 /// <summary>
 /// Calculates the deposit fair rate sensitivity to the curves.
 /// </summary>
 /// <param name="trade">  the trade </param>
 /// <param name="provider">  the rates provider </param>
 /// <returns> the par rate curve sensitivity </returns>
 public virtual PointSensitivities parRateSensitivity(ResolvedIborFixingDepositTrade trade, RatesProvider provider)
 {
     return(productPricer.parRateSensitivity(trade.Product, provider));
 }
 //-------------------------------------------------------------------------
 /// <summary>
 /// Calculates the present value of the Ibor fixing deposit trade.
 /// <para>
 /// The present value of the trade is the value on the valuation date.
 ///
 /// </para>
 /// </summary>
 /// <param name="trade">  the trade </param>
 /// <param name="provider">  the rates provider </param>
 /// <returns> the present value of the product </returns>
 public virtual CurrencyAmount presentValue(ResolvedIborFixingDepositTrade trade, RatesProvider provider)
 {
     return(productPricer.presentValue(trade.Product, provider));
 }