Esempio n. 1
0
        public void Setup()
        {
            this._currencyConverterService = A.Fake <ICurrencyConverterService>();
            this._ruleCtx                = A.Fake <ISystemProcessOperationRunRuleContext>();
            this._alertStream            = A.Fake <IUniverseAlertStream>();
            this._clustering             = new ClusteringService();
            this._equitiesParameters     = A.Fake <IWashTradeRuleEquitiesParameters>();
            this._logger                 = A.Fake <ILogger>();
            this._ruleRunRepository      = A.Fake <IRuleRunDataRequestRepository>();
            this._stubRuleRunRepository  = A.Fake <IStubRuleRunDataRequestRepository>();
            this._loggerEquityCache      = A.Fake <ILogger <UniverseEquityMarketCacheFactory> >();
            this._loggerFixedIncomeCache = A.Fake <ILogger <UniverseFixedIncomeMarketCacheFactory> >();
            this._tradingLogger          = A.Fake <ILogger <TradingHistoryStack> >();

            this._orderFilter   = A.Fake <IUniverseOrderFilter>();
            this._equityFactory = new UniverseEquityMarketCacheFactory(
                this._stubRuleRunRepository,
                this._ruleRunRepository,
                this._loggerEquityCache);
            this._fixedIncomeFactory = new UniverseFixedIncomeMarketCacheFactory(
                this._stubRuleRunRepository,
                this._ruleRunRepository,
                this._loggerFixedIncomeCache);
            A.CallTo(() => this._orderFilter.Filter(A <IUniverseEvent> .Ignored))
            .ReturnsLazily(i => (IUniverseEvent)i.Arguments[0]);

            A.CallTo(() => this._equitiesParameters.PerformClusteringPositionAnalysis).Returns(true);
            A.CallTo(() => this._equitiesParameters.ClusteringPercentageValueDifferenceThreshold).Returns(0.05m);
        }
Esempio n. 2
0
        public void Setup()
        {
            _alertStream        = A.Fake <IUniverseAlertStream>();
            _equitiesParameters = A.Fake <IHighVolumeRuleEquitiesParameters>();
            _ruleCtx            = A.Fake <ISystemProcessOperationRunRuleContext>();
            _opCtx = A.Fake <ISystemProcessOperationContext>();
            _dataRequestRepository     = A.Fake <IRuleRunDataRequestRepository>();
            _stubDataRequestRepository = A.Fake <IStubRuleRunDataRequestRepository>();

            _equityFactoryCache = A.Fake <ILogger <UniverseEquityMarketCacheFactory> >();
            _equityFactory      = new UniverseEquityMarketCacheFactory(_stubDataRequestRepository, _dataRequestRepository, _equityFactoryCache);

            _fixedIncomeFactoryCache = A.Fake <ILogger <UniverseFixedIncomeMarketCacheFactory> >();
            _fixedIncomeFactory      = new UniverseFixedIncomeMarketCacheFactory(_stubDataRequestRepository, _dataRequestRepository, _fixedIncomeFactoryCache);

            _tradingHoursService          = A.Fake <IMarketTradingHoursService>();
            _dataRequestSubscriber        = A.Fake <IUniverseDataRequestsSubscriber>();
            this.currencyConverterService = A.Fake <ICurrencyConverterService>();
            _logger        = A.Fake <ILogger <IHighVolumeRule> >();
            _tradingLogger = A.Fake <ILogger <TradingHistoryStack> >();

            _orderFilter = A.Fake <IUniverseOrderFilter>();
            A.CallTo(() => _orderFilter.Filter(A <IUniverseEvent> .Ignored)).ReturnsLazily(i => (IUniverseEvent)i.Arguments[0]);

            A.CallTo(() => _ruleCtx.EndEvent()).Returns(_opCtx);
        }
 public UniverseEquityInterDayCache(IRuleRunDataRequestRepository dataRequestRepository, ILogger logger)
 {
     this._dataRequestRepository =
         dataRequestRepository ?? throw new ArgumentNullException(nameof(dataRequestRepository));
     this._logger = logger ?? throw new ArgumentNullException(nameof(logger));
     this._latestExchangeFrameBook = new ConcurrentDictionary <string, EquityInterDayTimeBarCollection>();
     this._marketHistory           = new ConcurrentDictionary <string, IEquityInterDayHistoryStack>();
 }
Esempio n. 4
0
        public void Setup()
        {
            this._awsQueueClient       = A.Fake <IAwsQueueClient>();
            this._awsConfiguration     = A.Fake <IAwsConfiguration>();
            this._messageBusSerialiser = A.Fake <IScheduledExecutionMessageBusSerialiser>();

            this._dataRequestRepository = A.Fake <IRuleRunDataRequestRepository>();
            this._repository            = A.Fake <ISystemProcessOperationRuleRunRepository>();
            this._logger = A.Fake <ILogger <ScheduleRulePublisher> >();
        }
 public void Setup()
 {
     this._bmllSynchroniser          = A.Fake <IBmllDataSynchroniser>();
     this._factsetSynchroniser       = A.Fake <IFactsetDataSynchroniser>();
     this._markitSynchroniser        = A.Fake <IMarkitDataSynchroniser>();
     this._dataRequestContext        = A.Fake <ISystemProcessOperationThirdPartyDataRequestContext>();
     this._scheduleRulePublisher     = A.Fake <IScheduleRulePublisher>();
     this._repository                = A.Fake <IRuleRunDataRequestRepository>();
     this._refinitivDataSynchroniser = A.Fake <IRefinitivDataSynchroniser>();
     this._logger = A.Fake <ILogger <DataRequestManager> >();
 }
Esempio n. 6
0
 public UniverseFixedIncomeMarketCacheFactory(
     IStubRuleRunDataRequestRepository stubDataRequestRepository,
     IRuleRunDataRequestRepository dataRequestRepository,
     ILogger <UniverseFixedIncomeMarketCacheFactory> logger)
 {
     this._stubDataRequestRepository = stubDataRequestRepository
                                       ?? throw new ArgumentNullException(nameof(stubDataRequestRepository));
     this._dataRequestRepository =
         dataRequestRepository ?? throw new ArgumentNullException(nameof(dataRequestRepository));
     this._logger = logger ?? throw new ArgumentNullException(nameof(logger));
 }
Esempio n. 7
0
 public UniverseFixedIncomeIntraDayCache(
     TimeSpan windowSize,
     IRuleRunDataRequestRepository dataRequestRepository,
     ILogger logger)
 {
     this._windowSize            = windowSize;
     this._dataRequestRepository =
         dataRequestRepository ?? throw new ArgumentNullException(nameof(dataRequestRepository));
     this._logger = logger ?? throw new ArgumentNullException(nameof(logger));
     this._latestExchangeFrameBook = new ConcurrentDictionary <string, FixedIncomeIntraDayTimeBarCollection>();
     this._marketHistory           = new ConcurrentDictionary <string, IFixedIncomeIntraDayHistoryStack>();
 }
 public DataRequestManager(
     IBmllDataSynchroniser bmllSynchroniser,
     IFactsetDataSynchroniser factsetSynchroniser,
     IMarkitDataSynchroniser markitSynchroniser,
     IScheduleRulePublisher rulePublisher,
     IRuleRunDataRequestRepository dataRequestRepository,
     IRefinitivDataSynchroniser refinitivDataSynchroniser,
     ILogger <DataRequestManager> logger)
 {
     this._bmllSynchroniser          = bmllSynchroniser ?? throw new ArgumentNullException(nameof(bmllSynchroniser));
     this._factsetSynchroniser       = factsetSynchroniser ?? throw new ArgumentNullException(nameof(factsetSynchroniser));
     this._markitSynchroniser        = markitSynchroniser ?? throw new ArgumentNullException(nameof(markitSynchroniser));
     this._rulePublisher             = rulePublisher ?? throw new ArgumentNullException(nameof(rulePublisher));
     this._dataRequestRepository     = dataRequestRepository ?? throw new ArgumentNullException(nameof(dataRequestRepository));
     this._refinitivDataSynchroniser = refinitivDataSynchroniser ?? throw new ArgumentNullException(nameof(refinitivDataSynchroniser));
     this._logger = logger ?? throw new ArgumentNullException(nameof(logger));
 }
Esempio n. 9
0
        public ScheduleRulePublisher(
            IAwsQueueClient awsQueueClient,
            IAwsConfiguration awsConfiguration,
            IRuleRunDataRequestRepository dataRequestRepository,
            IScheduledExecutionMessageBusSerialiser messageBusSerialiser,
            ISystemProcessOperationRuleRunRepository ruleRunRepository,
            ILogger <ScheduleRulePublisher> logger)
        {
            this._awsQueueClient   = awsQueueClient ?? throw new ArgumentNullException(nameof(awsQueueClient));
            this._awsConfiguration = awsConfiguration ?? throw new ArgumentNullException(nameof(awsConfiguration));

            this._dataRequestRepository =
                dataRequestRepository ?? throw new ArgumentNullException(nameof(dataRequestRepository));
            this._messageBusSerialiser =
                messageBusSerialiser ?? throw new ArgumentNullException(nameof(messageBusSerialiser));
            this._ruleRunRepository = ruleRunRepository ?? throw new ArgumentNullException(nameof(ruleRunRepository));
            this._logger            = logger ?? throw new ArgumentNullException(nameof(logger));
        }
        public void Setup()
        {
            this._ruleCtx                 = A.Fake <ISystemProcessOperationRunRuleContext>();
            this._parameters              = A.Fake <ICancelledOrderRuleEquitiesParameters>();
            this._alertStream             = A.Fake <IUniverseAlertStream>();
            this._equityCacheFactory      = A.Fake <IUniverseEquityMarketCacheFactory>();
            this._fixedIncomeCacheFactory = A.Fake <IUniverseFixedIncomeMarketCacheFactory>();
            this._ruleRunRepository       = A.Fake <IRuleRunDataRequestRepository>();
            this._stubRuleRunRepository   = A.Fake <IStubRuleRunDataRequestRepository>();
            this._equityLoggerCache       = A.Fake <ILogger <UniverseEquityMarketCacheFactory> >();
            this._fixedIncomeLoggerCache  = A.Fake <ILogger <UniverseFixedIncomeMarketCacheFactory> >();
            this._logger = A.Fake <ILogger <CancelledOrderRule> >();
            this._tradingHistoryLogger = A.Fake <ILogger <TradingHistoryStack> >();

            this._orderFilter = A.Fake <IUniverseOrderFilter>();
            A.CallTo(() => this._orderFilter.Filter(A <IUniverseEvent> .Ignored))
            .ReturnsLazily(i => (IUniverseEvent)i.Arguments[0]);
        }
        public void Setup()
        {
            _logger             = A.Fake <ILogger>();
            _tradingLogger      = A.Fake <ILogger <TradingHistoryStack> >();
            _alertStream        = A.Fake <IUniverseAlertStream>();
            _ruleCtx            = A.Fake <ISystemProcessOperationRunRuleContext>();
            _operationCtx       = A.Fake <ISystemProcessOperationContext>();
            _equitiesParameters = new LayeringRuleEquitiesParameters("id", TimeSpan.FromMinutes(30), 0.2m, null, null, null, false, true);

            _orderFilter = A.Fake <IUniverseOrderFilter>();
            A.CallTo(() => _orderFilter.Filter(A <IUniverseEvent> .Ignored)).ReturnsLazily(i => (IUniverseEvent)i.Arguments[0]);

            _ruleRunRepository        = A.Fake <IRuleRunDataRequestRepository>();
            _stubRuleRunRepository    = A.Fake <IStubRuleRunDataRequestRepository>();
            _equityFactoryLogger      = A.Fake <ILogger <UniverseEquityMarketCacheFactory> >();
            _equityFactory            = new UniverseEquityMarketCacheFactory(_stubRuleRunRepository, _ruleRunRepository, _equityFactoryLogger);
            _fixedIncomeFactoryLogger = A.Fake <ILogger <UniverseFixedIncomeMarketCacheFactory> >();
            _fixedIncomeFactory       = new UniverseFixedIncomeMarketCacheFactory(_stubRuleRunRepository, _ruleRunRepository, _fixedIncomeFactoryLogger);
            _tradingHoursService      = A.Fake <IMarketTradingHoursService>();

            _tradingHoursRepository = A.Fake <IMarketOpenCloseApiCachingDecorator>();
            A.CallTo(() => _tradingHoursRepository.GetAsync())
            .Returns(
                new ExchangeDto[]
            {
                new ExchangeDto
                {
                    Code              = "XLON",
                    MarketOpenTime    = TimeSpan.FromHours(8),
                    MarketCloseTime   = TimeSpan.FromHours(16),
                    IsOpenOnMonday    = true,
                    IsOpenOnTuesday   = true,
                    IsOpenOnWednesday = true,
                    IsOpenOnThursday  = true,
                    IsOpenOnFriday    = true,
                    IsOpenOnSaturday  = true,
                    IsOpenOnSunday    = true,
                }
            });

            A.CallTo(() => _ruleCtx.EndEvent()).Returns(_operationCtx);
        }
 public void Setup()
 {
     this._stubDataRequestRepository = A.Fake <IStubRuleRunDataRequestRepository>();
     this._dataRequestRepository     = A.Fake <IRuleRunDataRequestRepository>();
     this._logger = new NullLogger <UniverseEquityMarketCacheFactory>();
 }
 public void Setup()
 {
     this._requestRepository = A.Fake <IRuleRunDataRequestRepository>();
     this._logger            = A.Fake <ILogger>();
 }
        public void Setup()
        {
            this._dataRequestRepository = A.Fake <IRuleRunDataRequestRepository>();
            this._logger = A.Fake <ILogger>();

            var xlon = new Market("1", "XLON", "XLON", MarketTypes.STOCKEXCHANGE);

            this._instrument1 = new InstrumentIdentifiers(
                "1",
                "1",
                "1",
                "client-id-1",
                "abcd123",
                "abcd12345678",
                "abcd12345678",
                "abc123",
                "TEST",
                "TEST INC",
                "TSTY",
                "testRic");

            this._instrument2 = new InstrumentIdentifiers(
                "2",
                "2",
                "2",
                "client-id-2",
                "abcd122",
                "abcd12345672",
                "abcd12345672",
                "abc122",
                "TES2",
                "TEST2 INC",
                "TST2Y",
                "test2Ric");

            this._mdr1 = new MarketDataRequest(
                "1",
                "XLON",
                "entspb",
                this._instrument1,
                DateTime.UtcNow,
                DateTime.UtcNow.AddDays(1),
                "1",
                false,
                DataSource.AnyInterday);

            this._mdr2 = new MarketDataRequest(
                "2",
                "XLON",
                "entspb",
                this._instrument1,
                DateTime.UtcNow.AddDays(-5),
                DateTime.UtcNow.AddDays(-4),
                "1",
                false,
                DataSource.AnyInterday);

            this._interdayTimeBarCollectionNasdaq = new EquityInterDayTimeBarCollection(
                new Market("1", "NASDAQ", "NASDAQ", MarketTypes.STOCKEXCHANGE),
                DateTime.UtcNow,
                new EquityInstrumentInterDayTimeBar[0]);

            this._interdayTimeBarCollectionXlon = new EquityInterDayTimeBarCollection(
                xlon,
                DateTime.UtcNow,
                new[]
            {
                new EquityInstrumentInterDayTimeBar(
                    new FinancialInstrument(
                        InstrumentTypes.Equity,
                        this._instrument1,
                        "test",
                        "entspb",
                        "GBX",
                        "TEST"),
                    new DailySummaryTimeBar(null, null, null, null, new Volume(1), DateTime.Now),
                    DateTime.UtcNow,
                    xlon)
            });

            this._interdayTimeBarCollectionXlon2 = new EquityInterDayTimeBarCollection(
                xlon,
                DateTime.UtcNow,
                new[]
            {
                new EquityInstrumentInterDayTimeBar(
                    new FinancialInstrument(
                        InstrumentTypes.Equity,
                        this._instrument2,
                        "test",
                        "entspb",
                        "GBX",
                        "TEST"),
                    new DailySummaryTimeBar(null, null, null, null, new Volume(1), DateTime.Now),
                    DateTime.UtcNow,
                    xlon)
            });
        }