Hi Alpaca community,
I’ve noticed a possible discrepancy with the dividend-adjusted prices from Alpaca for the stock $PFE (Pfizer). It appears the dividend amount might be subtracted twice.
Context:
PFE has a recent dividend ex-date of 2023-07-26 with a value of $0.41. For the date 2023-07-25, the expected adjusted close should be $37.21 (raw close) minus the dividend of $0.41, resulting in $36.80. However, Alpaca’s data indicates an adjusted close of $36.38. This is essentially subtracting the dividend twice. This pattern appears to be consistent for dates prior to 2023-07-25.
Raw Data from Alpaca:
symbol | timestamp | open | high | low | close | volume | trade_count | vwap
-------|---------------------------|-------|-------|--------|-------|-------------|-------------|-----------
PFE | 2023-07-24 04:00:00+00:00 | 37.41 | 37.80 | 37.370 | 37.51 | 19,414,710 | 123,538 | 37.596311
PFE | 2023-07-25 04:00:00+00:00 | 37.40 | 37.72 | 37.045 | 37.06 | 21,862,764 | 120,078 | 37.284072
PFE | 2023-07-26 04:00:00+00:00 | 36.87 | 37.345| 36.760 | 37.21 | 20,983,650 | 123,832 | 37.143291
PFE | 2023-07-27 04:00:00+00:00 | 36.85 | 37.01 | 36.18 | 36.20 | 25,346,304 | 146,050 | 36.413980
Adjusted Data from Alpaca:
symbol | timestamp | open | high | low | close | volume | trade_count | vwap
-------|---------------------------|-------|-------|--------|-------|-------------|-------------|-----------
PFE | 2023-07-24 04:00:00+00:00 | 36.58 | 36.96 | 36.54 | 36.67 | 19,414,710 | 123,538 | 36.760000
PFE | 2023-07-25 04:00:00+00:00 | 36.57 | 36.88 | 36.22 | 36.23 | 21,862,764 | 120,078 | 36.450000
PFE | 2023-07-26 04:00:00+00:00 | 36.05 | 36.51 | 35.94 | 36.38 | 20,983,650 | 123,832 | 36.320000
PFE | 2023-07-27 04:00:00+00:00 | 36.85 | 37.01 | 36.18 | 36.20 | 25,346,304 | 146,050 | 36.413980
Data from Yahoo Finance:
Date | Open | High | Low | Close | Adj Close | Volume
-----------|------------|-----------|-----------|-----------|------------|-------------
2023-07-24 | 37.410000 | 37.799999 | 37.369999 | 37.509998 | 37.096695 | 19,414,700
2023-07-25 | 37.400002 | 37.720001 | 37.049999 | 37.060001 | 36.651657 | 21,771,000
2023-07-26 | 36.869999 | 37.349998 | 36.759998 | 37.209999 | 36.799999 | 20,983,700
2023-07-27 | 36.849998 | 37.009998 | 36.180000 | 36.200001 | 36.200001 | 25,346,300
Has anyone else observed similar discrepancies? Insights or clarifications would be much appreciated!
Thank you!
Edit: the data was fetched using a paper trade account.
Code used:
request_params = StockBarsRequest( symbol_or_symbols=symbol, timeframe=timeframe, start=datetime.fromisoformat(self._validate_datetime(start)), end=datetime.fromisoformat(self._validate_datetime(end)), adjustment=adjustment, ) df = self.client.get_stock_bars(request_params).df