Skip to content
All library documents

Simulating Intraday Bars from Daily OHLC Data with Brownian Bridges

Article Quant Q&A · Author: Victor

Summary

The document asks how to create synthetic one-minute bars from daily open, high, low, and close values for testing an algorithm’s speed and memory use. The synthetic path need not resemble actual market behavior, but its minute bars should preserve each day’s high and low and connect the open to the close.

One proposal is to simulate a Brownian bridge between the open and close, then scale the path to the observed range. A concern is that scaling may not reproduce the exact extrema, particularly when the open lies near one end of the range. An alternative builds bridges through the high and low in sequence, choosing either high-first or low-first ordering with a probability that depends on the open and close positions within the range. These are construction ideas rather than validated models; the document gives no empirical evidence that the resulting intraday paths resemble real trading or are suitable for financial inference.

Key ideas

  • A Brownian bridge can generate a synthetic path from a day’s open to its close.
  • Scaling a simulated path to the observed range may fail to hit the exact high and low.
  • A path through the high and low in either order can enforce the daily extrema.
  • The probability of each extrema ordering can depend on the open and close locations within the range.
  • The proposed paths are for synthetic data generation and are not shown to reproduce real intraday behavior.

Tags

Full text
# How to simulate one-minute bars data from one-day bars?


# How to simulate one-minute bars data from one-day bars?












I need to generate one-minute bars out of one-day bars to test the performance of an algorithm (speed, memory usage, etc).

I don't need them to resemble real data, but they should be consistent with the one-day bars (e.g. the higher price of any of the minute bars for a day is the same as the high price of the one-minute bars, etc.)

Any ideas?

## Answer by Joshua Ulrich (score 4, accepted)

https://quant.stackexchange.com/a/7028

Perhaps construct a Brownian Bridge between the day's open and close, then scale it according to the day's high and low.

## Answer by paralogical (score 1)

https://quant.stackexchange.com/a/7038

Regarding Joshua's inspired answer, I'm still not sure how you guarantee that scaling gives you the exact high and low values. I suppose that you could simulate until you get a result that is close enough. But that could be hard when, e.g., Open is near High and far from Low.

An alternative solution is to construct a Brownian Bridge between Open and High, High and Low, and Low and Close with probability p; construct a Brownian Bridge between Open and Low, Low and High, and High and Close with probability (1 - p); and make p a function of where Open falls inside the range and where close falls inside the range.

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.