2017-06-25 9 views
5

私はこのコードを毎週使っていますが、今日試してみたところ、OHLとSPYの結果は間違っていました。quantmodを使用するとOpen、High、Lowの価格が間違っているのはなぜですか?

rm(list = ls()) 
options(scipen=999) 
require(quantmod) 
spy<-getSymbols("SPY", src = 'yahoo', from = '2007-05-31', auto.assign = T) 
spy<-cbind(SPY) 
dim(SPY) 
head(SPY) 

This the outcome from Yahoo: 
Date   Open High Low  Close Adj Close* Volume 
May 31, 2007 153.67 153.89 153.12 153.32 123.86 114,866,700 
This is the outcome from the API(using quantmod): 
      SPY.Open SPY.High SPY.Low SPY.Close SPY.Volume SPY.Adjusted 
2007-05-31 190.217 190.489 189.536 153.32 114866700  123.8624 
+0

[a bug](https://github.com/joshuaulrich/quantmod/issues/174)のように見えます。明日はもっと調べるだろう。 –

+0

お元気ですか、あなたの答えは得られましたか?私は同じ問題を抱えていて、3日後にそれを解決する方法がわからない。解決策を教えていただけますか?どうもありがとうございました! – Arthur

答えて

3

これが問題であることを確認しました。 Yahooはスプリット調整されたオープン、ハイ、ロー、調整済みのクローズ価格とロークローズ価格を提供していました。 getSymbolsは、調整済みの終値と終値を使用して、オープン、ハイ、ローの価格の調整を解除しました。

ここでは、Yahooが提供しているように見えますが、調整済みの調整は分割調整と配当調整です。オープン、ハイ、ローの価格はまだスプリット調整されているため、未調整にする必要がありますが、クローズ・トゥ・アジャスト・クローズの比率はもはや使用できません。

+1

ありがとう、@ジョシュア・ウルリッヒ、しかし、私たちはどうして「調整されていない」必要がありますか? – mql4beginner

+0

実現可能なソリューションはありますか? – Arthur

+0

@Arthur:GitHubの開発版では、Yahooからのデータをそのまま返すことでこの問題を修正しています。私はまだいくつかのことに取り組んでいます。 –

関連する問題