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);
        }
Beispiel #3
0
        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;
 }
Beispiel #5
0
 public CompetitionsController(ResultsAdapter adapter)
 {
     _results = adapter.Processor;
 }
Beispiel #6
0
        public ResultsAdapter(IOptions <ApplicationConfiguration> conf)
        {
            var olaDapperConf = conf.Value.Ola;

            Processor = new OlaDapper.OlaResultsProvider(olaDapperConf);
        }
Beispiel #7
0
 public ReportProvider(IResultsProvider resultsProvider)
 {
     _resultsProvider = resultsProvider;
 }