Пример #1
0
 protected DiscountCurve InternalBuildUSD3mLiborOISDCurve(DiscountCurve discountCurve, string marketSnapCode_, string quotesourceCode_, CarbonClient carbonClient_, string futfixingsMarketSnapCode_ = null)
 {
   var p = new SwapCurveParameters_fc
   {
     Index = "US0003M Index",
     Currency = "USD",
     UseFutures = true,
     MaxNumFutures = 10,
     FuturesIMMOnly = true,
     FuturesMinTenor = Tenor.BusinessDays(3),
     FuturesMaxTenor = Tenor.Years(3),
     MarketSnapCode = marketSnapCode_,
     QuoteSource = quotesourceCode_,
     MarketSnapCode_Fix_MM_Fut = futfixingsMarketSnapCode_,
     SwapTenors =
       new List<string>
       {
         "3y",
         "4y",
         "5y",
         "6y",
         "7y",
         "8y",
         "9y",
         "10y",
         "12y",
         "15y",
         "20y",
         "25y",
         "30y",
         "40y",
         "50y",
         "60y"
       },
     MoneyMarketIndices = new List<string> { "US0003M Index" },
     BootstrapSettings = "Linear",
     SmoothingSettings = "None",
     CashConv = "CashUSD",
     FixedLegConv = "SwapUSDSemi30360",
     FloatingLegConv = "SwapUSD3mFloating",
     FloatingIndex = "LiborUSD3m",
     FuturesRateStartOffset = Tenor.BusinessDays(2)
   };
   if (ValueDate <= new DateTime(2009, 8, 5))
   {
     p.MaxNumFutures = 7;
     p.SwapTenors = new List<string> { "2y", "3y", "4y", "5y", "6y", "7y", "8y", "9y", "10y", "12y", "15y", "20y", "25y", "30y", "40y", "50y", "60y" };
   }
   return CallCurveCalculator(new USD3mLiborOISDCurveBuilder(ValueDate, p, discountCurve), KnownCurve.USD3mLiborOISD,
     marketSnapCode_, quotesourceCode_, carbonClient_);
 }
 public USD3mLiborOISDCurveBuilder(DateTime valueDate, SwapCurveParameters_fc parameters, DiscountCurve discountCurve)
     : base(valueDate, parameters)
 {
     mDiscountCurve = discountCurve;
 }
        public GBP6mLiborCurveBuilder(DateTime valueDate, SwapCurveParameters_fc parameters)
            : base(valueDate, parameters)
        {

        }