利用Yahoo的金融数据在R上绘制时间序列图

发布时间: 2015-10-20 阅读数: 2162

我最近发现了发布在R Financial Time Series Plotting上的“即时投资组合”。如果你对它不熟悉,那么它很值得你花时间好好看一下。它不仅包含一些基于R的时间序列包(ts,zoo,xts)来绘制复杂投资组合的时间序列例子,而且还提供了有启发意义的和有历史性的远景来说明软件开发过程中的非线性性质。

下面的代码仅读取Yahoo金融上IBM和LinkedIn在2014年8月24日至2015年8月24日期间的股票价格,并给出了收盘价格。

#加载R包
library(ggplot2)
library(xts)
library(dygraphs)  

#从Yahoo金融上获取IBM和LinkedIn的股票数据  
ibm_url <- "http://real-chart.finance.yahoo.com/table.csv?s=IBM&a=07&b=24&c=2010&d=07&e=24&f=2015&g=d&ignore=.csv"  
lnkd_url <- "http://real-chart.finance.yahoo.com/table.csv?s=LNKD&a=07&b=24&c=2010&d=07&e=24&f=2015&g=d&ignore=.csv"  

yahoo.read <- function(url){  
   dat <- read.table(url,header=TRUE,sep=",")
   df <- dat[,c(1,5)]  
   df$Date <- as.Date(as.character(df$Date))  
   return(df)}

ibm  <- yahoo.read(ibm_url)
lnkd <- yahoo.read(lnkd_url)

ggplot(ibm,aes(Date,Close)) + 
  geom_line(aes(color="ibm")) +
  geom_line(data=lnkd,aes(color="lnkd")) +
  labs(color="Legend") +
  scale_colour_manual("", breaks = c("ibm", "lnkd"),
                      values = c("blue", "brown")) +
  ggtitle("Closing Stock Prices: IBM & Linkedin") + 
  theme(plot.title = element_text(lineheight=.7, face="bold"))

下面使用R中的dygraphs包来绘制可交互式的时间序列图。

# 绘制htmlwidget dygraphs
# dygraphs() 函数需要xts时间序列对象  
ibm_xts <- xts(ibm$Close,order.by=ibm$Date,frequency=365)  

stocks <- cbind(ibm_xts,lnkd_xts)

dygraph(stocks,ylab="Close", 
    main="IBM and Linkedin Closing Stock Prices") %>%
 dySeries("..1",label="IBM") %>%
 dySeries("..2",label="LNKD") %>%
 dyOptions(colors = c("blue","brown")) %>%
 dyRangeSelector()

 

本文整理自advanced tips,作者Joseph Rickert。转载请注明本文链接http://www.xueqing.tv/cms/article/53

分享到:
热门文章

REmap发布,用R绘制百度迁徙图

2015年07月23日更新 21043次阅读

学习R语言,一篇文章让你从懵圈到入

2016年05月09日更新 14656次阅读

清华大学教授:大数据时代 统计学依

2015年08月07日更新 11281次阅读

在R中填充缺失数据—mice包

2015年12月31日更新 10705次阅读

精通 R plot—第一部分:颜色

2016年01月20日更新 9497次阅读

非统计学专业的人该如何学习 R 语

2015年07月24日更新 8102次阅读
热门课程

R语言初级课程

2015年02月20日发布 3230名学员

R语言高效数据清理工具包dplyr

2015年08月30日发布 1687名学员

R语言数据分析入门

2016年05月10日发布 1563名学员

如何用R做数据预处理

2016年06月03日发布 1160名学员

全栈数据工程师养成攻略

2016年11月08日发布 1019名学员

R语言大规模数据分析实战

2015年12月17日发布 952名学员
登录 注册