Skip to content
All library documents

Why OHLC Data Can Violate High-Low Price Bounds

Article Quant Q&A · Author: UmaN

Summary

The document reports examples from illiquid lean hog futures in which an opening or closing price falls outside the stated high-low range. This conflicts with the usual assumption that the high and low bound all prices recorded for a bar. The author suggests a possible explanation: highs and lows may reflect actual trades, while opening and closing values may be produced using additional inputs or algorithms. That explanation is posed as a hypothesis rather than established fact.

The practical question is whether to repair such records, for example by replacing the low with an open or close that lies below it. The document gives no confirmed cause, data-provider methodology, or evidence comparing cleaning choices. It therefore highlights a data-quality issue that can affect use of OHLC bars, while leaving the appropriate correction unresolved. Researchers should understand how a source defines each field before applying a correction, since changing observations may alter downstream analysis.

Key ideas

  • Illiquid futures data can contain OHLC rows where an open or close lies outside the reported high-low interval.
  • The author hypothesizes that highs and lows may be based on trades while opens and closes may use other inputs.
  • The proposed explanation is not verified in the document.
  • Cleaning these records requires understanding the vendor’s field definitions and the effect of altering observations.

Tags

Full text
# OHLC inconsistencies in bloomberg


# OHLC inconsistencies in bloomberg












This may be clear to a practitioner, but consider the following rows of OHLC points:

55.20 56.50 55.35 55.45 (low > open)

53.30 53.30 53.20 53.325 (close > high)

These are taken from the leanhogs contract on CME (LHZ08, 2008-11-12 and LHZ05, 2004-11-08).

One would expect high/low prices to represent extremes and bound open/close prices - but this does not seem to be the case at least for fairly illiquid contracts.

- What is the reason for these inconsistencies?

- Is it reasonable to "clean" these data points, for example replacing "low" by the open/close?

My current guess is that High/Low are strictly set based on actual trades, whereas the open/close price can be set by algorithms considering additional information (such as bid/ask spreads, average prices and prices of related contracts at different expiries).

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.