Не скорректированные цены Yahoo на самом деле не являются нескорректированными.
R> head(AAPL)
## AAPL.Open AAPL.High AAPL.Low AAPL.Close AAPL.Volume AAPL.Adjusted
## 2007-01-03 12.32714 12.36857 11.70000 11.97143 309579900 10.36364
## 2007-01-04 12.00714 12.27857 11.97429 12.23714 211815100 10.59366
## 2007-01-05 12.25286 12.31428 12.05714 12.15000 208685400 10.51822
## 2007-01-08 12.28000 12.36143 12.18286 12.21000 199276700 10.57016
## 2007-01-09 12.35000 13.28286 12.16429 13.22429 837324600 11.44823
## 2007-01-10 13.53571 13.97143 13.35000 13.85714 738220000 11.99609
AAPL не торгует (и не проводила) ценами, которые включают доли цента. Итак, ваш расчет не совпадает, потому что вы дважды корректируете разбиение.
Я предполагаю, что Yahoo возвращает данные с поправкой на разбиение, но не дивиденды. И это можно подтвердить, разделив на коэффициент разделения ...
R> head(Cl(AAPL) / ratios[,"Split"])
## AAPL.Close
## 2007-01-03 83.80000
## 2007-01-04 85.66000
## 2007-01-05 85.05000
## 2007-01-08 85.47000
## 2007-01-09 92.57000
## 2007-01-10 96.99999
Эти цены приблизительно соответствуют тому, что вы получаете от других провайдеров. Например, вот что предоставляет tiin go. Вам понадобится (бесплатный) ключ API для загрузки с них данных.
R> head(getSymbols("AAPL", src = "tiingo", api.key = tiingo.key, auto.assign = FALSE))
## AAPL.Open AAPL.High AAPL.Low AAPL.Close AAPL.Volume
## 2007-01-03 86.29 86.58 81.90 83.80 44225700
## 2007-01-04 84.05 85.95 83.82 85.66 30259300
## 2007-01-05 85.77 86.20 84.40 85.05 29812200
## 2007-01-08 85.96 86.53 85.28 85.47 28468100
## 2007-01-09 86.45 92.98 85.15 92.57 119617800
## 2007-01-10 94.75 97.80 93.45 97.00 105460000