A non-transitory computer-readable medium having stored thereon instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:
- receiving, by a data quantizer system, a first data point of a time series of data points via a network, the first data point having a first data point raw time and received at a first data point receipt time;
- identifying a first roll-up window for the first data point based on the first data point raw time;
- determining that the first data point is received after the first roll-up window is closed;
- determining that the first data point is received in an in-order condition based on at least the first data point receipt time;
- in response to determining that the first data point is received after the first roll-up window is closed and that the first data point is received in an in-order condition, adding the first data point to the first roll-up window;
- generating a first roll-up data point for the first roll-up window using the first data point and at least one other data point added to the first roll-up window;
- storing the first roll-up data point to one or more non-transitory data storage devices;
- receiving a second data point of the time series of data points via the network, the second data point having a second data point raw time and received at a second data point receipt time;
- identifying a second roll-up window for the second data point based on the second data point raw time;
- determining that second data point is received after the second roll-up window is closed;
- determining that the second data point is received in an out-of-order condition based on the second data point raw time and the second data point receipt time;
- generating a second roll-up data point for the second roll-up window using at least one other data point added to the second roll-up window and without using the second data point;
- storing the second roll-up data point to the one or more non-transitory data storage devices;
- receiving a third data point of the time series of data points via the network, the third data point having a third data point raw time and received at a third data point receipt time;
- identifying a third roll-up window for the third data point based on the third data point raw time;
- determining that third data point is received while the third roll-up window is open;
- generating a third roll-up data point for the third roll-up window using the third data point and at least one other data point added to the third roll-up window;
- and
- storing the third roll-up data point to the one or more non-transitory data storage devices.