public ForwardBuilder(FutureBuilder futureBuilder, IRepoAssumptions repoRetreiever)
        {
            this.futureBuilder = futureBuilder;
            this.repoRetreiever = repoRetreiever;

            // default to 5 years
            YearSwitchForFrontDate = 5;
            ECountry = BondAnalytics.Country.US;
            Frequency = 6;

        }
        public RepoAssumptions(FutureBuilder futureBuilder, IIRCurves curves)
        {
            this.futureBuilder = futureBuilder;
            this.curves = curves;            

            calendar = "USNY";

            // set up default repo
            LoadDefaultRepo();

            // setup periodic update of repo cache
            Task.Factory.StartNew(() => RefreshRepoCache(cancellationToken.Token), TaskCreationOptions.LongRunning);
        }
 public BondSpreadCalculator(BondSpreadServiceModel bondSpreadServiceModel, CurveBuilder curveBuilder,
                             FutureBuilder futureBuilder, FutureEnrichment futureEnricher, ForwardBuilder forwardBuilder,
                             InterestCurves curves)
 {
     this.bondSpreadServiceModel = bondSpreadServiceModel;
     this.curveBuilder = curveBuilder;            
     this.futureBuilder = futureBuilder;
     this.futureEnricher = futureEnricher;
     this.forwardBuilder = forwardBuilder;
     this.curves = curves;
     
     carbonFieldMap = CarbonModel.GetEnumToFieldMapping(new[] { "bid", "ask", "primAct1", "secAct1" });
     dataObserver = new DataObserver(bondPriceCache, carbonFieldMap, FutureCache);
     dataObserver.Subscribe(dataObserveSubject);
 }
        public FutureEnrichment(FutureBuilder _futureBuilder, BondSpreadServiceModel bondServiceModel)
        {
            this._futureBuilder = _futureBuilder;

            this.bondServiceModel = bondServiceModel;
        }