2016-05-27 145 views
0

我想從僅具有每日價值的時間序列中獲取有關數週數據的統計數據。有人可以解釋如何正確地將每週值傳遞給ddply(或使用其他方法)以獲得類似於下面的輸出?從外匯數據獲取OHLC格式

library(quantmod) 
symbols<-c("USD/EUR") 
data<-getSymbols(symbols, src="oanda",index.class="POSIXct",env=NULL) 
symbols<-gsub("/","",symbols) 
data<-as.data.frame(data) 
weekly.data<-as.Date(cut(as.Date(rownames(data)),breaks = "week")) 
library(plyr) 
ddply(weekly.data, .(weekly.data), function(x)paste0(x)) 

> head(data,14) 
      USD.EUR 
2015-01-14 0.8489 
2015-01-15 0.8535 
2015-01-16 0.8621 
2015-01-17 0.8645 
2015-01-18 0.8645 
2015-01-19 0.8630 
2015-01-20 0.8635 
2015-01-21 0.8639 
2015-01-22 0.8658 
2015-01-23 0.8855 
2015-01-24 0.8923 
2015-01-25 0.8923 
2015-01-26 0.8913 
2015-01-27 0.8855 

目標,第一個完整週(19日至25日週一至週日):

  Open High Low Close 
2015-01-19 0.8630 0.8923 0.8630 0.8923 

注:

  • 日期是星期幾(總是星期一)的第一天
  • 一週爲7天(週一至週日)
  • 開盤價是本週第一天的價格
  • 高是一週的最高價
  • 低是一週
  • 關閉的最低價格是一週

回答

0

權的最後價格,我張貼了這個後,我找到了答案。我所要做的就是使用quantmod軟件包中的to.weekly(data)

+0

這很好,你解決了你的問題。但外匯O/C價格很難以一致的方式定義。外匯對在全球範圍內進行交易,不同於主要股票和商品市場,它們有明確的開放和關閉時間,外匯利率在幾個時區幾乎全天候交易。 – RHertel