quantmod finance.yahoo调整OHLC的可靠方法

时间:2014-06-28 20:26:59

标签: r finance quantmod

我正在尝试从quantmod包中获取函数getSymbols和adjustOHLC以从finance.yahoo.com检索数据并通过拆分和分红进行调整。不幸的是,它并没有始终如一地发挥作用。我没有尝试通过Adj-column进行调整,因为这会导致精度损失(来自?adjustOHLC的帮助)。

library(quantmod)

symbols <- c("ADP", "GE", "KBH", "MO", "MMM", "MSFT")
from <- "2000-01-01"
to <- "2013-12-31"

# retrieve data and plot unadjusted close price
par (mfrow=c(2,3))
for (i in 1:length(symbols)) {
  getSymbols(symbols[i], from=from, auto.assign=TRUE)
  plot(Cl(get(symbols[i])), main=symbols[i], type="p", pch=20)
}

# adjust for splits and dividends
for (i in 1:length(symbols)) {
  assign (symbols[i], adjustOHLC(get(symbols[i]), 
               adjust=c("split", "dividend"), 
               use.Adjusted=FALSE,
               symbol.name=symbols[i]))
}

# plot adjusted series
for (i in 1:length(symbols)) {
  plot(Cl(get(symbols[i])), main=paste0(symbols[i],".adjusted"), type="p", pch=20)
}
调整之前的

图表

charts before adjustOHLC

调整OHLC 后的

图表

enter image description here

有趣的是,尽管ADP(2007-04-02 4.5625)存在分歧,但时间序列似乎首先进行了调整。像GE这样的其他分裂根本没有调整。股息调整似乎正常。

我在Ubuntu上使用带有R 3.1.0的quantmod_0.4-0。

任何人都可以提出更强大的解决方案吗?

0 个答案:

没有答案