On November 13, 2018 the shares of EQT Corporation (NYSE:EQT) fell down by 46%. Yet, as Montley Fool reported, it was just a spinoff of the midstream assets into a separate public company, Equitrans Midstream Corp... FinViz and eoddata.com has completely failed to depict this event properly. Yahoo.Finance and AlphaVantage coped with it but only to some extent. We discuss the problems, caused by such events and sketch some ways to mitigate them.
The case of EQT is although recent but is no way the only one, which we have experienced. Still, since it is probably the most recent one, let us consider it first. We, ourselves, have noticed the anomaly as we checked the performance of the stocks from our 2nd stock list on FinViz. It showed the loss of ca. -50%! Either eoddata.com has demonstrated a full naivity
Date | Open | High | Low | Close | Volume | Open Interest |
11/05/2018 | 33.64 | 35.49 | 33.64 | 35.35 | 4,344,100 | 0 |
11/06/2018 | 34.91 | 35.61 | 34.90 | 35.02 | 3,252,100 | 0 |
11/07/2018 | 35.39 | 35.64 | 32.94 | 34.17 | 5,632,800 | 0 |
11/08/2018 | 33.84 | 35.35 | 33.34 | 34.80 | 8,448,300 | 0 |
11/09/2018 | 34.69 | 37.46 | 34.48 | 35.90 | 11,832,500 | 0 |
11/12/2018 | 36.15 | 36.39 | 34.49 | 34.64 | 69,020,800 | 0 |
11/13/18 | 18.89 | 21.15 | 18.37 | 18.56 | 35,458,800 | 0 |
11/14/18 | 18.73 | 19.11 | 16.63 | 17.48 | 20,937,100 | 0 |
11/15/18 | 17.09 | 17.84 | 16.91 | 17.20 | 12,247,500 | 0 |
11/16/18 | 17.08 | 17.23 | 16.29 | 16.63 | 11,981,700 | 0 |
Table 1: EQT OHLC prices from eoddata.com |
Yahoo.Finance was somewhat better but as you can readily see, Yahoo overdid it, since not everything (not only the column Ajdusted) was adjusted.
Date | EQT.Open | EQT.High | EQT.Low | EQT.Close | EQT.Volume | EQT.Adjusted |
25/10/2018 | 20,84377 | 21,29015 | 18,2417 | 19,23789 | 25022900 | 19,20686 |
26/10/2018 | 18,9276 | 19,23789 | 17,63201 | 17,71911 | 21553000 | 17,69053 |
29/10/2018 | 17,71911 | 17,88786 | 16,61949 | 16,87534 | 18931900 | 16,84812 |
30/10/2018 | 16,83179 | 17,93685 | 16,79913 | 17,89331 | 13236900 | 17,86445 |
31/10/2018 | 18,25803 | 18,97115 | 18,06206 | 18,49211 | 13681800 | 18,46228 |
01/11/2018 | 18,85139 | 19,12901 | 18,61731 | 18,98748 | 6560800 | 18,95686 |
02/11/2018 | 18,82417 | 18,93849 | 17,58846 | 17,76266 | 7729400 | 17,73401 |
05/11/2018 | 18,31247 | 19,31954 | 18,31247 | 19,24333 | 7980300 | 19,2123 |
06/11/2018 | 19,00381 | 19,38487 | 18,99837 | 19,06369 | 5974100 | 19,03294 |
07/11/2018 | 19,26511 | 19,4012 | 17,93141 | 18,60098 | 10347300 | 18,57098 |
08/11/2018 | 18,42134 | 19,24333 | 18,14916 | 18,94393 | 15519500 | 18,94393 |
09/11/2018 | 18,88405 | 20,39194 | 18,76973 | 19,54273 | 21735900 | 19,54273 |
12/11/2018 | 19,67882 | 19,80947 | 18,77518 | 18,85683 | 1,27E+08 | 18,85683 |
13/11/2018 | 18,89 | 21,15 | 18,36 | 18,56 | 35458800 | 18,56 |
14/11/2018 | 18,73 | 19,11 | 16,63 | 17,48 | 20937200 | 17,48 |
15/11/2018 | 17,09 | 17,84 | 16,91 | 17,2 | 12247500 | 17,2 |
16/11/2018 | 17,08 | 17,23 | 16,29 | 16,63 | 11981700 | 16,63 |
Table 2: EQT OHLC prices from Yahoo.Finance |
Finally, AlphaVantage was nearly perfect.
timestamp | open | high | low | close | adjusted_close | volume | dividend_amount |
<date> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <int> | <dbl> |
22/10/2018 | 46.3 | 46.3 | 44.1 | 44.4 | 24.2 | 2.88e6 | 0 |
23/10/2018 | 43.5 | 43.8 | 41.8 | 42.5 | 23.1 | 3.37e6 | 0 |
24/10/2018 | 42.6 | 43.1 | 40.4 | 40.5 | 22.0 | 4.28e6 | 0 |
25/10/2018 | 38.3 | 39.1 | 33.5 | 35.3 | 19.2 | 1.36e7 | 0 |
26/10/2018 | 34.8 | 35.3 | 32.4 | 32.6 | 17.7 | 1.17e7 | 0 |
29/10/2018 | 32.6 | 32.9 | 30.5 | 31 | 16.9 | 1.03e7 | 0 |
30/10/2018 | 30.9 | 33.0 | 30.9 | 32.9 | 17.9 | 7.21e6 | 0 |
31/10/2018 | 33.5 | 34.8 | 33.2 | 34.0 | 18.5 | 7.45e6 | 0 |
01/11/2018 | 34.6 | 35.1 | 34.2 | 34.9 | 19.0 | 3.57e6 | 0 |
02/11/2018 | 34.6 | 34.8 | 32.3 | 32.6 | 17.8 | 4.21e6 | 0 |
05/11/2018 | 33.6 | 35.5 | 33.6 | 35.4 | 19.2 | 4.34e6 | 0 |
06/11/2018 | 34.9 | 35.6 | 34.9 | 35.0 | 19.1 | 3.25e6 | 0 |
07/11/2018 | 35.4 | 35.6 | 32.9 | 34.2 | 18.6 | 5.63e6 | 0 |
08/11/2018 | 33.8 | 35.4 | 33.3 | 34.8 | 18.9 | 8.45e6 | 0 |
09/11/2018 | 34.7 | 37.5 | 34.5 | 35.9 | 19.5 | 1.18e7 | 0 |
12/11/2018 | 36.2 | 36.4 | 34.5 | 34.6 | 18.9 | 6.90e7 | 0 |
13/11/2018 | 18.9 | 21.2 | 18.4 | 18.6 | 18.6 | 3.55e7 | 0 |
14/11/2018 | 18.7 | 19.1 | 16.6 | 17.5 | 17.5 | 2.09e7 | 0 |
15/11/2018 | 17.1 | 17.8 | 16.9 | 17.2 | 17.2 | 1.22e7 | 0 |
16/11/2018 | 17.1 | 17.2 | 16.3 | 16.6 | 16.6 | 1.20e7 | 0 |
Table 3: EQT OHLC prices from AlphaVantage |
We say nearly because although both close and adjusted_close values are correct, we have no info on the kind of adjustment. Indeed, the financial time series are usually adjusted for the dividends and splits but their standard format there is no room for such events!. It shall not be a big problem if you get a "fresh" data from AlphaVantage but if you gather it everyday and put them in your database (as we, ourselves, do) you will have neither proper adjusted_close values, nor can you re-calculate them from close!
Ok, you may think, but how often do suchlike cases take place. Well, definitely not every day but probably more frequently than you think. Here is what we can just quickly recall without googling:
1. Split of METRO GROUP to Metro and Ceconomy stocks.
2. Split of E.On to E.On and Uniper.
3. DWS Spin-off from Deutsche Bank .
4. Issue of Bezigsrechte (Warrants to buy the newly-issued stocks) by Commerzbank
But what does it mean for your models? Well, normally a portfolio optimization model is sensitive to big price movements. So if you neglect the data cleansing then a blunder a-la Reinhart–Rogoff might await you!
How can you mitigate this problem? Well:
1. Do use several sources of data. It is easy to automatically detect the differences between the data sources (which is always good check) and then you can have a closer look, in particular google what has happened with the stock on the date in question.
2. Take en effort to visually screen the data. It might seem tedious (and it is) but not impossible because our brain normally process images much faster than symbols. For example, Vasily Nekrasov has visually checked more than 3000 stocks by his study of volatility clustering and predictability.
3. Check the sensitivity and robustness of you model, calibrating it with and without suspicious outliers.
4. Try to cooperate with other researches by sharing your cleansed dataset (in future we will probably offer an infrastructure for such sharing).
FinViz - an advanced stock screener (both for technical and fundamental traders)