这是我的问题,从开始到结束的解决方案。
问题:从我的经纪人鉴于记录(在时间上并不是均匀间隔),把时间序列我旁边的一个时间序列在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