我試圖將極值理論的塊最大值(在我的情況下爲最小值)方法應用於財務報告。我每天有30個財務指數存儲在一個名爲'Returns'的csv文件中。我通過加載數據提取最小值返回
Returns<-read.csv("Returns.csv", header=TRUE)
然後我提取在等於長度(即,5天)對每個索引我在我的「Returns.csv」文件的連續的不重疊的塊的最小返回開始。爲此,我做了以下
for (xx in Returns) #Obtain the minima.
{
rows<-length(xx) #This is the number of returns
m<-5 #When m<-5 we obtain weekly minima. Change accordingly (e.g., 20)
k<-rows/m #This is the number of blocks (i.e., number of returns/size of block),
bm<-rep(0,k) #which is also the number of extremes
for(i in 1:k){bm[i]<-min(xx[((i-1)*m+1):(i*m)])}
#Store the minima in a file 'minima.csv'
write.table(bm,file="minima.csv", append=TRUE, row.names=FALSE, col.names=FALSE)
代碼提取所有指數最小值返回正確的,但是當最小值存儲在文件「minima.csv」他們都出現在同一列(附加)。 我想要的代碼是讀取文件'Returns.csv'的第一列中包含的財務回報,提取連續的非重疊的等長(即5天)塊的最小回報並將它們存儲在文件'minima.csv'的第一列中。然後對文件'Returns.csv'的第二列中包含的財務回報執行完全相同的操作,並將最小值返回存儲在文件'minima.csv'的第二列中,依此類推,直到達到第30列。
請將您'Returns'數據('到你的問題複製和粘貼dput的'輸出(返回))的樣品。 – nrussell 2015-04-03 15:33:53
感謝您及時回覆nrussell。我有成千上萬的數據點。我不確定這是不是你的意思,但這裏是: – Kostas 2015-04-03 19:59:13
我在我的問題中添加了一個小樣本。對不起,如果這不是你的意思。我本來可以上傳文件的方式。非常感謝 – Kostas 2015-04-03 20:08:56