Incorrect historical data of stock split ratios

symbol,comments
APD,"Falsely use the number of shares of spin-off as split ratio on 2016-10-03. The adjustment factor should be 1.081"
CAG,"Falsely use the number of shares of spin-off as split ratio on 2016-11-10. The adjustment factor should be 1.285"
DD,"Missing split on 2019-04-02 with split ratio 1.487"
DELL,"Missing split on 2018-12-28 with split ratio 1.806"
DHR,"Falsely use the number of shares of spin-off as split ratio on 2016-07-05. The adjustment factor should be 1.319"
DXC,"Falsely use the number of shares of spin-off as split ratio on 2018-06-01. The adjustment factor should be 1.156"
FMC,"Falsely use the number of shares of spin-off as split ratio on 2019-03-04. The adjustment factor should be 1.153"
GE,"Missing split on 2019-02-26 with split ratio 1.04"
GE,"Missing split on 2023-01-04 with split ratio 1.281"
GE,"Missing split on 2024-04-02 with split ratio 1.253"
HLT,"One split on 2017-01-04 is separated to two splits (2017-01-03 and 2017-01-04). "
HPE,"Falsely use the number of shares of spin-off as split ratio on 2017-04-03. The adjustment factor should be 1.335"
HPE,"Falsely use the number of shares of spin-off as split ratio on 2017-09-01. The adjustment factor should be 1.289"
HSIC,"A split is missing on 2019-02-08"
IR,"There should be no split on 2020-03-02"
IR,"Unexplained price discontinuity before 2017-05"
JCI,"Falsely use the number of shares of spin-off as split ratio on 2016-10-31. The adjustment factor should be 1.11"
MET,"Falsely use the number of shares of spin-off as split ratio on 2017-08-07. The adjustment factor should be 1.122"
VAR,"Falsely use the number of shares of spin-off as split ratio on 2017-01-30. The adjustment factor should be 1.140"
VFC,"Falsely use the number of shares of spin-off as split ratio on 2019-05-23. The adjustment factor should be 1.062"
VNO,"Falsely use the number of shares of spin-off as split ratio on 2017-07-18. The adjustment factor should be 1.237"
XRX,"Falsely use the number of shares of spin-off as split ratio on 2017-01-03. The adjustment factor should be 1.518"

While validating the split ratios retrieved from Alpaca historical market data API, I found that there is a systemic bug mixing up the split ratio whenever it was converted from a spin-off.

For example, in APD, there was a spin-off to a child company of VSM, giving 0.5 shares of VSM per 1 share of APD. It happened on 2016-10-03.

The spin-off demanded price adjustment, and most providers (including Alpaca, but inconsistently. Not every spin-off is recorded in the “spin-off” corporate action data from Alpaca, APD for example, but that is another issue) will treat it the same as a stock split for price adjustment.

The split ratio for this spin-off is supposed to be 1.081, but Alpaca just took the “number of shares” 0.5 as the split ratio, which is obviously wrong.

You can validate my claim with information from multiple different data providers.

Apart from the bug observed in split-ratio and spin-off, there are also missing split for HSIC, unrecorded split in IR, and unexplained raw price discontinuity in IR.

I have compiled a list of these issues in the csv above. Please investigate and I would appreciate it if Alpaca corrects them.

Hi :waving_hand:

Thank you for reporting these corporate action issues. I went through your list one by one and fixed or explained all of them:

  • APD: fixed the rate to 1081:1000.
  • CAG: fixed the rate to 1285:1000.
  • DD: The company that time was traded under the ticker DWDP. We have the split under that stock.
  • DELL started trading under its current ticker on 2018-12-28, we have no data for this symbol before that.
  • DHR: fixed the rate to 1319:1000.
  • DXC: fixed the rate to 1156:1000.
  • FMC: fixed the rate to 1153:1000.
  • GE only had a single split since 2016, a 1:8 reverse split on 2021-08-02, which we have.
  • HLT: merged the two splits to one with a rate of 1000:2052.
  • HPE: fixed both splits
  • HSIC: added the missing 2019-02-08 1.275 split.
  • IR: IR was created from GDI on 2020-03-02 as a merger. The split is required to adjust the price between the two.
  • JCI: removed the incorrect 2016-10-31 split.
  • MET: fixed the rate to 1122:1000.
  • VAR: removed the incorrect 2017-01-30 split
  • VFC: fixed the rate to 1062:1000.
  • VNO: fixed the rate to 1237:1000.
  • XRX: fixed the rate to 1518:1000.
1 Like

Thanks for going through the issues one by one and fixing the data. I really appreciate your swift response and action.

I still have a few of unresolved questions regarding your responses to GE and VAR.

GE,"Missing split on 2019-02-26 with split ratio 1.04"
GE,"Missing split on 2023-01-04 with split ratio 1.281"
GE,"Missing split on 2024-04-02 with split ratio 1.253"

These are, however, spin-offs that require price adjustments to the raw data.

  • I saw that the spin-offs on 2023-01-04 and 2024-04-02 were already recorded as “spin_offs” in the data retrieved from Alpaca Corporate Actions API. However, the one on 2019-02-26 is still missing.
  • Most online sources like GE splits in Yahoo Finance would put the adjustment factors of these spin-offs under “stock splits”, so that the users can also adjust the raw prices to these spin-offs conveniently. I see that Alpaca also follows such a convention, either intentionally or inadvertently. For examples, most of the “splits” mentioned in the list actually originated from spin-offs. Therefore, wouldn’t it also make sense to move them to the forward_splits category with the specified split ratios as listed above?
  • Raw price jumps due to corporate actions on the ex_date (red vertical lines) are listed below


VAR,"Falsely use the number of shares of spin-off as split ratio on 2017-01-30. The adjustment factor should be 1.140"
  • The “split” documented here is, again, actually a spin-off to VREX
  • Instead of being corrected to 1140:1000, the entry has been removed because it is not a split. However, following the argument in point 1, it would be the best and most consistent to put it under “forward_splits” category with 1140:1000 rate. Otherwise the raw price of VAR at this ex_date won’t be correctly adjusted (see attached the raw price below)
  • Online Source such as VAR split history in Digrin.com recorded the spin-off also as split with 1140:1000 rate for price correction purpose.

1 Like

Thank you @yyhhoi for highlighting this issue. We decided to fix it by introducing a new adjustment parameter for spin-offs that can be used optionally adjust the bars based on them. I’ll let you know once it has been added.

1 Like

Thanks again @yyhhoi for your valuable feedback. Based on it, we introduced the new spin-off option to the bar adjustments, which will fix all issues you described.