2

たとえば、次のようにフォーマットされた時系列から、毎日 09:04:00 の価格を抽出したいとします。

DateTime            | Price
2011-04-09 09:01:00 | 100.00
2011-04-09 09:02:00 | 100.10
2011-04-09 09:03:00 | 100.13

(注: 実際のデータには | はありません。DateTime がインデックスで Price がコアデータであり、xts オブジェクト内で 2 つが異なることを示すためにここに含めただけです)

これらの抽出された値を xts ベクトルに入れます...これを行う最も効率的な方法は何ですか?

また、国境を越えたスプレッドの 5 年間の時系列がある場合、時差のために、スプレッドは 1 年の異なる時間に開きます (たとえば、冬は午前 9 時、夏は午前 10 時)。これらの時差を考慮して、午前 9 時から 16:30 または午前 10 時から 16:30 のいずれかを同じ「日」間隔として認識します。

つまり、日中の 1m ティック データ ファイルを日次 OHLC データに変換したいと考えています。通常、これを行うには xts と to.period を使用しますが、上記の時差を考えると、奇妙な/奇妙な日の開始/終了時刻が表示されます

どんなアドバイスでも大歓迎です!

4

1 に答える 1

3

xts サブセットで "T" プレフィックスを使用して、各日の時間間隔を指定できます。間隔を指定する必要があります。1 回では機能しません。

set.seed(21)
x <- xts(cumprod(1+rnorm(2*60*24)/100),
  as.POSIXct("2011-04-09 09:01:00")+60*(1:(2*60*24)))
x["T09:01:59/T09:02:01"]
#                          [,1]
# 2011-04-09 09:02:00 0.9980737
# 2011-04-10 09:02:00 1.0778835
于 2011-04-09T12:38:09.247 に答える