示例#1
0
 public void FillBackwardThenForwardTest()
 {
     var sp = new StockPrices(new[] { float.NaN, 1, float.NaN, 2, float.NaN });
     sp.ReplaceNanFill(FillDirection.Backward).ReplaceNanFill(FillDirection.Forward);
     var expected = new[] { 1f, 1f, 2f, 2f, 2f };
     CollectionAssert.AreEqual(expected, sp.Prices);
 }
示例#2
0
        public static StockPrices ReadStock(string symbol, string dataColumnName, TimeSeries dayOffsets)
        {
            var prices = new StockPrices(dayOffsets.Count);
            string filePath = DataAccess.GetInstance().GetFilePath(symbol);
            using (var csv = new CsvReader2(filePath))
            {
                while (csv.Read())
                {
                    var date = csv.GetDateTime("Date");
                    int offset = dayOffsets.GetOffsetDaysFromStart(date);
                    if (offset < 0)
                        continue;

                    var price = csv.GetFloat(dataColumnName);
                    prices.Set(offset, price);
                }
            }
            return prices;
        }
示例#3
0
 private void Add(string symbol, StockPrices stockPrices)
 {
     tickerToIndex.Add(symbol, allPrices.Count);
     allPrices.Add(stockPrices);
 }