#
# SGXデータ（全取引時間）
#

#データ読み込み
sgx1 <- read.csv("sgx1.dat",header=F)

#取引時間を8:55(JST)からの経過時間に変換
h <- floor(sgx1[,2] / 100)
m <- sgx1[,2] %% 100
sgx1[,4] <- h * 60 + m - (7*60+55)

#super smootherによる平滑化
smooth_sgx1 <- supsmu(sgx1[,4],sgx1[,3])

#日中季節性の除去
detrend_sgx1 <- sgx1[,3] / smooth_sgx1$y

#
# SGXデータ（大証取引時間）
#

#SGXデータから大証取引時間のデータを抽出
sgx2 <- subset(sgx1,((sgx1[,2] >=  800) & (sgx1[,2] <= 1000)) |
                    ((sgx1[,2] >= 1130) & (sgx1[,2] <= 1410)))
#super smootherによる平滑化
smooth_sgx2 <- supsmu(sgx2[,4],sgx2[,3])

#日中季節性の除去
detrend_sgx2 <- sgx2[,3] / smooth_sgx2$y

#
# 大証データ
#

#データ読み込み
ose <- read.csv("ose.dat",header=F)
#取引時間を8:55(JST)からの経過時間に変換
h <- floor(ose[,2] / 100)
m <- ose[,2] %% 100
ose[,4] <- h * 60 + m - (8*60+55)

#super smootherによる平滑化
smooth_ose <- supsmu(ose[,4],ose[,3])

#日中季節性の除去
detrend_ose <- ose[,3] / smooth_ose$y

#
# csvデータ出力
#
write.table(detrend_sgx1,"detsgx1.csv",row.names=FALSE,col.names=FALSE)
write.table(detrend_sgx2,"detsgx2.csv",row.names=FALSE,col.names=FALSE)
write.table(detrend_ose,"detose.csv",row.names=FALSE,col.names=FALSE)
write.table(cbind(detrend_ose,detrend_sgx2),"detosesgx2.csv",row.names=FALSE,col.names=FALSE)

#
# 日中季節性のグラフ化（postscriptファイル出力）
#
plot(smooth_sgx1$x,smooth_sgx1$y,xlab="trading time",ylab="number of trades",xlim=c(0,390))
plot(smooth_sgx2$x,smooth_sgx2$y,xlab="trading time",ylab="number of trades",xlim=c(0,390))
plot(smooth_ose$x,smooth_ose$y,xlab="trading time",ylab="number of trades",xlim=c(0,390))

