? 《R语言与金融大数据处理》 - quantmod 扩展包(4节课)_牛聚文档

《R语言与金融大数据处理》 - quantmod 扩展包(4节课)

《R语言与金融大数据处理》 - quantmod 扩展包(4节课)
预览:

# 2014-04-20(17.0)

#

# 2014-06-11(24.3) 已在网易博客发布此课程



# quantmod是R平台用于金融建模的扩展包主要功能有:从多个数据源获取历史数据、绘制金融数据图表、在金融数据图表



# 中添加技术指标、计算不同时间尺度的收益率、金融时间序列分析、金融模型拟合与计算等等



# 使用R平台做金融大数据处理几乎必用此扩展软件包



library(quantmod)





## quantmod 第1课 #############################################################################################################

{



getSymbols("^GSPC",from="2010-1-1",to="2014-1-1")

save(GSPC,file="GSPC.RDATA")



getSymbols("MSFT",from="2010-1-1",to="2014-1-1")

save(MSFT,file="MSFT.RDATA")



getSymbols("ORCL",from="2010-1-1",to="2014-1-1")

save(ORCL,file="ORCL.RDATA")



getSymbols("BIDU",from="2010-1-1",to="2014-1-1")

save(BIDU,file="BIDU.RDATA")



getSymbols("AAPL",from="2010-1-1",to="2014-1-1")

save(AAPL,file="AAPL.RDATA")



load("GSPC.RDATA")

load("BIDU.RDATA")

load("AAPL.RDATA")

load("ORCL.RDATA")

load("MSFT.RDATA")



ls()

removeSymbols("AAPL")

ls()



load("AAPL.RDATA")





# 提取时间序列中的指定部分

head(Op(GSPC))

head(Hi(GSPC))

head(Lo(GSPC))

head(Cl(GSPC))

head(Vo(GSPC))

head(Ad(GSPC))





head(GSPC)

tail(GSPC)





# 返回整个时间序列中最早、最晚的一条记录

seriesLo(GSPC)

seriesHi(GSPC)







# 获取市场上涨/下跌序列的逻辑值

head(Cl(GSPC),10)

tail(seriesIncr(Cl(GSPC), thresh=0, diff.=1L),10)

tail(seriesDecr(Cl(GSPC), thresh=0, diff.=1L),10)







# 获取市场持续上涨/下跌序列的逻辑值

tail(seriesAccel(Cl(GSPC)),10)

tail(seriesDecel(Cl(GSPC)),10)







tail(OpCl(GSPC))

tail(ClCl(GSPC))

tail(HiCl(GSPC))

tail(LoCl(GSPC))

tail(LoHi(GSPC))

tail(OpHi(GSPC))

tail(OpLo(GSPC))

tail(OpOp(GSPC))





# 提取OHLCVA数据中的指定部分

tail(HLC(GSPC))

tail(OHLC(GSPC))

tail(OHLCV(GSPC))



}



## quantmod 第2课 #############################################################################################################

{



Stock.Close <- c(102.12,102.62,100.12,103.00,103.87,103.12,105.12)

Close.Dates <- as.Date(c(10660,10661,10662,10665,10666,10667,10668),origin="1970-01-01")

Stock.Close <- zoo(Stock.Close,Close.Dates);



Stock.Close



Next(Stock.Close) # 向前1个时间周期

Next(Stock.Close,k=1) # 同上



# k必须为非负数

Next(Stock.Close,k=-1)





# 合并两个时间序列的数据

# 实战中可以将一些经济指标、技术指标、其他交易品种数据和待分析数据做个合并

merge(Stock.Close,Next(Stock.Close))





# addTA()在现有图形上加入指标、成交量、函数运算结果等信息

# on:绘制图形的窗口

windows()

chartSeries(GSPC,TA=NULL) # 绘制完全干净的数据图

addTA(SMA(Cl(GSPC),n=20), on=1, col="red")







# 将均线绘制在第二个窗口失败

# 关键是TA=NULL测试

windows()

char

第1页/共4页 下一页>尾页