Exemple #1
0
        public virtual void test_priceSensitivity()
        {
            PointSensitivities             point    = PRICER.priceSensitivityRates(FUTURE, RATE_PROVIDER, HW_PROVIDER);
            CurrencyParameterSensitivities computed = RATE_PROVIDER.parameterSensitivity(point);
            CurrencyParameterSensitivities expected = FD_CAL.sensitivity(RATE_PROVIDER, (p) => CurrencyAmount.of(EUR, PRICER.price(FUTURE, (p), HW_PROVIDER)));

            assertTrue(computed.equalWithTolerance(expected, TOL_FD));
        }
 //-------------------------------------------------------------------------
 /// <summary>
 /// Calculates the price sensitivity of the Ibor future product.
 /// <para>
 /// The price sensitivity of the product is the sensitivity of the price to the underlying curves.
 ///
 /// </para>
 /// </summary>
 /// <param name="trade">  the trade </param>
 /// <param name="ratesProvider">  the rates provider </param>
 /// <param name="hwProvider">  the Hull-White model parameter provider </param>
 /// <returns> the price curve sensitivity of the product </returns>
 public virtual PointSensitivities priceSensitivityRates(ResolvedIborFutureTrade trade, RatesProvider ratesProvider, HullWhiteOneFactorPiecewiseConstantParametersProvider hwProvider)
 {
     return(productPricer.priceSensitivityRates(trade.Product, ratesProvider, hwProvider));
 }