We have noticed that we receive erroneous updates randomly during the course of a trading day. For example, with 5-minute GOOG.O we received the following update:
It's almost 4 points below the previous trade. Here's what it looks like in our chart:
Here's the relevant code to create the log file I referenced above:
// Create the platform session. using ISession session = Sessions.GetSession(); // Open the session session.Open(); HistoricalPricing.Sessions[] sessionArray = new HistoricalPricing.Sessions[] { HistoricalPricing.Sessions.normal, }; // Create a Historical Pricing stream - specifying the desired 'intraday' interval string symbol = "GOOG.O"; var stream = Summaries.Definition(symbol) .Interval(Summaries.Interval.PT5M) .Fields("DATE_TIME", "OPEN_PRC", "HIGH_1", "LOW_1", "TRDPRC_1", "ACVOL_UNS") .Sessions(sessionArray) .Count(1250) .GetStream(); // Open a file for output StreamWriter outputStream = new StreamWriter($"C:\\Users\\coryschmidt\\{symbol}Stream.txt"); stream.OnInsert((data, st) => { outputStream.WriteLine($"INSERT: {DateTime.Now}"); Common.OutputTableToStream(data.Table, outputStream); }) .OnUpdate((data, st) => { outputStream.WriteLine($"UPDATE: {DateTime.Now}"); Common.OutputTableToStream(data.Table, outputStream); }) .OnStatus((status, st) => outputStream.WriteLine($"STATUS: {status}")) .OnError((error, st) => outputStream.WriteLine($"ERROR: {error}")) .Open();
If I re-request the historical data the erroneous Low disappears.