public bool TryCalibrate(Date calibrationDate, IMarketDataContainer marketDataContainer) { if (!marketDataContainer.Contains(_baseCurveDescription)) { return(false); } var underlyingDiscountCurve = marketDataContainer.Get(_baseCurveDescription); _curve = new ForecastCurveFromDiscount(underlyingDiscountCurve, _index, null); return(true); }
public bool CanBeA <T>(MarketDataDescription <T> marketDataDescription, IMarketDataContainer marketDataContainer) where T : class, IMarketDataSource { if (marketDataDescription.Name == _curveToStrip.Name) { return(true); } if (_secondCurveToStrip != null && marketDataDescription.Name == _secondCurveToStrip.Name) { return(true); } if (_floatingRateSources.ContainsKey(marketDataDescription.Name)) { return(true); } return(false); }
public bool TryCalibrate(Date calibrationDate, IMarketDataContainer marketDataContainer) { _calibrationDate = calibrationDate; var initialValues = new InitialValueCollector(_calibrationDate, _instruments); var objective = new ObjectiveFunction(); _curve = InitializeCurve(calibrationDate, initialValues, objective, _curveToStrip, _indicesToBaseOffDiscountCurve); _secondCurve = InitializeCurve(calibrationDate, initialValues, objective, _secondCurveToStrip, _indicesToBaseOffSecondCurve); objective.SetBenchmarkObjectives(_instruments, marketDataContainer); var result = _rootFinder.FindRoot(objective, objective.InitialValues); return(true); }
public bool TryCalibrate(Date calibrationDate, IMarketDataContainer marketDataContainer) { return(true); }
public bool CanBeA <T>(MarketDataDescription <T> marketDataDescription, IMarketDataContainer marketDataContainer) where T : class, IMarketDataSource { return(marketDataDescription.Name == _name); }
public void SetMarketData(IMarketDataContainer marketData) { _forecastCurve = marketData.Get(new FloatingRateSourceDescription(_index)); _discountCurve = marketData.Get(_discountCurveDescription); }
public bool CanBeA <T>(MarketDataDescription <T> marketDataDescription, IMarketDataContainer marketDataContainer) where T : class, IMarketDataSource { return(marketDataDescription.Name == new DiscountingSourceDescription(_currency).Name); }
public void SetMarketData(IMarketDataContainer marketData) { _leg1Curve = marketData.Get(new FloatingRateSourceDescription(_leg1Index)); _leg2Curve = marketData.Get(new FloatingRateSourceDescription(_leg2Index)); _discountCurve = marketData.Get(_discountCurveDescription); }
public void SetBenchmarkObjectives(IEnumerable <IRateCurveInstrument> instruments, IMarketDataContainer marketDataContainer) { foreach (var instrument in instruments) { instrument.SetMarketData(marketDataContainer); _benchmarkObjectives.Add(instrument.Objective); } Value = Vector <double> .Build.Dense(_benchmarkObjectives.Count); }
public void SetMarketData(IMarketDataContainer marketData) { _curve = marketData.Get(_floatingRateSourceDescription); }
public void SetMarketData(IMarketDataContainer marketData) { _curve = marketData.Get(_discountCurve); }