こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

統計ソフトの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]

という感じです。

ここから、まずは、
「前日に下がって、その翌日にあがった日」を抽出したいのですが、、
どのようなプログラミングをすればいいかが、まったくわかりません。

具体的にプログラムを提案していただけないでしょうか?
よろしくおねがいします。

投稿日時 - 2010-10-28 13:43:01

QNo.6280957

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(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,] # 前日に下がって、その翌日にあがった日

投稿日時 - 2010-10-28 21:41:12

あなたにオススメの質問