-4

コマンドを使用して、オブジェクトをテキスト ファイルに保存しようとしていますwrite.table(ESH2, "c:/ESH2.txt", sep=",")。問題は、保存された時系列に、ダウンロードした日付と時刻の値が含まれていないことです。パッケージtwsInstrumentとコマンドgetBAT(ESH2)を使用しました

コマンドでRにロードしたときに持っているデータload(file = "C:/ESH2.Rdata")

               ES.Bid.Price ES.Ask.Price ES.Trade.Price ES.Mid.Price ES.Volume
1323700200        1237.25        1237.50        1237.50     1237.375      6954
1324057980        1210.25        1210.50        1210.25     1210.375      3792
1324058040        1210.50        1211.00        1211.00     1210.750      3305
.........
.........
.........
1324058100           NA           NA             NA           NA         823

attr(,".indexCLASS")
[1] POSIXct POSIXt 
attr(,".indexTZ")
[1] 
attr(,"from")
[1] 20111211  23:59:59
attr(,"to")
[1] 20111216  23:59:59
attr(,"src")
[1] IB
attr(,"updated")
[1] "2011-12-16 18:54:55 CET"

最初の列には、 1323700200ではなく Date_Time が表示されます。

週に 1 回データをダウンロードしてデータをマージする簡単な方法を探しています。

psはい、これを達成するためにチュートリアル/本を読むことができます。はい、そうしますが、問題は時間がないことです。インタラクティブブローカーがデータリクエストを制限しているため、今週データの収集を開始したいと思います1min data = 5DAYS maximum。助けや提案に感謝します。

4

2 に答える 2

5

おそらく xts または Zoo オブジェクトがあり、write.zoo関数を使用する必要があります。「ESH2」オブジェクトの構造について私が正しい場合、「最初の列」と呼んでいるデータは実際には行名であり、zoo/xts の用語では「インデックス」であり、データは次の方法でアクセスできますcoredata。行列オブジェクトです。

read/write.zoo ページの例から:

Lines <- "CVX 20070201 9 30 51 73.25 81400 0
CVX 20070201 9 30 51 73.25 100 0
CVX 20070201 9 30 51 73.25 100 0
CVX 20070201 9 30 51 73.25 300 0
CVX 20070201 9 30 51 73.25 81400 0
CVX 20070201 9 40 51 73.25 100 0
CVX 20070201 9 40 52 73.25 100 0
CVX 20070201 9 40 53 73.25 300 0"

z <- read.zoo(textConnection(Lines), 
    colClasses = c("NULL", "NULL", "numeric", "numeric", "numeric", "numeric",
        "numeric", "NULL"), 
    col.names = c("Symbol", "Date", "Hour", "Minute", "Second", "Price", 
        "Volume", "junk"),
    index = 1:3,  # do not count columns that are "NULL" in colClasses
    FUN = function(h, m, s) times(paste(h, m, s, sep = ":")),
    FUN2 = function(tt) trunc(tt, "00:00:05"),
    aggregate = mean)
# The only material I added.
write.zoo(z)
"Index" "Price" "Volume"
09:30:50 73.25 32660
09:40:50 73.25 166.666666666667
于 2011-12-16T19:24:13.837 に答える
1

唯一の目標がオブジェクトを保存して、将来 R から再度アクセスできるようにすることである場合は、次を使用します。

save(ESH2, file = "C:/ESH2.Rdata") # or whatever you want to call the saved file

あなたのためにそれをします。load を使用して、後でオブジェクトを元に戻すことができます。

load(file = "C:/ESH2.Rdata")

ただし、コメントに記載されているように、write.table または write.csv ソリューションを機能させるためのヘルプが必要な場合は、さらに情報を提供する必要があります。

于 2011-12-16T19:02:07.510 に答える