/// <summary> /// The subscribe parameters. /// </summary> /// <param name="execution"> /// The execution. /// </param> /// <param name="operationContext"> /// The operation context. /// </param> /// <param name="dataRequestSubscriber"> /// The data request subscriber. /// </param> /// <param name="judgementService"> /// The judgement service. /// </param> /// <param name="parameter"> /// The parameter. /// </param> /// <returns> /// The <see cref="IUniverseRule"/>. /// </returns> private IUniverseRule SubscribeParameters( ScheduledExecution execution, ISystemProcessOperationContext operationContext, IUniverseDataRequestsSubscriber dataRequestSubscriber, IJudgementService judgementService, IHighProfitsRuleEquitiesParameters parameter) { var ruleCtxStream = operationContext.CreateAndStartRuleRunContext( Rules.HighProfits.GetDescription(), EquityRuleHighProfitFactory.Version, parameter.Id, (int)Rules.HighProfits, execution.IsBackTest, execution.TimeSeriesInitiation.DateTime, execution.TimeSeriesTermination.DateTime, execution.CorrelationId, execution.IsForceRerun); var ruleCtxMarketClosure = operationContext.CreateAndStartRuleRunContext( Rules.HighProfits.GetDescription(), EquityRuleHighProfitFactory.Version, parameter.Id, (int)Rules.HighProfits, execution.IsBackTest, execution.TimeSeriesInitiation.DateTime, execution.TimeSeriesTermination.DateTime, execution.CorrelationId, execution.IsForceRerun); var highProfitsRule = this.equityRuleHighProfitFactory.Build( parameter, ruleCtxStream, ruleCtxMarketClosure, dataRequestSubscriber, judgementService, execution); var highProfitsRuleOrgFactor = this.brokerServiceFactory.Build( highProfitsRule, parameter.Factors, parameter.AggregateNonFactorableIntoOwnCategory); var runMode = execution.IsForceRerun ? RuleRunMode.ForceRun : RuleRunMode.ValidationRun; var decoratedHighProfits = this.DecorateWithFilter( operationContext, parameter, highProfitsRuleOrgFactor, dataRequestSubscriber, ruleCtxMarketClosure, runMode); return(decoratedHighProfits); }
/// <summary> /// The subscribe to parameters. /// </summary> /// <param name="execution"> /// The execution. /// </param> /// <param name="operationContext"> /// The operation context. /// </param> /// <param name="alertStream"> /// The alert stream. /// </param> /// <param name="universeDataRequestsSubscriber"> /// The universe data requests subscriber. /// </param> /// <param name="parameter"> /// The parameter. /// </param> /// <returns> /// The <see cref="IUniverseRule"/>. /// </returns> private IUniverseRule SubscribeToParameters( ScheduledExecution execution, ISystemProcessOperationContext operationContext, IUniverseAlertStream alertStream, IUniverseDataRequestsSubscriber universeDataRequestsSubscriber, IWashTradeRuleFixedIncomeParameters parameter) { var ctx = operationContext.CreateAndStartRuleRunContext( Rules.FixedIncomeWashTrades.GetDescription(), FixedIncomeWashTradeFactory.Version, parameter.Id, (int)Rules.FixedIncomeWashTrades, execution.IsBackTest, execution.TimeSeriesInitiation.DateTime, execution.TimeSeriesTermination.DateTime, execution.CorrelationId, execution.IsForceRerun); var runMode = execution.IsForceRerun ? RuleRunMode.ForceRun : RuleRunMode.ValidationRun; var washTrade = this.fixedIncomeRuleWashTradeFactory.BuildRule(parameter, ctx, alertStream, runMode); var washTradeOrgFactors = this.brokerServiceFactory.Build( washTrade, parameter.Factors, parameter.AggregateNonFactorableIntoOwnCategory); var washTradeFilters = this.DecorateWithFilters( operationContext, parameter, washTradeOrgFactors, universeDataRequestsSubscriber, ctx, runMode); return(washTradeFilters); }
/// <summary> /// The subscribe for parameters. /// </summary> /// <param name="execution"> /// The execution. /// </param> /// <param name="operationContext"> /// The operation context. /// </param> /// <param name="alertStream"> /// The alert stream. /// </param> /// <param name="universeDataRequestsSubscriber"> /// The universe data requests subscriber. /// </param> /// <param name="parameter"> /// The parameter. /// </param> /// <returns> /// The <see cref="IUniverseRule"/>. /// </returns> private IUniverseRule SubscribeForParameters( ScheduledExecution execution, ISystemProcessOperationContext operationContext, IUniverseAlertStream alertStream, IUniverseDataRequestsSubscriber universeDataRequestsSubscriber, ISpoofingRuleEquitiesParameters parameter) { var ruleCtx = operationContext.CreateAndStartRuleRunContext( Rules.Spoofing.GetDescription(), EquityRuleSpoofingFactory.Version, parameter.Id, (int)Rules.Spoofing, execution.IsBackTest, execution.TimeSeriesInitiation.DateTime, execution.TimeSeriesTermination.DateTime, execution.CorrelationId, execution.IsForceRerun); var runMode = execution.IsForceRerun ? RuleRunMode.ForceRun : RuleRunMode.ValidationRun; var spoofingRule = this.equityRuleSpoofingFactory.Build(parameter, ruleCtx, alertStream, runMode); var spoofingRuleOrgFactors = this.brokerServiceFactory.Build( spoofingRule, parameter.Factors, parameter.AggregateNonFactorableIntoOwnCategory); var filteredSpoofingRule = this.DecorateWithFilters( operationContext, parameter, spoofingRuleOrgFactors, universeDataRequestsSubscriber, ruleCtx, runMode); return(filteredSpoofingRule); }
/// <summary> /// The subscribe to parameters. /// </summary> /// <param name="execution"> /// The execution. /// </param> /// <param name="operationContext"> /// The operation context. /// </param> /// <param name="universeDataRequestsSubscriber"> /// The universe data requests subscriber. /// </param> /// <param name="parameters"> /// The parameters. /// </param> /// <param name="judgementService"> /// The judgement service. /// </param> /// <returns> /// The <see cref="IUniverseRule"/>. /// </returns> private IUniverseRule SubscribeToParameters( ScheduledExecution execution, ISystemProcessOperationContext operationContext, IUniverseDataRequestsSubscriber universeDataRequestsSubscriber, IHighProfitsRuleFixedIncomeParameters parameters, IJudgementService judgementService) { var ruleCtx = operationContext.CreateAndStartRuleRunContext( Rules.FixedIncomeHighProfits.GetDescription(), FixedIncomeHighProfitFactory.Version, parameters.Id, (int)Rules.FixedIncomeHighProfits, execution.IsBackTest, execution.TimeSeriesInitiation.DateTime, execution.TimeSeriesTermination.DateTime, execution.CorrelationId, execution.IsForceRerun); var runMode = execution.IsForceRerun ? RuleRunMode.ForceRun : RuleRunMode.ValidationRun; var highProfits = this.fixedIncomeRuleHighProfitsFactory.BuildRule( parameters, ruleCtx, judgementService, universeDataRequestsSubscriber, runMode, execution); var highProfitsOrgFactors = this.brokerServiceFactory.Build( highProfits, parameters.Factors, parameters.AggregateNonFactorableIntoOwnCategory); var highProfitsFiltered = this.DecorateWithFilters( operationContext, parameters, highProfitsOrgFactors, universeDataRequestsSubscriber, ruleCtx, runMode); return(highProfitsFiltered); }
/// <summary> /// The subscribe to parameters. /// </summary> /// <param name="execution"> /// The execution. /// </param> /// <param name="operationContext"> /// The operation context. /// </param> /// <param name="alertStream"> /// The alert stream. /// </param> /// <param name="parameter"> /// The parameter. /// </param> /// <param name="dataRequestSubscriber"> /// The data request subscriber. /// </param> /// <returns> /// The <see cref="IUniverseRule"/>. /// </returns> private IUniverseRule SubscribeToParameters( ScheduledExecution execution, ISystemProcessOperationContext operationContext, IUniverseAlertStream alertStream, IPlacingOrderWithNoIntentToExecuteRuleEquitiesParameters parameter, IUniverseDataRequestsSubscriber dataRequestSubscriber) { var ruleCtx = operationContext.CreateAndStartRuleRunContext( Rules.PlacingOrderWithNoIntentToExecute.GetDescription(), EquityRulePlacingOrdersWithoutIntentToExecuteFactory.Version, parameter.Id, (int)Rules.PlacingOrderWithNoIntentToExecute, execution.IsBackTest, execution.TimeSeriesInitiation.DateTime, execution.TimeSeriesTermination.DateTime, execution.CorrelationId, execution.IsForceRerun); var runMode = execution.IsForceRerun ? RuleRunMode.ForceRun : RuleRunMode.ValidationRun; var placingOrders = this.equityRulePlacingOrdersFactory.Build( parameter, alertStream, ruleCtx, dataRequestSubscriber, runMode); var placingOrdersOrgFactors = this.brokerServiceFactory.Build( placingOrders, parameter.Factors, parameter.AggregateNonFactorableIntoOwnCategory); var filteredPlacingOrders = this.DecorateWithFilters( operationContext, parameter, placingOrdersOrgFactors, dataRequestSubscriber, ruleCtx, runMode); return(filteredPlacingOrders); }