Пример #1
0
        //-------------------------------------------------------------------------
        public virtual void test_presentValueSensitivityStrike()
        {
            double            computed = LEG_PRICER.presentValueSensitivityStrike(CAP_LEG, RATES_PROVIDER, VOLATILITIES);
            double            expected = 0d;
            IList <CmsPeriod> cms      = CAP_LEG.CmsPeriods;
            int size = cms.Count;

            for (int i = 0; i < size; ++i)
            {
                expected += PERIOD_PRICER.presentValueSensitivityStrike(cms[i], RATES_PROVIDER, VOLATILITIES);
            }
            assertEquals(computed, expected, NOTIONAL_VALUE_0 * TOL);
        }
        public virtual void test_presentValueSensitivityStrike()
        {
            double sensi1   = PRODUCT_PRICER.presentValueSensitivityStrike(CMS_ONE_LEG, RATES_PROVIDER, VOLATILITIES);
            double sensi2   = PRODUCT_PRICER.presentValueSensitivityStrike(CMS_TWO_LEGS, RATES_PROVIDER, VOLATILITIES);
            double sensiCms = CMS_LEG_PRICER.presentValueSensitivityStrike(CMS_LEG, RATES_PROVIDER, VOLATILITIES);

            assertEquals(sensi1, sensiCms);
            assertEquals(sensi2, sensiCms);
        }
Пример #3
0
 /// <summary>
 /// Calculates the present value sensitivity to the strike value.
 /// <para>
 /// The present value sensitivity of the product is the sensitivity of the present value to the strike value.
 /// This is not relevant for CMS coupons and an exception is thrown in the underlying pricer.
 ///
 /// </para>
 /// </summary>
 /// <param name="cms">  the CMS product </param>
 /// <param name="ratesProvider">  the rates provider </param>
 /// <param name="swaptionVolatilities">  the swaption volatilities </param>
 /// <returns> the present value sensitivity </returns>
 public virtual double presentValueSensitivityStrike(ResolvedCms cms, RatesProvider ratesProvider, SabrSwaptionVolatilities swaptionVolatilities)
 {
     return(cmsLegPricer.presentValueSensitivityStrike(cms.CmsLeg, ratesProvider, swaptionVolatilities));
 }