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);
        }
Пример #4
0
 public bool TryCalibrate(Date calibrationDate, IMarketDataContainer marketDataContainer)
 {
     return(true);
 }
Пример #5
0
 public bool CanBeA <T>(MarketDataDescription <T> marketDataDescription, IMarketDataContainer marketDataContainer) where T : class, IMarketDataSource
 {
     return(marketDataDescription.Name == _name);
 }
Пример #6
0
 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);
 }
Пример #8
0
 public void SetMarketData(IMarketDataContainer marketData)
 {
     _leg1Curve     = marketData.Get(new FloatingRateSourceDescription(_leg1Index));
     _leg2Curve     = marketData.Get(new FloatingRateSourceDescription(_leg2Index));
     _discountCurve = marketData.Get(_discountCurveDescription);
 }
Пример #9
0
 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);
 }
Пример #11
0
 public void SetMarketData(IMarketDataContainer marketData)
 {
     _curve = marketData.Get(_discountCurve);
 }