Aperiodic
MarketsLive
Pricing
Get Started

Metrics library · Order flow

Up / down ticks

Get the data
BTC-USDT perpetual on Binance, 5m bars, 1 to 31 May 2025, from the free preview. The free delayed feed doesn't carry this dataset; paid plans stream it in real time.
How it's builtBTC, May 2025FieldsDownloadFAQ

Whether each trade printed above, below or at the price of the trade before it.

Uptick and downtick count, volume, ratios and percentages based on price movement direction.

Built from
Trades
Fields
14
Intervals
1m to 1d; 15s and 30s on Prime
Plan
Pro
Venues
Binance, OKX, Hyperliquid
Live
Real time on paid plans

How it's built

One real minute of trades, field by field. Each value matches our pipeline's output.

All 11,692 trades from 14:38 to 14:39 UTC on 11 June 2025, Binance BTC-USDT perpetual, from the free raw-trades preview.

  1. Step 1

    Classify each trade against the one before

    A trade above the previous trade price is an uptick, below it a downtick, at the same price unchanged. 58% of trades here were unchanged.

    The first trade has no trade before it in the bar, so 11,691 of 11,692 trades are classified.

    Loading 11,692 trades…
  2. Step 2

    Count and sum each class

    uptick_downtick_count_ratio=1,597 / 3,355=0.476
    uptick_downtick_volume_ratio=50.3 BTC / 192.2 BTC=0.262

    Volumes are in BTC, not dollars.

    Loading 11,692 trades…
  3. Step 3

    The bar

    uptick_count
    1,597
    downtick_count
    3,355
    unchanged_count
    6,739
    uptick_volume
    50.3 BTC
    downtick_volume
    192.2 BTC
    unchanged_volume
    604.0 BTC
    unchanged_count_percentage
    57.6%
    uptick_downtick_volume_ratio
    0.262

How often BTC trades print at an unchanged price

65% of BTC trades printed at the same price as the trade before.

BTC-USDT perpetual on Binance, 5m bars, 1 to 31 May 2025, from the free preview.

Mean price move in the same bar
-12.8
-10.6
-7.89
-4.96
-1.30
2.09
4.72
7.67
10.9
13.3
12345678910

Bars by tick tilt, most downticks to most upticks. Basis points.

That is the median share of zero-tick trades per bar in May. The balance of upticks against downticks correlated 0.73 with the bar's return. The most downtick-heavy tenth of bars fell 12.7 bps on average, the most uptick-heavy tenth rose 13.3 bps.

It describes the bar it is in and says nothing about the next one (correlation -0.001).

How to read it

An uptick is a trade above the previous trade price, a downtick below it, and unchanged at the same price. _count fields count trades, _volume fields sum their size.

uptick_downtick_volume_ratio above 1 means more size traded on upticks. Read it with volume: a ratio of 3 on a quiet bar can be a handful of trades.

unchanged_volume_percentage is the share of volume that traded without moving the price, a rough measure of how much the book absorbed.

uptick_count
Number of trades priced above the previous trade
downtick_count
Number of trades priced below the previous trade
unchanged_count
Number of trades priced the same as the previous trade
uptick_volume
Total traded quantity on upticks
downtick_volume
Total traded quantity on downticks
unchanged_volume
Total traded quantity on unchanged ticks
uptick_downtick_volume_ratio
Uptick traded quantity divided by downtick traded quantity
uptick_downtick_count_ratio
Uptick trade count divided by downtick trade count
All 14 fieldsFewer fields
uptick_count_percentage
Share of trades that were upticks
downtick_count_percentage
Share of trades that were downticks
unchanged_count_percentage
Share of trades that were unchanged ticks
uptick_volume_percentage
Share of traded quantity that occurred on upticks
downtick_volume_percentage
Share of traded quantity that occurred on downticks
unchanged_volume_percentage
Share of traded quantity that occurred on unchanged ticks
The research behind itHide the research

Before exchanges provided taker-side classification, researchers had only the sequence of transaction prices to infer trade direction. The tick test — classifying trades based on whether the price rose or fell — remains a surprisingly informative signal even when full trade-side data is available.

The Lee-Ready algorithm and its legacy

Lee & Ready (1991) formalized the tick test as part of their trade classification algorithm: a trade at a price above the previous trade (uptick) is classified as buyer-initiated; a trade below (downtick) is seller-initiated. For trades at the same price (zero tick), the previous non-zero tick determines classification.

While modern crypto exchanges directly report the aggressor side, making the tick test unnecessary for classification, the statistics of uptick/downtick sequences capture something distinct from the aggressor label: how many price levels a trade swept through.

The subtle distinction from trade side

A single large buy can result in multiple consecutive upticks as it walks through the order book — clearing the ask at one level, then the next, then the next. The aggressor-side label reports one buy. The uptick sequence reports three price-improving ticks. This difference captures depth penetration: how far into the book the aggressive order reached.

This is directly related to the market impact literature. Kyle (1985) modeled impact as proportional to signed volume, but Bouchaud et al. (2009) showed that the number of price levels crossed by a single metaorder is an independent predictor of permanent impact, beyond volume alone.

What we compute

  • Uptick/downtick count — number of trades at prices above/below the previous trade
  • Uptick/downtick volume — total volume transacted on price-improving/declining ticks
  • Uptick ratio — fraction of trades that were upticks (range 0 to 1)
  • Uptick volume ratio — fraction of total volume occurring on upticks

The momentum quality signal

The volume-on-upticks ratio is a momentum quality metric. When most of an interval's volume occurred on price increases, the move was directionally endorsed by actual trading — not a thin-market drift. This distinction matters:

  • High uptick volume ratio with concentrated trade count → a few large aggressive orders clearing multiple levels. Deep market impact, potentially informed.
  • High uptick volume ratio with dispersed trade count → many small buyers sustaining incremental upward pressure. Broad-based demand.

French & Roll (1986) showed that prices are more volatile during trading hours than non-trading hours, partly because of the information content of trades. The uptick/downtick decomposition helps identify which trades are carrying that information: those that move price (upticks/downticks) versus those that don't (zero ticks, volume at unchanged prices).


References:

  • Lee, C.M.C. & Ready, M.J. (1991). "Inferring Trade Direction from Intraday Data." Journal of Finance, 46(2), 733–746.
  • Kyle, A.S. (1985). "Continuous Auctions and Insider Trading." Econometrica, 53(6), 1315–1335.
  • Bouchaud, J.-P., Farmer, J.D. & Lillo, F. (2009). "How Markets Slowly Digest Changes in Supply and Demand." In Handbook of Financial Markets: Dynamics and Evolution, 57–160.
  • French, K.R. & Roll, R. (1986). "Stock Return Variances: The Arrival of Information and the Reaction of Traders." Journal of Financial Economics, 17(1), 5–26.

Download the same month

No account needed. Pro adds every venue and perp, at 1-minute to daily bars.
# Install the Aperiodic CLI into ~/.local/bin
mkdir -p "$HOME/.local/bin"
curl -fsSL https://raw.githubusercontent.com/aperiodic-io/cli/main/install.sh | INSTALL_DIR="$HOME/.local/bin" bash
export PATH="$HOME/.local/bin:$PATH"

# Free preview — no API key required
aperiodic updownticks --preview \
  --exchange binance-futures \
  --symbol perpetual-BTC-USDT:USDT \
  --interval 5m \
  --timestamp exchange \
  --start-date 2025-05-01 \
  --end-date 2025-05-31 \
  --output-dir ./data && echo "Saved to $PWD/data"

Questions

Related

Trade run structureHow long buyers and sellers keep at itFlowTaker buys against sells, by size, with toxicityReturns & volatilityRealized vol, jumps and trendiness
Aperiodic

Built from hundreds of terabytes of raw data and distilled into point-in-time metrics you can pull as parquet files. Plus the raw trades, quotes and derivatives data behind them.

Use Cases
  • Improve your backtest
  • Find new alpha
  • Execute smarter
Indices
  • All indices
  • Aperiodic Cost Index
  • Aperiodic Depth Index
  • Aperiodic Impact Index
Metrics
  • Metrics library
  • Data Catalog
  • Live markets dashboard
  • Global Liquidity
  • Unusual activity
  • Order Flow
  • L1 & L2
  • Derivatives
  • RWA
  • Raw Data
Developers
  • API Docs
  • Live WebSocket Feed
  • MCP Server
  • Notebooks
  • For AI Agents
  • Atlas Security Master
  • Pre-flight
  • Changelog
  • Roadmap
  • llms.txt
Learn
  • Replays
  • Microstructure Guide
  • Architecture
  • Research Blog
  • FAQ
Compare
  • All vendors
  • vs. Tardis
  • vs. CoinGlass
  • vs. Kaiko
  • vs. Amberdata
Company
  • Pricing
  • Contact
  • Book a call
  • Terms of Service
  • Privacy Policy
  • Licensing
  • SLA

© Copyright 2026 Aperiodic. All Rights Reserved.

Aperiodic Limited · Registered in Ireland · Company No. 815273 ·
136 Capel Street, Dublin D01 T2C9, Ireland

Shown: minute closes of 847 perpetuals, 20:30–22:30 UTC on 10 Oct 2025, IOTX in orange · built with ohlcv 1m