protected RepoGenerator(double onRate, string market, DateTime settle)
        {
            this.onRate = onRate;
            this.market = market;
            this.settle = settle;

            country = (BondAnalytics.Country)Enum.Parse(typeof(BondAnalytics.Country), market);
            hols = CarbonModel.GetCalendar(country).ToList();            
        }
 //------------------------------------------------------------------------------------------------
 public SpreadConventions(SpreadTimeSeriesConfigs configs)
     //------------------------------------------------------------------------------------------------
 {
     Country = configs.country;
     DayCount = configs.dct;
     SwapFixedFrequency = configs.swpfixfreq;
     SwapFloatFrequency = configs.swpfloatfreq;
     BondCouponFrequency = configs.bndCouponFreq;
     bForecastCurve = configs.bForecastCurve;
     BlendIndex = configs.BlendIndex;
 }
 //------------------------------------------------------------------------------------------------
 public SpreadConventions(BondAnalytics.Country country, BondAnalytics.DayCountType dct, 
                         long swapfixed, long swapfloat, long bondcpnfreq,
                         bool bforecastcurve, int blendIndex = 0)
 //------------------------------------------------------------------------------------------------
 {
     Country = country;
     DayCount = dct;
     SwapFixedFrequency  = swapfixed;
     SwapFloatFrequency  = swapfloat;
     BondCouponFrequency = bondcpnfreq;
     bForecastCurve      = bforecastcurve;
     BlendIndex          = blendIndex; // 5 for OIS, 0 for libor
 }