public BasisPriceCurve(List <IAssetInstrument> instruments, List <DateTime> pillars, IIrCurve discountCurve, IPriceCurve baseCurve, DateTime buildDate, PriceCurveType curveType, INewtonRaphsonAssetBasisCurveSolver solver, List <string> pillarLabels = null) { Instruments = instruments; Pillars = pillars; DiscountCurve = discountCurve; BaseCurve = baseCurve; CurveType = curveType; Solver = solver; BuildDate = buildDate; PillarLabels = pillarLabels ?? pillars.Select(x => x.ToString("yyyy-MM-dd")).ToList(); Curve = solver.SolveCurve(Instruments, Pillars, DiscountCurve, BaseCurve, BuildDate, CurveType); }
public PriceCurve(DateTime buildDate, DateTime[] PillarDates, double[] Prices, PriceCurveType curveType, ICurrencyProvider currencyProvider, string[] pillarLabels = null) { _currencyProvider = currencyProvider; Currency = currencyProvider["USD"]; BuildDate = buildDate; _pillarDates = PillarDates; _prices = Prices; _curveType = curveType; if (pillarLabels == null) { _pillarLabels = _pillarDates.Select(x => x.ToString("yyyy-MM-dd")).ToArray(); } else { _pillarLabels = pillarLabels; } Initialize(); }