public SummaryReport( Investor investor, IResultsProvider resultsProvider, IEnumerable <SimulationResult> results) { _investor = investor; _resultsProvider = resultsProvider; _results = results; _date = results.First().Date; }
private static async Task SaveResults(IResultsProvider resultsProvider, IEnumerable <MarketData> data) { var saveSimulationsTask = resultsProvider.SaveSimulationResults(); var saveDataTask = resultsProvider.SaveData(data);//sus - just use the cache? var performanceChartTask = resultsProvider.SaveChart(ResultsChart.Performance, @"C:\temp\performance.png"); var relativeChartTask = resultsProvider.SaveChart(ResultsChart.Relative, @"C:\temp\relative.png"); var signalChartTask = resultsProvider.SaveChart(ResultsChart.Signal, @"C:\temp\buys.png"); await Task.WhenAll(saveSimulationsTask, saveDataTask, performanceChartTask, relativeChartTask, signalChartTask); }
public void Setup() { ConfigurationManager.AppSettings["BacktestingDate"] = "2010-07-01"; ConfigurationManager.AppSettings["CacheSize"] = "2000"; ConfigurationManager.AppSettings["DataPath"] = "MarketData.csv"; ConfigurationManager.AppSettings["RelativePath"] = @"../../../"; var marketData = CreateMarketData(); var marketDataCache = CreateMarketDataCache(marketData); var investor = new Investor { DailyFunds = 10, OrderDelayDays = 3 }; var investorProvider = CreateInvestorProvider(); var simulationCache = new SimulationCache(); var simulationFactory = new SimulatorFactory(marketDataCache, simulationCache); var ratingService = new RatingService( marketDataCache, simulationFactory, investorProvider); var strategyFactory = CreateStrategyFactory( marketDataCache, simulationCache, investorProvider, ratingService); var marketDataRepository = new Mock <IRepository <MarketData> >(); var simulationResultsRepository = new Mock <IRepository <SimulationResult> >(); _target = new ResultsProvider( marketDataCache, marketDataRepository.Object, ratingService, simulationResultsRepository.Object); _target.Initialise(); var strategy = strategyFactory.Create(new HolidayEffectParameters()); var stateJson = File.ReadAllText(@"HolidayEffectSimulationState.json"); var simulationState = JsonConvert.DeserializeObject <SimulationState[]>(stateJson); var resultsToAdd = new ConcurrentDictionary <IStrategy, SimulationState[]>(); resultsToAdd.TryAdd(strategy, simulationState); _target.AddResults(investor, resultsToAdd); }
public AnalysisService( IMarketDataCache marketDataCache, IResultsProvider resultsProvider, StrategyProvider strategyProvider, IInvestorProvider investorProvider, SimulatorFactory simulatorFactory, MarketDataProvider marketDataProvider, ICommunicationService communicationService) { _simulatorFactory = simulatorFactory; _marketDataCache = marketDataCache; _resultsProvider = resultsProvider; _strategyProvider = strategyProvider; _investorProvider = investorProvider; _marketDataProvider = marketDataProvider; _communicationService = communicationService; }
public CompetitionsController(ResultsAdapter adapter) { _results = adapter.Processor; }
public ResultsAdapter(IOptions <ApplicationConfiguration> conf) { var olaDapperConf = conf.Value.Ola; Processor = new OlaDapper.OlaResultsProvider(olaDapperConf); }
public ReportProvider(IResultsProvider resultsProvider) { _resultsProvider = resultsProvider; }