Normalizing Intraday Volume for Sentiment Studies
Summary
The discussion explains how to make intraday trading volume more comparable across stocks and time periods in studies relating sentiment to prices and activity. Raw share counts vary with company size and with predictable patterns during the trading day, so a direct comparison can confound unusual activity with ordinary differences in scale and timing.
The response describes normalizing volume by a recent average and doing so in log space. It also separates volume into a daily total and the fraction typically traded in a given intraday interval, recommending distinct estimates for these components. Daily volume clustering may motivate a volatility-style model or a multivariate model of liquidity variables. The answer notes that intraday patterns can reflect both routine trading behavior and reactions to scheduled news; distinguishing those causes while normalizing around news remains unresolved. It does not explain the dataset’s COUNT field, nor does it provide a tested estimator or comparative empirical results.
Key ideas
- Intraday volume follows seasonal patterns, including higher activity near market open and close.
- Log volume relative to a recent average can help compare activity across instruments.
- Model daily volume totals separately from the typical intraday share of daily volume.
- Volume seasonality can reflect both trading routines and responses to news.
Tags
Full text
# How to regard intraday volume in a sentiment study? # How to regard intraday volume in a sentiment study? I am currently working on a sentiment study, which means I want to investigate the influence of sentiment on stock prices and trading volume. Regarding stock prices is relatively simple, I calculate the return, expressed as a percentage. Since it is an intraday data set I calculate this return for a period over 5 or 10 minutes for example. Since the return is expressed as a percentage, I can compare very well across different companies. It gets more complicated with the trading volume, as this is expressed in an absolute number (for example 14238 stocks per minute). Since companies issue a different number of shares it is not possible to compare them. Even if you look at just one company, the number of shares traded per minute varies greatly. Therefore, I would like to ask how to transform the trading volume so that I can 1.) detect abnormal intraday movements well and 2.) also compare well between several companies. My data set looks like this: ``` TIMESTAMP HIGH LOW OPEN CLOSE COUNT VOLUME <dttm> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> 1 2021-11-08 07:51:00 1970 1942 1942 1952. 9 14238 2 2021-11-08 07:52:00 1970 1946. 1970 1946. 11 33902 3 2021-11-08 07:53:00 1946. 1946. 1946. 1946. 7 25574 4 2021-11-08 07:54:00 1945 1935. 1943 1935. 4 15546 5 2021-11-08 07:55:00 1933. 1920 1933. 1920 4 18044 6 2021-11-08 07:56:00 1916 1916 1916 1916 6 26496 7 2021-11-08 07:57:00 1916 1907 1907 1916 12 69053 8 2021-11-08 07:58:00 1916 1903. 1916 1903. 16 111587 9 2021-11-08 07:59:00 1911. 1903. 1903. 1911. 23 189042 10 2021-11-08 08:00:00 1910 1903. 1910 1909. 98 1228126 ``` Many thanks in advance! (And can someone tell me what the variable `COUNT` means?) ## Answer by lehalle (score 3) https://quant.stackexchange.com/a/68830 Intraday volumes are known to have a seasonality: - at the start of the day you encounter more volume - similarly at the end of the day. In Europe there is a burst in volume 1h before the issue of US macro news: This seasonality is not only present for volume, but for all liquidity-related variables: (screenshots from Market Microstructure in Practice, 2nd Edition, by L and Laruelle) You first question is about how to take into account the relative volumes from one stock (or instrument) to another: - the usual practice is to renormalise by the "recent traded volume" $\bar V$, for instance a moving average of one to four months - this renormalisation has to be done in the log-space, since volumes are a positive variable (ie $V\mapsto \log(V/\bar V)$ Few remarks - it is also known that the intraday seasonality if made of two effect: one "daily volume" effect one "intraday proportion" effect - hence the natural way to model the volume during a "slice" $V(d, t)$ from $t-\Delta t$ to $t$ on day $d$ is to write it as $V(d, t) = V(d) \times \rho(t)$ where $V(d)$ is the volume of this day (yes it is not a causal --aka adapted-- formula) and $\rho(t)$ is the fraction of the daily volume from $t-\Delta t$ to $t$ You should hence probably have two estimators (for renormalisation proposes) - one for the daily volume - one for the "usual fraction of the day" from $t-\Delta t$ to $t$ Since daily volumes are, like daily volatility, subject to clustering, you may try a "GRACH-like model" for the daily volume. In fact you can use a VARlike model to jointly capture the 4 variables of interest (see Endogeneous Dynamics of Intraday Liquidity, by Bińkowski and L) Now let me ask a question: is this seasonality more due to optimal trading practices or to reaction to news? - probably not all is due to news since it seems very consistent from one day to another - nevertheless the peak on European volume has to be seen as an influence of US macro news... So how to renormalise, in the context of a study on News, without mixing endogenous and heterogenous information, is an open question...
Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.