Aperiodic
MarketsLive
Pricing
Get Started

Trades

Deep microstructure signals from every raw trade.

Comprehensive trade-level analytics — order flow, size distribution, market impact, price volatility, tick structure, and execution slippage — all aggregated from full trade-by-trade history.
Browse catalogAPI documentation

Shown: net taker flow (buys minus sells) summed over each venue’s perpetuals, per minute, 18:00–01:00 UTC on 10 Oct 2025, buys above each venue’s line and sells below it on a square-root scale; the deepest sell minute, 21:13 UTC with $1.9B net sold across the three venues, is orange · built with flow 1m

Trades Datasets

Flow Metrics

Pro

Directional order flow split by taker buy vs. sell, broken into small/medium/large notional segments, with a flow toxicity score.

  • Volume Delta·
  • Flow Toxicity Score·
  • Buy/Sell Ratio·
  • Buy Large Order Volume

Trade Size

Pro

Trade notional split into small (< $100), medium ($100–$1,000), and large (≥ $1,000) segments, with summary statistics for individual trade sizes.

  • Large Order Volume·
  • Large Order %·
  • Mean Trade Size·
  • Trade Size Skewness

Price Range & Distribution

Pro

Intrabar high-low price range and full distribution statistics (mean, median, std, skewness, kurtosis) for trade prices within each interval.

  • Range (bps)·
  • Mean Price·
  • Price Std Dev·
  • Price Skewness

Impact Metrics

Pro

How much each unit of trading volume moves the price, measured via Amihud illiquidity, Kyle lambda, impact per notional, and large-trade reversal.

  • Amihud Illiquidity·
  • Kyle Lambda·
  • Impact per Notional·
  • Large Trade Reversal

Up / Down Tick Metrics

Pro

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

  • Uptick Volume·
  • Downtick Volume·
  • Uptick/Downtick Volume Ratio·
  • Uptick Count %

Trade Run Structure

Pro

Consecutive same-direction trade run lengths, imbalance, flip rate, and price change on direction flip.

  • Max Buy Run Length·
  • Max Sell Run Length·
  • Run Imbalance·
  • Flip Rate

Returns & Volatility

Pro

Log-return based metrics: variance, realized volatility, bipower variation, jump ratio, autocorrelation, and trendiness.

  • Realized Volatility·
  • Bipower Variation·
  • Jump Ratio·
  • Return Autocorr (Lag 1)

Slippage

Pro

How much each trade pays above the best ask (buys) or receives below the best bid (sells) relative to the prevailing quote, aggregated per interval.

  • Mean Slippage (bps)·
  • Slippage Std Dev (bps)·
  • Slippage P95 (bps)·
  • VWAP Slippage (bps)

Highlighted Metrics

volume_delta_notional

Volume Delta Notional

Volume Delta Notional shows the signed difference between aggressive buy and sell notional in the bar, making it one of the cleanest ways to spot net pressure.

Large positive readings usually mean buyers lifted offers with size, while large negative readings point to decisive sell-side aggression.

flow_toxicity_score

Flow Toxicity Score

Flow Toxicity Score combines abnormal notional imbalance with short-horizon realized volatility to highlight bars that were both one-sided and destabilizing.

The metric is designed to surface moments when liquidity providers are most likely trading against informed or urgent flow rather than routine noise.

flow_entropy

Flow Entropy

Flow Entropy measures how evenly buy and sell notional was distributed inside the interval.

High entropy suggests a balanced tug-of-war, while low entropy points to more concentrated and decisive flow in one direction.

taker_buy_sell_ratio

Buy/Sell Ratio

Buy/Sell Ratio compares aggressive buy notional to aggressive sell notional in one simple number.

It gives a fast read on whether the tape leaned meaningfully toward buyers or sellers without requiring any additional transformation.

taker_buy_large_order_percentage

Buy Large Order %

Buy Large Order % isolates how much of total aggressive buy notional came from the largest trade-size bucket.

When this rises alongside positive delta, it often suggests participation from larger and more intentional actors rather than fragmented retail flow.

large_order_volume

Large Order Volume

Large Order Volume tracks how much notional traded in the largest size bucket during the interval.

It is useful because the presence of size often changes the meaning of otherwise ordinary moves in price or total volume.

large_order_percentage

Large Order %

Large Order % shows what share of total traded notional came from the largest bucket rather than from all trades equally.

This helps normalize across busy and quiet sessions, making it easier to identify genuine changes in participant mix.

medium_order_percentage

Medium Order %

Medium Order % often acts as the overlooked middle layer between retail-like fragmentation and outright block activity.

Changes here can matter because many transitions in market participation appear first in the medium bucket before they spill into the large one.

small_order_count_percentage

Small Order Count %

Small Order Count % measures how much of the tape was made up of small individual executions.

It is especially revealing when trade count is high but small-order share dominates, since that can point to reactive retail flow or quote-chasing behavior.

n_trades

Trade Count

Trade Count is the raw number of matched trades in the interval, and it remains one of the best gauges of tape activity.

It helps distinguish quiet directional moves from crowded periods where many separate participants are trying to transact at once.

range_bps

Range (bps)

Range in basis points expresses the bar high-low spread in a way that is directly comparable across symbols and price levels.

That normalization makes it much more actionable than a raw absolute range when you are screening for unusually active intervals.

price_std

Price Std Dev

Price Std Dev measures how dispersed transaction prices were around the mean within the interval.

Unlike the simple high-low range, it tells you whether activity was broadly scattered or concentrated near a central level.

price_skewness

Price Skewness

Price Skewness captures whether the distribution of trade prices leaned toward the upper or lower tail of the interval.

Positive skew often means occasional bursts to the upside, while negative skew suggests the heavier excursions were downward.

price_kurtosis

Price Kurtosis

Price Kurtosis highlights whether price observations were tightly clustered with a few extreme prints or more evenly spread out.

Elevated kurtosis is often a clue that the interval contained bursts, tails, or jump-like behavior despite a modest average move.

price_cv

Price CV

Price CV scales standard deviation by the mean price, creating a relative dispersion measure.

It is especially helpful when comparing instruments with very different nominal prices or when monitoring how variability changes through time.

amihud_like

Amihud Illiquidity

Amihud Illiquidity measures how much price moved for a given amount of traded notional, providing a classic impact-per-volume lens.

Higher values imply that relatively small amounts of trading were able to move the market, which is usually a sign of thin or fragile liquidity.

kyle_like_lambda

Kyle Lambda

Kyle Lambda estimates the sensitivity of price changes to signed order flow, translating imbalance into impact.

When it rises, the same net buying or selling pressure tends to push price farther, suggesting a more impressionable market.

impact_per_notional

Impact per Notional

Impact per Notional asks a practical question: how much movement did each unit of traded value cause?

It helps traders benchmark execution cost in a way that feels intuitive and transferable across strategies.

large_trade_reversal

Large Trade Reversal

Large Trade Reversal measures how often and how strongly price snaps back after a large trade moves through the market.

Strong reversal behavior often suggests the initiating trade consumed liquidity but failed to represent durable information.

directional_impact_asymmetry

Directional Impact Asymmetry

Directional Impact Asymmetry compares whether buy-side and sell-side aggression moved price by the same amount.

Asymmetry can reveal one-sided fragility, such as a market that lifts easily but resists downside, or the reverse.

uptick_downtick_volume_ratio

Uptick/Downtick Volume Ratio

This ratio compares the notional traded on upticks with the notional traded on downticks.

It gives a tape-based view of directional pressure that is grounded in actual price changes rather than trade classification alone.

uptick_downtick_count_ratio

Uptick/Downtick Count Ratio

The count ratio focuses on how frequently prices were moving up versus down, regardless of trade size.

That makes it a useful companion to the volume ratio when you want to know whether direction came from many small pushes or a few heavy prints.

uptick_volume_percentage

Uptick Volume %

Uptick Volume % shows what share of traded volume occurred while price was moving upward.

It is an intuitive measure for spotting intervals where positive price progression was supported by meaningful participation rather than by sparse prints.

unchanged_volume_percentage

Unchanged Volume %

Unchanged Volume % captures how much volume traded without moving the last price.

A high reading can indicate heavier matching at stable quotes, stronger passive replenishment, or a temporary equilibrium between buyers and sellers.

uptick_count_percentage

Uptick Count %

Uptick Count % expresses the share of price-changing events that moved upward during the interval.

Because it ignores size, it is especially good at showing whether the tape rhythm itself was persistently positive or negative.

buy_run_max_len

Max Buy Run Length

Max Buy Run Length records the longest uninterrupted sequence of buyer-initiated trades in the interval.

Long runs are often a signature of urgency, persistence, or systematic execution that keeps leaning in one direction.

sell_run_max_len

Max Sell Run Length

Max Sell Run Length is the bearish mirror image, tracking the longest consecutive stretch of sell-initiated prints.

It helps identify intervals where downside pressure arrived as a continuous wave rather than as isolated bursts.

run_imbalance

Run Imbalance

Run Imbalance summarizes whether buy sequences or sell sequences dominated the structure of trading within the bar.

Unlike plain volume imbalance, it captures persistence and sequencing, which can be more informative about trader intent.

flip_rate

Flip Rate

Flip Rate measures how frequently the trade direction switched between buy-led and sell-led prints.

High flip rates usually correspond to choppy, back-and-forth microstructure, while low flip rates indicate more persistent pressure.

price_change_on_flip

Price Change on Flip

Price Change on Flip measures how much the market moved when control passed from one side of the tape to the other.

Large changes on flips can imply that turning points were costly and that reversals happened only after meaningful price concessions.

realized_vol

Realized Volatility

Realized Volatility aggregates squared log returns into a direct estimate of how much the market actually moved during the interval.

It is one of the core building blocks for short-horizon risk, execution timing, and market-state classification.

bipower_variation

Bipower Variation

Bipower Variation is a jump-robust volatility estimator that emphasizes the continuous part of price variation.

By filtering the influence of outsized moves, it helps distinguish routine trading noise from intervals dominated by discrete jumps.

jump_ratio

Jump Ratio

Jump Ratio estimates how much of realized variance came from jump-like moves rather than from continuous fluctuations.

When it spikes, the interval was driven less by gradual repricing and more by abrupt discontinuities.

ret_autocorr_lag1

Return Autocorr (Lag 1)

Lag-1 return autocorrelation tells you whether successive micro-returns tended to continue or reverse.

Positive readings suggest short-horizon persistence, while negative readings hint at mean reversion and bounce-back behavior.

trendiness

Trendiness

Trendiness compares the net signed move to the total absolute movement inside the interval.

Values near one indicate that most movement lined up in the same direction, while values near zero imply a lot of back-and-forth cancellation.

slippage_bps_mean

Mean Slippage (bps)

Mean Slippage in basis points captures the average execution shortfall relative to the chosen benchmark.

It offers a clean first-pass estimate of how expensive crossing the spread and consuming liquidity was in practice.

slippage_bps_p95

Slippage P95 (bps)

The 95th percentile of slippage focuses on the bad tail rather than on the average experience.

It is especially useful for execution planning because desks often care more about occasional painful outcomes than about typical ones.

slippage_bps_vwap

VWAP Slippage (bps)

VWAP Slippage compares executions with the interval volume-weighted market price, anchoring cost to where activity actually traded.

This often provides a more realistic benchmark for larger or more patient trading styles than a single last price snapshot.

slippage_bps_buy_sell_ratio

Buy/Sell Slippage Ratio

Buy/Sell Slippage Ratio asks whether lifting liquidity was more expensive than hitting it, or vice versa.

Asymmetry here can reveal directional stress, inventory pressure, or a book that is materially less resilient on one side.

slippage_bps_std

Slippage Std Dev (bps)

Slippage Std Dev measures how variable execution quality was from trade to trade.

Two markets can have the same mean cost but very different predictability, and this metric tells you which one is more stable.

Market Microstructure Context

Order flow separates noise from information

Every trade has a buyer and a seller, but one of them pushed — they were in a hurry. Order flow tracks who is pushing and how hard. When a lot of urgent buyers show up at the same time prices are swinging wildly, that's when being a market maker gets expensive and dangerous.

Impact is the central cost of active investing

Every trade nudges the price. Bigger trades nudge more. Impact measures how much price moves per dollar traded. In thin markets that nudge is large, so investors demand higher returns to take the risk of getting in and out. That's why less liquid assets often have higher expected returns.

Order flow and trade composition

BUY ↑SELL ↓← TIME →

Not all trades carry the same information. Barclay & Warner (1993) found that medium-sized orders — not the largest — account for a disproportionate share of cumulative price impact. Informed traders deliberately size down to avoid detection. This means aggregate volume alone is insufficient: you need to decompose flow by direction, size, and concentration to understand what it is actually telling you.

  • Volume delta — Buy-initiated minus sell-initiated volume. The directional pulse of the market — the net pressure that moved through the book over the interval.
  • Buy/sell ratio — The participation rate by side. A ratio that stays skewed across multiple bars is sustained pressure, not noise. Brief spikes wash out; persistent skew does not.
  • Trade size segmentation — Volume split into small, medium, and large buckets. When the large-trade buy ratio diverges from the small-trade buy ratio, you are seeing disaggregated flow — the classic microstructure signature of informed accumulation happening alongside retail noise.
  • Flow toxicity — Rooted in Easley, López de Prado & O'Hara's VPIN framework. Relates signed net flow to realized volatility. When both are high simultaneously, adverse selection costs spike and spreads should widen — that is when liquidity provision is most dangerous.
Intro to Aperiodic Flow Metrics
Interactive notebook

Impact and execution cost

BUY FLOW →← SELL FLOW↑ Δ PRICEλ

Kyle's lambda and Amihud illiquidity approach the same question from opposite ends: how much does trading move the price? Lambda measures information content per unit of signed flow; Amihud measures return per dollar of volume. Where they agree, the market is behaving consistently. Where they diverge is where the diagnosis gets interesting — rising Amihud without rising lambda points to exogenous volatility, not informed flow. Rising lambda alone means someone in the order flow knows something the quote does not yet reflect.

  • Amihud illiquidity — Absolute return divided by dollar volume. When this is high, small trades are moving price disproportionately — the market cannot absorb even modest flow without repricing.
  • Kyle lambda — The slope of price change versus signed order flow. Higher lambda means each dollar of directional flow moves the midpoint further — either because liquidity is thin or because the flow carries information the market maker is pricing in real time.
  • Directional impact asymmetry — Buy-side and sell-side lambda are rarely equal. Markets often absorb sells more efficiently than buys, especially in trending environments where sell pressure is expected and already priced.
  • Slippage — The gap between what the quote promised and what execution delivered. Perold (1988) called it implementation shortfall — the distance between paper portfolio returns and real returns. This is where backtest assumptions meet reality.

Use Cases

Order flow alpha signals

Build directional signals from taker buy/sell imbalance, volume delta, and flow toxicity scores across multiple horizons.

Institutional accumulation detection

Identify large-order flow clusters via size-segmented metrics to infer informed trading activity.

Market impact modelling

Estimate Amihud illiquidity, Kyle lambda, and impact-per-notional for realistic transaction cost models in backtests.

Jump detection & volatility decomposition

Separate continuous realized volatility from jump components using bipower variation and jump ratio metrics.

Execution quality & slippage benchmarking

Evaluate strategy fills against L1-matched slippage benchmarks, broken down by buy/sell side and order size.

Tick structure & directional momentum

Use up/down tick ratios and trade run imbalance to measure short-horizon directional persistence.

Get started in minutes

curl -fsSL https://raw.githubusercontent.com/aperiodic-io/cli/main/install.sh | bash
github ↗
terminal
# 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"

# Fetch the preview slice as Parquet into ./data — no API key needed
aperiodic flow --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"
Preview · binance-futures · perpetual-BTC-USDT:USDT · 1h · 2024-01-01 → 2024-01-31
df.head() · 5 × 37
#timetaker_buy_volumetaker_sell_volumetaker_buy_counttaker_sell_countvolume_deltavolume_delta_notionalflow_entropyflow_toxicity_scoretaker_buy_sell_ratiotaker_buy_sell_count_ratiotaker_buy_sell_percentagetaker_buy_sell_count_percentagetaker_buy_small_order_volumetaker_buy_small_order_counttaker_buy_medium_order_volumetaker_buy_medium_order_counttaker_buy_large_order_volumetaker_buy_large_order_counttaker_sell_small_order_volumetaker_sell_small_order_counttaker_sell_medium_order_volumetaker_sell_medium_order_counttaker_sell_large_order_volumetaker_sell_large_order_counttaker_buy_small_order_percentagetaker_buy_medium_order_percentagetaker_buy_large_order_percentagetaker_sell_small_order_percentagetaker_sell_medium_order_percentagetaker_sell_large_order_percentagetaker_buy_small_order_count_percentagetaker_buy_medium_order_count_percentagetaker_buy_large_order_count_percentagetaker_sell_small_order_count_percentagetaker_sell_medium_order_count_percentagetaker_sell_large_order_count_percentage
12024-01-01 00:00:004687.976074218753771.50097656254650041778916.4749755859375388712680.68726718425750731.24300014972686771.11302602291107180.55416858196258540.526745080947876138008.609375268497904352641818910536017398117024.32812518978532792241711515127201571029.4388465881347662088.414062540338.3789062531.0285816192626952262.43920898437540173.05468750.0577204301953315730.56812900304794310.37415054440498350.045406673103570940.5785580873489380.37603524327278137
22024-01-01 01:00:004783.8378906254259.57324218754938640965524.2650146484375223910960.6914658546447754-0.51.12307918071746831.20556569099426270.52898597717285160.5466015934944153140995.4375283810853161283161931864321823277478.26562512409094397236051726176161612029.4732894897460942268.71411132812540383.148437518.1892089843752135.04882812540524.6250.0574656799435615540.57336086034774780.369173437356948850.0302697420120239260.5762236118316650.39350664615631104
32024-01-01 02:00:002141.2590332031252511.808105468752448528065-370.54901123046875-157790900.68997293710708620.94617903232574460.85247713327407840.87243896722793580.4601822495460510.4659371972084045481757.617187515945058392.51306686080624982542772.0781256856032806.5165781009242881080238.1820297241210942362.34497070312540200.937517.028402328491212401.778320312540179.93750.065101079642772670.53363281488418580.401266068220138550.0244076251983642580.59070014953613280.38489222526550293
42024-01-01 03:00:003501.1320800781254618.7480468753615748188-1117.615966796875-474773440.683644711971283-0.170257717370986940.75802618265151980.75033205747604370.431180268526077270.42867982387542725109771.179687521607630267.5201431407325121385478518.9765625125310414373292961854570081763931.3530521392822272179.3715820312540196.289062517.000055313110352254.8041992187540153.089843750.059739470481872560.55709820985794070.383162319660186770.0260023251175880430.60795217752456670.3660454750061035
52024-01-01 04:00:003155.4318847656253201.104003906253664031386-45.672000885009766-1877300.750.69312137365341190.0265556294471025470.985732376575471.1673995256423950.49640744924545290.5386176109313965150556.92187530427435109201351260489201346359707.238281259466590907187841288612721165647.713569641113282356.28881835937539946.6445312518.6520767211914062058.94799804687540255.25781250.083024017512798310.54953604936599730.367439955472946170.0301408264786005020.59848338365554810.37137576937675476

Ready to start building?

Get access to our full catalog of market microstructure data.

Get started free

Shown: minute lows of the 465 Binance perpetuals, 20:40–22:00 UTC on 10 Oct 2025, with BTC’s path traced · built with ohlcv 1m

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
  • Full Catalog
  • Live markets dashboard
  • Global Liquidity
  • Unusual activity
  • Order Flow
  • L1 — Top of Book
  • L2 — Order Book
  • Market Data
  • 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