這是我的問題,從開始到結束的解決方案。
問題:從我的經紀人鑑於記錄(在時間上並不是均勻間隔),把時間序列我旁邊的一個時間序列在S & P的淨資產作比較的R
。
答:
#get S&P data
require(quantmod)
getSymbols("^GSPC", from="2004-01-01", src="yahoo")
head(GSPC)
GSPC.Open GSPC.High GSPC.Low GSPC.Close GSPC.Volume GSPC.Adjusted
2004-01-02 1111.92 1118.85 1105.08 1108.48 1153200000 1108.48
2004-01-05 1108.48 1122.22 1108.48 1122.22 1578200000 1122.22
2004-01-06 1122.22 1124.46 1118.44 1123.67 1494500000 1123.67
發現,有超過日期沒有頭。這是因爲時間序列數據類型將時間值嵌入到排序索引中。 (class(GSPC)
= [1] "xts" "zoo"
其中zoo
是由索引全序數據類型,並xts
是時間序列數據類型容忍多於限制性本地ts
數據類型容忍。)
#coerce the .csv from my broker into a time-series data type as well
MyNetWorth <- read.csv("/home/joey/Desktop/Historical_NAV.csv")
require(xts)
MyNetWorth <- as.xts(MyNetWorth,
order.by= as.Date(MyNetWorth$TradeDate, format="%m/%d/%Y"))
在日期format
有是%Y
('87)和%y
(1987)之間以及在個月和10分鐘之間的很大差異。我的經紀人寫了10/23/2009。
所以我做對了嗎?
> class(MyNetWorth)
[1] "xts" "zoo"
Yessss。
最後,@Joshua Ulrich的建議做那種合併的我想:
comparison <- merge(GSPC$GSPC.Adjusted, MyNetWorth$NetAssets, join="right")
的right join
日期,只在較粗的尺度比較(我的數據總是比雅虎更粗)。
最後,要繪製的結果:
plot(as.zoo(comparison) , screens=c(1,1), col=c("red", "#333333") )
非常感謝大家誰寫的這一切開源軟件—,特別是對那些誰寫短文的人!
哇,我有很多東西要學。我認爲完全有序的對象⊃不規則的時間序列⊃時間序列,+標題,畢竟是一個非常具體的數據類型。即使在2000年年底,開源社區也做了大量的工作,甚至沒有包括錢伯斯等人。感謝您的正確加入提示,那將是另一個狐狸追捕。 – isomorphismes