XXXZZZ.csv という名前の通貨ペアの OHLC (始値 - 高値 - 安値 - 終値) と出来高データ (DD.MM.YYYY HH:mm 形式の時間別データ) を含む csv ファイル:
Date;Open;High;Low;Close;Volume
02.01.2009 07:00;1,5326;1,539785;1,52896;1,5369;1083497,742
02.01.2009 08:00;1,5375;1,5379;1,53105;1,537;1191678,162
quantstrat パッケージをロードして初期化します。
library(quantstrat)
Sys.setenv(TZ="UTC")
currency(c('XXX', 'ZZZ'))
exchange_rate('XXXZZZ', tick_size=0.0001)
read.zoo を使用して csv ファイルを読み取りました (quantmod::getSymbols を機能させることができなかったため)。
XXXZZZ <- as.xts(read.zoo("XXXZZZ.csv", sep=';', tz='', header=TRUE,
format='%d.%m.%Y %H:%M',
index.column = 1
)
)
これにより、インデックス列が日付列で、他の 5 つの列が OHLC とボリュームである "xts" & "zoo" オブジェクトが生成されます。
chart_Series(XXXZZZ)
結果:
Error in chart_Series(XXXZZZ) : 'x' must be a time-series object
では、XXXZZZ を操作して時系列オブジェクトにするにはどうすればよいでしょうか。違うとすれば、時間単位のデータだけでなく、1秒単位から月単位のデータまで答えられますか?
提案 1: 小数点記号をカンマからドットに変更しても、問題は解決しません。
XXXZZZ <- gsub(",",".",XXXZZZ)