AllTick
A financial trading scene illustrating small tick movements with a magnifying glass and step-like price levels representing tick size and tick value.
Market-DataTick-DataAllTickFintechquantitative trading

What is tick trading? How to calculate tick size?

Learn what tick trading is, how to calculate tick size and tick value, and how to account for trading costs and market data requirements when building and backtesting quantitative trading strategies.

AllTick5 min read

A tick-based trading strategy may look profitable on a chart but lose its edge once spreads, fees, and slippage are included. For quantitative traders, getting the price increment right is only part of the calculation. You also need to understand each market-data update and calculate how price movements affect your position.

This guide explains tick trading, tick size, and tick value with practical calculations you can reuse when developing or backtesting a quantitative trading strategy.

What Is Tick Trading?

Tick trading focuses on small price movements and short-term market activity. A quantitative strategy might analyze transaction prices, quote changes, or order-book activity to identify potential entry and exit signals.

Two terms are particularly important:

  • Tick size is the minimum permitted price increment for an instrument under the applicable market rules.
  • Tick data consists of individual market updates, such as trades or quote changes, depending on the data feed.

They are not interchangeable. One incoming data event does not necessarily represent a one-tick price movement. A price can also move several ticks between consecutive observed trades.

For a systematic strategy, confusing these concepts can distort price calculations, event-based charts, and backtest results.

How Do You Calculate Tick Size?

Tick size should normally be obtained from an instrument's specifications or applicable market rules, rather than inferred from two observed trades.

Tick size = Difference between adjacent valid price levels

Suppose a stock has an applicable tick size of $0.01. Its valid price levels in this example are:

$25.00 → $25.01 → $25.02 → $25.03

Each adjacent level represents one tick. If the next observed trade occurs at $25.03 after a trade at $25.00, the price has moved three ticks. The $0.03 difference does not mean the tick size is $0.03.

Do not assume every stock uses a $0.01 increment. Tick-size rules can depend on the instrument and applicable market rules. The SEC's tick-size guidance provides a regulatory example of why minimum price increments should be checked rather than hard-coded universally.

For a multi-asset strategy, maintain the correct tick-size specification for each symbol and update it when the applicable rules change.

How Do You Calculate Tick Value?

Tick size describes a price increment; tick value describes its monetary impact on a position.

For a stock position:

Tick value = Tick size × Number of shares

Assume a strategy buys 500 shares and the applicable tick size is $0.01.

Price movementGross P&L
One tick ($0.01)$5
Three ticks ($0.03)$15
Five ticks ($0.05)$25

These figures exclude commissions, fees, spreads, and slippage.

For instruments that use a contract multiplier, the calculation must also account for that multiplier:

Tick value per contract = Tick size × Contract multiplier

The final result may also require currency conversion or other instrument-specific adjustments. Always check the contract or product specifications before applying the formula.

A Practical Tick Trading Calculation

The following Python example calculates price movement in ticks and estimates gross and net P&L for a stock position. The fees and slippage are illustrative assumptions, not estimates of actual trading costs.

text
from decimal import Decimal

entry_price = Decimal("25.00")
exit_price = Decimal("25.03")
tick_size = Decimal("0.01")
shares = Decimal("500")

direction = Decimal("1")  # 1 = long, -1 = short
fees = Decimal("1.20")
slippage = Decimal("2.50")

price_change = exit_price - entry_price
price_ticks = price_change / tick_size

gross_pnl = direction * price_change * shares
net_pnl = gross_pnl - fees - slippage

print(f"Price movement: {price_ticks} ticks")
print(f"Gross P&L: ${gross_pnl:.2f}")
print(f"Net P&L: ${net_pnl:.2f}")

Expected output:

text
Price movement: 3 ticks
Gross P&L: $15.00
Net P&L: $11.30

This example assumes ordinary shares, a valid tick size, and costs expressed in the same currency as the P&L. For other instruments, adapt the calculation to the applicable multiplier and settlement currency.

Using decimal arithmetic also helps avoid floating-point rounding errors when working with prices that have fixed decimal increments.

What Should You Check Before Backtesting?

Correct arithmetic is only one part of a reliable tick trading workflow. The data must also match the assumptions made by the strategy.

CheckWhat to verify
Instrument specificationsTick size, quantity units, and applicable multiplier
Price and quote dataWhether the strategy needs trade prices, bid/ask quotes, or order-book depth
TimestampsTimezone, timestamp precision, event ordering, and stale updates
Historical coverageWhether the dataset contains the event-level detail needed to reproduce the strategy
Execution costsSpread, commissions, and realistic slippage
Connection handlingDuplicate events, missing updates, reconnects, and resubscriptions

A strategy based on recent trade prices may not need the same data as one that reacts to changes in market depth. Define the required event type before selecting a market data API.

Also distinguish historical candles from historical tick-by-tick records. Candle data is useful for bar-based strategies, but it cannot necessarily reproduce the event sequence needed to test a tick-driven strategy.

Choosing Market Data for a Tick-Based Strategy

The appropriate interface depends on how the strategy consumes data.

REST API is useful for request-based queries, including supported latest quotes, order-book snapshots, and historical candlestick data. WebSocket is suitable for continuously receiving real-time market updates through a persistent connection.

AllTick provides these interface options for supported financial markets. Its REST API documentation describes the available request-based endpoints, while its API documentation and integration resources help developers identify the relevant market-data interfaces.

One important limitation to check before implementation: a real-time WebSocket subscription should not automatically be treated as a historical tick archive. Confirm the specific symbol coverage, event type, and historical tick availability required by your strategy before relying on a feed for backtesting.

Before You Run the Strategy

Tick trading requires the right tick-size specification, a correct tick-value calculation, realistic trading costs, and market data that matches the strategy's logic. Getting any one of these wrong can make a backtest look better or worse than the underlying strategy warrants.

A useful next step is to review the AllTick REST API documentation, identify the relevant quote or historical-data endpoint, and check whether its data granularity matches your strategy. Verify the requirements before integrating the feed into your backtesting or real-time signal-processing pipeline.

Start streaming market data today

Generate a free API key in seconds and connect to every market from one endpoint.