# Analyzing tick data

What are some of the commonly used techniques to analyze tick data? I am looking at tick data to see how the quotes/ mid-price evolves due to certain events in the market. Since tick data is asynchronous one can't really apply traditional time series models to explain these price movements. Some people have proposed that I create price bars based on either clock-time or trade-time but I think that tends to miss out on information happening in between the bars.

Any suggestions on how I can approach this ?

Your question is very vague (e.g. what are you trying to measure, and what "tick data" do you have), but I'll give you some pointers:

1. In general, when people consider how prices evolve, they will tend to think about things like volatility and correlation dynamics. So I would start by defining exactly what you want to measure. The irregularity of time series data is not a problem in itself, except in so far as you are making assumptions in your calculations about things like dispersion in time. The amount of variation over 1 millisecond will generally be different than over 1 second (and will also vary by asset), so you need to arrange your statistics to account for this.

1.1. There is a vast literature on measuring volatility using high-frequency tick data. Search for papers on realized variance, volatility, and correlation from people like Neil Shepard (see his institute) or Tim Bollerslev. One feature of this literature is that it is actually optimal to not use tick-by-tick data because of what is known as microstructure noise (e.g. bid-ask bounce), and you're generally better making estimates off something like 5-minute data.

1.2 There is also a literature on dealing with unevenly spaced data (see, for instance, papers by Muller and Zumbach). A recent paper on the subject is "Algorithms for Unevenly-Spaced Time Series: Moving Averages and Other Rolling Operators". There is a nice section in Eric Zivot's book on time series analysis that covers this (look for irregularly spaced high frequency data or inhomogeneous operators).

2. Looking at statistics in clock time or trade time is an important distinction. For instance, the number of quotes or trades can vary dramatically across assets, with illiquid assets only trading a few times a day vs. liquid assets which trade many times each second. Using trade time to measure things like volatility can partly address this problem (as well as things like the significance of your estimate), although you will need to consider whether there are other clock time effects (such as open or close time seasonalities) even when you work in trade time.

3. For tick data, are you working with level 1 (top of the book quotes and trades) or level 2 (full order book) data? If it's level 2, then you may not only want to consider changes through time, but also across the book.
• +1, but typo in Tim Bollerslev's name. Oct 14 '12 at 19:21
• That's funny given that I spent the day on Friday with him. Oct 14 '12 at 23:36

In order to use methods for equidistant time series:

1. simply disregard timestamps
2. separate trade and clock time (like 1: clock time increments as time series)
3. create [sparse] equidistant time series with tiny time increment ([implicitly] repeating prices when necessary)
4. aggregate equidistant bars

Although some above are blatant, they would get you going. Besides that, I have had Engle, Russell, 2004, "Analysis of High Frequency Financial Data" waiting for me to read it for some time now. An Introduction to High-frequency Finance might be relevant, too.

• I am not sure I understand step 2,3 &4. Could you illustrate with a simple example. Oct 10 '12 at 1:21
• 1, 2, 3 & 4 are options, not steps. Either 1, 2, 3 or 4. ad 2) treat time as some variable tightly related to the original time series, maybe forecasting both in order to know where price goes and when it goes there. ad 3) find some small time increment such that all oservations of the original time series roughly fit on some time of your new equidistant time series. ad 4) summarize your data maybe per 500 microseconds and create for example open/high/low/close information for each 500 microsecond batch Oct 10 '12 at 21:06

In case of Tick Data, you can use the RTAQ package in R. The standard techniques for analyzing tick data can be seen in Haustch or Frederi G. Viens

• Can you summarize what RTAQ does or what those techniques are that you referred to? Like, what do the tools/techniques do for "in between the bands" analysis? Oct 5 '12 at 12:58
• To Quote RTAQ manual "The Trades and Quotes data of the New York Stock Exchange is a popular input for the implementation of intraday trading strategies, the measurement of liquidity and volatility and investigation of the market microstructure, among others. This package contains a collection of R functions to carefully clean and match the trades and quotes data, calculate ex post liquidity and volatility measures and detect price jumps in the data". It will help you calculate periodicity, create aggregate bars, trade direction using Lee-Ready Algo, Covariances, Multiple Exchanges. Oct 5 '12 at 13:07

I suggest checking out some of the research from Nanex. You should be able to pick up some methods just by going through some of their event analysis.