• 締切済み

統計ソフトのRで為替の分析で、「前日に下がって、その翌日にあがった日」

統計ソフトのRで為替の分析で、「前日に下がって、その翌日にあがった日」を抽出する方法 をしようとしています。 ドル円のデータを10年間分ほど、4本値(始値・終値・高値・安値)をひっぱってきて、それぞれの要素に分けることができました。 たとえば、 a <- read.table("円ドル.txt") #10年間分の4本値 s <- a[,2] #始値 h <- a[,3] #高値 l <- a[,4] #安値 e <- a[,5] #終値 down <- subset(a,s-e>0) # 値を下げた日 up <- subset(a,s-e<0) # 値を上げた日 draw <- subset(a,s-e==0) # 変わらない日 downs <- down[,2] # 下がった日の始値 downh <- down[,3]# 高値 downl <- down[,4]# 安値 downe <- down[,5]# 終値 ups <- up[,2] # あがった日の始値 uph <- up[,3] upl <- up[,4] upe <- up[,5] draws <- draw[,2] # 保ちあいの始値 drawh <- draw[,3] drawl <- draw[,4] drawe <- draw[,5] という感じです。 ここから、まずは、 「前日に下がって、その翌日にあがった日」を抽出したいのですが、、 どのようなプログラミングをすればいいかが、まったくわかりません。 具体的にプログラムを提案していただけないでしょうか? よろしくおねがいします。

みんなの回答

noname#227064
noname#227064
回答No.1

これでは駄目ですかね? (a <- data.frame( date = 1:10, start = c( 7, 9, 1, 7, 4, 2, 5, 4, 9, 8), high = c(10, 11, 5, 9, 12, 7, 9, 8, 13, 9), low = c( 5, 1, 1, 1, 1, 2, 1, 3, 8, 7), end = c( 8, 2, 1, 1, 2, 4, 1, 5, 9, 8))) # テストデータ b <- a[,5]-a[,2] # 終値-始値 c <- b[-c(length(b)-1, length(b))] # 最後の二つのデータを削除 d <- b[-c(1, 2)] # 始めの二つのデータを削除 a[-c(1, length(a)), ][c < 0 & d > 0,] # 前日に下がって、その翌日にあがった日

関連するQ&A

専門家に質問してみよう