Tick Data vs OHLC

Trading data comes in different resolutions, and the choice between them significantly affects backtest accuracy, speed, and the types of strategies you can reliably test.

What They Are

Tick Data is the most granular form of market data. Every single transaction or quote change is recorded with a timestamp, price, and volume. A liquid stock might generate thousands of ticks per second.

09:30:00.001  BID    149.95  x 200
09:30:00.001  ASK    149.97  x 500
09:30:00.003  TRADE  149.97  x 100
09:30:00.005  TRADE  149.96  x 250
09:30:00.008  BID    149.96  x 300

OHLC Data (Open, High, Low, Close) compresses all activity within a time period into four prices plus volume. A 1-hour bar tells you the first price, highest, lowest, and last — but nothing about the path between them.

Time: 09:30  Open: 149.97  High: 151.20  Low: 149.50  Close: 150.85  Volume: 45,000

Common resolutions (most to least granular):

  • Tick data (every trade/quote)
  • 1-second bars
  • 1-minute bars
  • 5/15-minute / 1-hour bars
  • Daily OHLC
  • Weekly / Monthly OHLC

Why Data Resolution Matters

The Intrabar Problem

OHLC bars hide the actual price path. Did the bar go Open -> High -> Low -> Close? Or Open -> Low -> High -> Close? This matters enormously when both a stop-loss and take-profit fall within the bar’s range.

With tick data, you know the exact sequence. With OHLC, the backtester must guess — and guessing introduces systematic errors.

False Fills

With OHLC data, a limit buy at $150 in a bar with Low=$149.50 appears to fill. But tick data might show price touched $150 only briefly with minimal volume — your order might not have filled.

Strategy Requirements

The type of strategy determines minimum data resolution:

  • Daily swing trading: Daily OHLC is sufficient
  • Intraday strategies: Need at least 1-minute bars
  • High-frequency: Tick data is mandatory
  • Scalping: Tick data with order book depth is ideal

Concrete Examples

The Stop-Loss / Take-Profit Problem

Your strategy buys at $100 with a stop at $98 and target at $104. Today’s bar: Open=$100, High=$104.50, Low=$97.50, Close=$103.

Both stop ($98) and target ($104) are within the bar’s range. What happened first?

  • Price went down first: Stop hit at $98, you lose $2. Missed the rally.
  • Price went up first: Target hit at $104, you gain $4.

With OHLC, the backtester guesses. Common approaches:

  • Assume worst case (stop first) — conservative but often inaccurate
  • Assume best case (target first) — optimistic and dangerous
  • Use closer level first — arbitrary

With tick data, you know exactly what happened. The difference between -$2 and +$4 per trade compounds into massively different backtest results.

Intraday Strategy on Daily Data

A mean-reversion strategy buys when price drops 2% intraday and sells at close. Daily OHLC shows Open=$100, Low=$97 (-3%), Close=$99.50. The backtest buys at $98 and sells at $99.50 for $1.50 profit.

But intraday data reveals the 2% drop happened at 3:55 PM — 5 minutes before close. By the time you detect it and place an order, the market closes. The trade was never executable.

Volume Reality

A daily bar shows 1 million shares traded with a low of $50. Your strategy places a limit order at $50. Did 1 million shares trade at $50? Or did only 100 shares trade there before bouncing? OHLC can’t tell you. Tick data shows only 100 shares at $50 — your 10,000-share order gets a partial fill at best.

Gap Opens

Your stop-loss is at $95. Stock closes at $97, opens next day at $92 due to bad news. OHLC backtesting might fill the stop at $95. In reality, you’d be filled at $92 or worse. Tick data shows the gap correctly.

Choosing the Right Resolution

Strategy TypeMinimum DataRecommended
Buy-and-hold / MonthlyDaily OHLCDaily OHLC
Swing trading (multi-day)Daily OHLCDaily OHLC
Day trading (hours)1-minute OHLC5-min or 1-min
Scalping (minutes)1-minute OHLCTick data
High-frequencyTick dataTick + order book
Options strategiesDaily + GreeksIntraday + Greeks

Best Practices

  1. Match resolution to timeframe: Don’t use daily bars for a scalping strategy. Don’t use tick data for monthly rebalancing (it’s slow and unnecessary).

  2. Handle intrabar ambiguity: When using OHLC and both stop and target are within the bar’s range, document your assumption. Conservative (worst case) is safest.

  3. Use multi-resolution backtesting: Some platforms use daily bars for signal generation but intraday bars for execution simulation — speed for signals, accuracy for fills.

  4. Account for gaps: Fill stop orders at the actual open price (or worse) when gaps occur, not at the stop price.

  5. Validate with higher resolution: If developed on daily data, validate a sample period using intraday data to see if results hold.

  6. Watch bar construction: Not all “daily” bars are the same. Different providers use different session times. Forex daily bars depend on timezone cutoff.

Data Sources

Tick data:

  • Dukascopy (free forex tick data)
  • Polygon.io (stocks, crypto)
  • Databento (institutional-grade)
  • Binance API (crypto, free)

OHLC data:

  • Yahoo Finance (free daily, quality varies)
  • Alpha Vantage (free tier available)
  • Tiingo (affordable, good quality)
  • Norgate Data (survivorship-bias-free)
  • EOD Historical Data (global coverage)

Storage Considerations

Tick data is large:

  • One liquid stock: ~500MB-1GB per year
  • One liquid forex pair: ~2-5GB per year
  • Daily OHLC for the same period: ~50KB

For multi-year backtests across many instruments, OHLC is often the pragmatic choice with periodic tick-level validation on critical periods.

Resources