/// <summary> /// Initializes a new instance of the <see cref="CapFloorAssetQuote"/> class. /// </summary> /// <param name="priceableAsset">The priceable asset.</param> /// <param name="baseDate">The base date.</param> /// <param name="interpolation">The interpolation.</param> /// <param name="extrapolation">if set to <c>true</c> [extrapolation].</param> /// <param name="vols">The volatilities.</param> /// <param name="tolerance">The tolerance.</param> /// <param name="discountCurve">The discount rate curve.</param> /// <param name="forecastCurve">The forecast rate curve.</param> public CapFloorAssetQuote(PriceableCapRateAsset priceableAsset, IRateCurve discountCurve, IRateCurve forecastCurve, DateTime baseDate, InterpolationMethod interpolation, bool extrapolation, IDictionary <DateTime, Decimal> vols, double tolerance) { PriceableAsset = priceableAsset; PriceableAsset.DiscountCurve = discountCurve; PriceableAsset.ForecastCurve = forecastCurve; BaseDate = baseDate; Vols = vols; InterpolationMethod = interpolation; Extrapolation = extrapolation; Tolerance = tolerance; //This is the flat volatility. var premium = PriceableAsset.CalculatePremium(); if (premium != null) { Quote = (decimal)premium; } }
/// <summary> /// Initializes a new instance of the <see cref="CapFloorAssetQuote"/> class. /// </summary> /// <param name="priceableAsset">The priceable asset.</param> /// <param name="forecastCurve">The forecast rate curve.</param> /// <param name="baseDate">The base date.</param> /// <param name="interpolation">The interpolation.</param> /// <param name="extrapolation">if set to <c>true</c> [extrapolation].</param> /// <param name="vols">The volatilities.</param> /// <param name="discountCurve">The discount rate curve.</param> public CapFloorAssetQuote(PriceableCapRateAsset priceableAsset, IRateCurve discountCurve, IRateCurve forecastCurve, DateTime baseDate, InterpolationMethod interpolation, bool extrapolation, IDictionary <DateTime, Decimal> vols) : this(priceableAsset, discountCurve, forecastCurve, baseDate, interpolation, extrapolation, vols, DefaultTolerance) { }