日本時間足の作成
日本時間を8時~15時とする。
3月~10月を夏時間、それ以外を冬時間として、大まかな調整を行った。
時間の分け方については以下を参照。
Intraday patterns in FX returns and order flow
http://www.econ.qmul.ac.uk/papers/doc/wp694.pdf
3月~10月を夏時間、それ以外を冬時間として、大まかな調整を行った。
時間の分け方については以下を参照。
Intraday patterns in FX returns and order flow
http://www.econ.qmul.ac.uk/papers/doc/wp694.pdf
# パッケージの呼び出し
library(quantmod)
# 四本値の抽出
for (i in 1:16) {
temp <- switch(i, AUDJPYH1, AUDUSDH1, CHFJPYH1, EURCHFH1,
EURGBPH1, EURJPYH1, EURUSDH1, GBPCHFH1,
GBPJPYH1, GBPUSDH1, NZDUSDH1, USDCADH1,
USDCHFH1, USDJPYH1, XAGUSDH1, XAUUSDH1
)
temp2 <- temp[.indexhour(temp) >= 2 & .indexhour(temp) < 9 & .indexmon(temp) >= 2 & .indexmon(temp) < 10]
temp3 <- temp[.indexhour(temp) >= 1 & .indexhour(temp) < 8 & !(.indexmon(temp) >= 2 & .indexmon(temp) < 10)]
temp <- rbind(temp2, temp3)
op <- apply.daily(temp[, 1], first)
hi <- apply.daily(temp[, 2], max)
lo <- apply.daily(temp[, 3], min)
cl <- apply.daily(temp[, 4], last)
switch(i, AUDJPYJPY <- merge(op, hi, lo, cl),
AUDUSDJPY <- merge(op, hi, lo, cl),
CHFJPYJPY <- merge(op, hi, lo, cl),
EURCHFJPY <- merge(op, hi, lo, cl),
EURGBPJPY <- merge(op, hi, lo, cl),
EURJPYJPY <- merge(op, hi, lo, cl),
EURUSDJPY <- merge(op, hi, lo, cl),
GBPCHFJPY <- merge(op, hi, lo, cl),
GBPJPYJPY <- merge(op, hi, lo, cl),
GBPUSDJPY <- merge(op, hi, lo, cl),
NZDUSDJPY <- merge(op, hi, lo, cl),
USDCADJPY <- merge(op, hi, lo, cl),
USDCHFJPY <- merge(op, hi, lo, cl),
USDJPYJPY <- merge(op, hi, lo, cl),
XAGUSDJPY <- merge(op, hi, lo, cl),
XAUUSDJPY <- merge(op, hi, lo, cl)
)
}
# Date型への変換
index(AUDJPYJPY) <- as.Date(paste(index(AUDJPYJPY), "%Y/%m/%d"))
index(AUDUSDJPY) <- as.Date(paste(index(AUDUSDJPY), "%Y/%m/%d"))
index(CHFJPYJPY) <- as.Date(paste(index(CHFJPYJPY), "%Y/%m/%d"))
index(EURCHFJPY) <- as.Date(paste(index(EURCHFJPY), "%Y/%m/%d"))
index(EURGBPJPY) <- as.Date(paste(index(EURGBPJPY), "%Y/%m/%d"))
index(EURJPYJPY) <- as.Date(paste(index(EURJPYJPY), "%Y/%m/%d"))
index(EURUSDJPY) <- as.Date(paste(index(EURUSDJPY), "%Y/%m/%d"))
index(GBPCHFJPY) <- as.Date(paste(index(GBPCHFJPY), "%Y/%m/%d"))
index(GBPJPYJPY) <- as.Date(paste(index(GBPJPYJPY), "%Y/%m/%d"))
index(GBPUSDJPY) <- as.Date(paste(index(GBPUSDJPY), "%Y/%m/%d"))
index(NZDUSDJPY) <- as.Date(paste(index(NZDUSDJPY), "%Y/%m/%d"))
index(USDCADJPY) <- as.Date(paste(index(USDCADJPY), "%Y/%m/%d"))
index(USDCHFJPY) <- as.Date(paste(index(USDCHFJPY), "%Y/%m/%d"))
index(USDJPYJPY) <- as.Date(paste(index(USDJPYJPY), "%Y/%m/%d"))
index(XAGUSDJPY) <- as.Date(paste(index(XAGUSDJPY), "%Y/%m/%d"))
index(XAUUSDJPY) <- as.Date(paste(index(XAUUSDJPY), "%Y/%m/%d"))
# データの結合
dataJPY <- merge(AUDJPYJPY, AUDUSDJPY, CHFJPYJPY, EURCHFJPY,
EURGBPJPY, EURJPYJPY, EURUSDJPY, GBPCHFJPY,
GBPJPYJPY, GBPUSDJPY, NZDUSDJPY, USDCADJPY,
USDCHFJPY, USDJPYJPY, XAGUSDJPY, XAUUSDJPY
)
# 列名の変更
colnames(dataJPY) <- c("AUDJPY.Open","AUDJPY.High","AUDJPY.Low","AUDJPY.Close",
"AUDUSD.Open","AUDUSD.High","AUDUSD.Low","AUDUSD.Close",
"CHFJPY.Open","CHFJPY.High","CHFJPY.Low","CHFJPY.Close",
"EURCHF.Open","EURCHF.High","EURCHF.Low","EURCHF.Close",
"EURGBP.Open","EURGBP.High","EURGBP.Low","EURGBP.Close",
"EURJPY.Open","EURJPY.High","EURJPY.Low","EURJPY.Close",
"EURUSD.Open","EURUSD.High","EURUSD.Low","EURUSD.Close",
"GBPCHF.Open","GBPCHF.High","GBPCHF.Low","GBPCHF.Close",
"GBPJPY.Open","GBPJPY.High","GBPJPY.Low","GBPJPY.Close",
"GBPUSD.Open","GBPUSD.High","GBPUSD.Low","GBPUSD.Close",
"NZDUSD.Open","NZDUSD.High","NZDUSD.Low","NZDUSD.Close",
"USDCAD.Open","USDCAD.High","USDCAD.Low","USDCAD.Close",
"USDCHF.Open","USDCHF.High","USDCHF.Low","USDCHF.Close",
"USDJPY.Open","USDJPY.High","USDJPY.Low","USDJPY.Close",
"XAGUSD.Open","XAGUSD.High","XAGUSD.Low","XAGUSD.Close",
"XAUUSD.Open","XAUUSD.High","XAUUSD.Low","XAUUSD.Close"
)
# NAの補間
dataJPY <- na.locf(dataJPY)
# 使用済みオブジェクトの削除
rm(cl, hi, i, lo, op, temp, temp2, temp3)
rm(AUDJPYJPY, AUDUSDJPY, CHFJPYJPY, EURCHFJPY,
EURGBPJPY, EURJPYJPY, EURUSDJPY, GBPCHFJPY,
GBPJPYJPY, GBPUSDJPY, NZDUSDJPY, USDCADJPY,
USDCHFJPY, USDJPYJPY, XAGUSDJPY, XAUUSDJPY
)
# 米国、欧州、日本のすべての時間足を作成してから削除
rm(AUDJPYH1, AUDUSDH1, CHFJPYH1, EURCHFH1,
EURGBPH1, EURJPYH1, EURUSDH1, GBPCHFH1,
GBPJPYH1, GBPUSDH1, NZDUSDH1, USDCADH1,
USDCHFH1, USDJPYH1, XAGUSDH1, XAUUSDH1)