Skip to content
All library documents

Simulating Synthetic OHLCV Data with Geometric Brownian Motion

Article QuantStart

Summary

The article describes a model-driven method for creating synthetic daily stock price and volume histories. It uses the analytical solution of geometric Brownian motion to generate price paths, with drift and volatility as constant parameters, and a Pareto distribution to generate volume. The intended output is business-day open, high, low, close, and volume data, assembled into CSV files through a parameterized command-line tool. Reproducibility is supported by seeding both Python’s random generator and NumPy.

The motivation is to provide known-behavior data for evaluating backtesting systems and exploring hypothetical scenarios. The article outlines software structure and key configuration choices, but the provided excerpt omits part of the central path-generation implementation. It explicitly notes that price and volume are uncorrelated, which is unlike many real asset histories; GBM also assumes constant volatility and therefore cannot reproduce time-varying volatility. The synthetic series should be treated as controlled test data, not as realistic market observations or evidence that a strategy will perform in live trading.

Key ideas

  • Geometric Brownian motion generates synthetic price paths from drift and constant volatility assumptions.
  • A Pareto distribution is used to model simulated trading volume separately from price.
  • The tool is designed to output business-day OHLCV histories in CSV form with configurable parameters.
  • Seeding the random number generators supports reproducible simulations.
  • Uncorrelated volume and price, along with constant volatility, limit realism relative to market data.

Tags

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