Skip to content
All library documents

Adjusting Historical Prices and Volume for Stock Splits

Article Quant Q&A · Author: Philippe Remy

Summary

The document explains how to adjust historical equity data so that prices and trading volume are comparable across a stock split. For a forward split, the accepted answer divides pre-split prices by the split factor and multiplies pre-split volume by that factor. The example uses a seven-for-one split: the earlier closing price is reduced by seven, while historical volume is increased sevenfold. This keeps the implied traded value consistent across the adjustment.

For a reverse split, the same formulas apply when the factor is below one, so adjusted prices rise and volume falls. The question’s proposed transformation instead multiplies earlier prices and divides volume, which reverses the conventional adjustment direction for historical data. The answer gives arithmetic examples but does not discuss vendor-specific adjustment conventions, treatment of fractional shares, or how adjusted data should be aligned with other corporate actions. Users should verify the split-factor definition and data-provider methodology when preparing a time series.

Key ideas

  • For historical data before a forward split, divide prices by the split factor and multiply volume by it.
  • The adjustment preserves price multiplied by volume across the split, subject to the stated data convention.
  • A reverse split uses the same factor-based calculation, causing adjusted prices to rise and volume to fall.
  • Confirm whether a provider defines the split factor as post-split shares per pre-split share before applying the adjustment.

Tags

Full text
# How to adjust trading volume based on stock splits?


# How to adjust trading volume based on stock splits?












Does anyone know how to adjust `trading volume` based on stock splits?

Here is an example of ANA (9202.T) on 2017-09-27.

A stock split happened with factor 1:10.

```
DateTime                Open    High    Low     Close   TradedVolume
2017-09-26 15:00:00     423.0   423.0   423.0   423.0   3787000

DateTime                Open    High    Low     Close   TradedVolume
2017-09-27 09:00:00     4206.0  4209.0  4201.0  4208.0  829700
```

Do I just need to divide `TradedVolume` by a factor of 10 and multiply the prices by 10, before the split?

In this case I would get the adjusted values to be:

```
DateTime                Open     High     Low      Close   TradedVolume
2017-09-26 15:00:00     4230.0   4230.0   4230.0   4230.0  378700

DateTime                Open     High     Low      Close   TradedVolume
2017-09-27 09:00:00     4206.0   4209.0   4201.0   4208.0  829700
```

This seems the most natural to me as we keep the total value (price*volume) constant.

Looking forward to hearing your thoughts.

## Answer by gizmo (score 5, accepted)

https://quant.stackexchange.com/a/36865

Simple:

- Divide the share price by the split factor.

- Multiply the volume by the split factor.

Let's use Apple's 7/1 split from Monday June 9, 2014 as an example.

The split factor was 7/1 or 7.

The closing price on Friday June 6, 2014 was 645.57 and the volume was 12497800.

After the split, the closing price for Friday June 6, 2014 was adjusted to 92.22 and the volume increases to 87484600.

- 645.57 / ( 7 ) = 92.22

- 12497800 * ( 7 ) = 87484600

For a reverse split, the calculation is the same but the share price will increase and the volume will decrease because the split factor is a fraction. In a 1/4 reverse split, the split factor is (1/4) or 0.25.

For further reading:

- What is the adjusted close?

- CRSP Calculations

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.