Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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();
        }