/// <summary> /// /// </summary> /// <param name="forecastcurve"></param> /// <param name="parameters"></param> /// <returns></returns> protected IRateAssetResults ForecastRiskCalculationHelper(IRateCurve forecastcurve, ISwapAssetParameters parameters) { parameters.FloatingLegForecastDiscountFactors = GetDiscountFactors(forecastcurve, AdjustedPeriodDates.ToArray(), BaseDate); //Set the anaytic input parameters and Calculate the respective metrics // return(AnalyticsModel.Calculate <IRateAssetResults, RateAssetResults>(parameters, new[] { RateMetrics.NPVChange })); }
/// <summary> /// /// </summary> /// <param name="ratecurve"></param> /// <param name="parameters"></param> /// <returns></returns> protected virtual IRateAssetResults RiskCalculationHelper(IRateCurve ratecurve, ISwapAssetParameters parameters) { parameters.DiscountFactors = GetDiscountFactors(ratecurve, AdjustedPeriodDates.ToArray(), BaseDate); //Set the anaytic input parameters and Calculate the respective metrics // return(AnalyticsModel.Calculate <IRateAssetResults, RateAssetResults>(parameters, new[] { RateMetrics.NPV })); }