4

株式データを取得するためにquantmodパッケージを使用しています。コード

Data = getSymbols('LON:ADN',src="google",auto.assign=FALSE, from = '2011-08-10')

予想どおりxtsになりますが、詳しく調べると、日曜日であった2012-10-21(10月21日)の取引量が示されているため、明らかに誤りです。他のいくつかの日曜日も含まれています。残念ながら、週末を取り巻くエラーにより、残りのデータが整列しなくなったようです。

誰かが以前にquantmodでティッカーをフェッチするのと同様の問題を経験したことがありますか?もしそうなら、彼らはそれらを回避する方法を知っていますか?

ありがとう

4

1 に答える 1

3

コメントで述べたように、これはタイムゾーンの問題のように見えます。おそらくxts関数でのPOSIX日付変換が原因です(この回答を参照)。

Sys.getenv("TZ")が空の文字列である場合、新しいRセッションで問題を再現できます。たとえば、タイムゾーンを任意の有効なタイムゾーン(すべてがテストされているわけではありません)に設定すると、"America/Chicago"予想される日付が生成されます。つまり、日曜日はありません。

新鮮なセッションで(2012年12月16日は日曜日でした):

Sys.getenv("TZ")
# [1] ""

library(quantmod)
Data <- getSymbols('LON:ADN',src="google",auto.assign=FALSE, from = '2011-08-10')
tail(index(Data))
# [1] "2012-12-13" "2012-12-16" "2012-12-17" "2012-12-18" "2012-12-19" "2012-12-20"

次に、タイムゾーンを変更します

Sys.setenv(TZ="America/Chicago")

Data <- getSymbols('LON:ADN',src="google",auto.assign=FALSE, from = '2011-08-10')
tail(index(Data))
# [1] "2012-12-14" "2012-12-17" "2012-12-18" "2012-12-19" "2012-12-20" "2012-12-21"

日曜日はありません。

于 2012-12-22T09:16:49.837 に答える