先行指標を使った戦略②

相関係数+フィルター

通貨ペア:EURUSD
先行指標:GSPC
期間:1999年1月1日~2013年11月22日
ルール①:前日のEURUSDの終値変化率と前々日のGSPCの終値変化率が正相関、かつ相関係数の絶対値が閾値以上の場合、前日のGSPCの終値変化率がプラスならEURUSDを買い、前日のGSPCの終値変化率がマイナスならEURUSDを売り。
ルール②:前日のEURUSDの終値変化率と前々日のGSPCの終値変化率が逆相関、かつ相関係数の絶対値が閾値以上の場合、前日のGSPCの終値変化率がマイナスならEURUSDを買い、前日のGSPCの終値変化率がプラスならEURUSDを売り。
ルール③:ポジションは当日終値で決済。
備考①:約定価格は前日終値。
備考②:1ユニット当たりの損益はリターン((当日終値-前日終値)/前日終値*100)で計算。
備考③:コストは考慮していない。
備考④:パラメータとして相関係数の計算期間は5~250まで5刻み、閾値は0.01から0.2まで0.01刻みとし、50*20で計1000回のバックテストを行う。

# パッケージの呼び出し
library(quantmod)
# 開始日
s_date = as.Date("1999-01-01")
# 終了日
e_date = as.Date("2013-11-22")
# 銘柄の終値
y <- data$EURUSD.Close
# 銘柄の変化率
deltay <- diff(y,lag=1)/lag(y,k=1)*100
# 指標の終値
x <- data$GSPC.Close
# 指標の変化率
deltax <- diff(x,lag=1)/lag(x,k=1)*100
# 銘柄の変化率と1期前の指標の変化率の統合
yx <- merge(deltay,lag(deltax,k=1))
# 結果を記録する行列を作成
result <- matrix(0,nrow=1000,ncol=4)
colnames(result) <- c("lookback","threshold","cumret","r2")
# バックテスト
for(i in 1:50) {
lookback <- 5*i
for(j in 1:20) {
yx.cor <- rollapply(yx,lookback,cor,by.column=FALSE)[,2]
threshold <- (j-1)/100
long <- yx.cor*deltax>=0 & abs(yx.cor)>=threshold
short <- yx.cor*deltax<0 & abs(yx.cor)>=threshold
pos <- long-short
ret <- deltay*lag(pos,l=1)
cumret <- cumsum(window(ret,start=s_date,end=e_date))
r2 <- cor(cumret,1:length(cumret))^2
result[(i-1)*20+j,1] <- 5*i
result[(i-1)*20+j,2] <- (j-1)/100
result[(i-1)*20+j,3] <- last(cumret)
result[(i-1)*20+j,4] <- r2
}
}
# 利益の上位を表示
head(result[sort.list(result[,3],decreasing=TRUE),])

lookback threshold cumret r2
[1,] 80 0.00 266.2802 0.9884018
[2,] 75 0.00 260.9770 0.9794737
[3,] 80 0.01 259.9932 0.9865517
[4,] 85 0.03 258.1529 0.9857038
[5,] 85 0.02 257.9337 0.9839767
[6,] 90 0.02 257.5618 0.9807315
# R2の上位を表示
head(result[sort.list(result[,4],decreasing=TRUE),])

lookback threshold cumret r2
[1,] 80 0.00 266.2802 0.9884018
[2,] 30 0.00 229.5181 0.9877318
[3,] 30 0.03 210.9835 0.9872467
[4,] 30 0.04 211.2310 0.9868069
[5,] 80 0.01 259.9932 0.9865517
[6,] 85 0.03 258.1529 0.9857038

コメントの投稿

非公開コメント

プロフィール

Author:fxst24
自分用のノートとして作っていますが、同学の方々の参考になれば幸いです。
記事はことわりなく修正、削除、非公開にすることがあります。

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
QRコード
QR