public void DataSourceLoadedFromStringHasValidFrames() { var dataSource = CsvDataSource.CreateFormStrings(Mother.UnsortedRowsCsvData); Assert.IsNotNull(dataSource.Bars); Assert.AreEqual(2, dataSource.Bars.Keys.Count); Assert.Contains(Symbols.Sber, dataSource.Bars.Keys.ToList()); Assert.Contains(Symbols.Vtbr, dataSource.Bars.Keys.ToList()); }
public void DataSourceLoadedFromDailyScvIsValid() { var dataSource = CsvDataSource.CreateFormStrings(Mother.DailyCsvData); Assert.IsNotNull(dataSource.Bars); Assert.AreEqual(1, dataSource.Bars.Keys.Count); Assert.Contains(Symbols.Sber, dataSource.Bars.Keys.ToList()); var sberBar = dataSource.Bars[Symbols.Sber]; Assert.IsTrue(sberBar.Keys.Any()); }
public void ComposedMarketDataLoadedFromStringsIsValid() { var dataSource = CsvDataSource.CreateFormStrings(Mother.UnsortedRowsCsvData); var mdata = new ComposedMarketData(dataSource.Bars); Assert.IsNotNull(mdata.Bars); Assert.IsTrue(mdata.RowKeys.Count > 0); Assert.IsTrue(mdata.Symbols.Count == 2); Assert.Contains(Symbols.Sber, mdata.Symbols.ToList()); Assert.Contains(Symbols.Vtbr, mdata.Symbols.ToList()); var sberBars = mdata.Bars[Symbols.Sber]; foreach (var bar in sberBars.Values) { Console.WriteLine(bar); } }
public void CanGetLastBarFromCsvMarketData() { var dataSource = CsvDataSource.CreateFormStrings(Mother.GenericCsvData); var marketData = new ComposedMarketData(dataSource.Bars); var eventBus = new QueuedEventBus(); var handler = new HistoricDataHandler(eventBus, marketData); Console.WriteLine("Total rows = {0}", marketData.RowKeys.Count); var i = 0; while (handler.ContinueBacktest) { handler.Update(); i++; var sber = handler.GetLast(Symbols.Sber); var vtbr = handler.GetLast(Symbols.Vtbr); Console.WriteLine($"Iteration {i}"); if (sber == null) { Console.WriteLine($"{handler.CurrentTime} => SBER is NULL"); } else { sber.Print(); } if (vtbr == null) { Console.WriteLine($"{handler.CurrentTime} => VTBR is NULL"); } else { vtbr.Print(); } Console.WriteLine("------------------"); } }
public void ComposedMarketDataLoadedFromStringsHasValidRowKeys() { var dataSource = CsvDataSource.CreateFormStrings(Mother.UnsortedRowsCsvData); var mdata = new ComposedMarketData(dataSource.Bars); var rowKeys = mdata.RowKeys; foreach (var dateTime in rowKeys) { Console.WriteLine("key={0}", dateTime); } DateTime?prev = null; foreach (var dateTime in rowKeys) { if (prev == null) { prev = dateTime; continue; } Assert.IsTrue(prev <= dateTime); } }