
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.
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 movement | Gross 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.
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:
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.
| Check | What to verify |
|---|---|
| Instrument specifications | Tick size, quantity units, and applicable multiplier |
| Price and quote data | Whether the strategy needs trade prices, bid/ask quotes, or order-book depth |
| Timestamps | Timezone, timestamp precision, event ordering, and stale updates |
| Historical coverage | Whether the dataset contains the event-level detail needed to reproduce the strategy |
| Execution costs | Spread, commissions, and realistic slippage |
| Connection handling | Duplicate 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.