利用R语言打造量化分析平台

时间:2023-09-17 16:06:56

利用R语言打造量化分析平台

具体利用quantmod包实现对股票的量化分析

1.#1.API读取在线行情
2.#加载quantmod包
3.if(!require(quantmod)){
4. install.packages("quantmod")
5.}
6.#获取股票行情指数
7.Quote=function(code){
8. index=match(code,universes)
9. temp=lapply(universes,get)
10. return(temp[[index]])
11.}
12.#基本配置
13.universes<<-c("000001.SZ","QIHU","MOMO")#以陌陌,360,A股的平安银行为例
14.from="2015-01-04"#开始时间
15.to=Sys.Date()#结束时间设为当前日期
16.src="yahoo"#来源雅虎财经
17.
18.#行情加载
19.quantmod::getSymbols(universes,from=from,to=to,src=src)
20.
21.#绘制行情信息
22.quantmod::chartSeries(Quote("MOMO"),up.col='red',dn.col='green',TA="addVo();addADX();addMACD();addSMA(n=10);addBBands(n=14,sd=2,draw=\"bands\")")

利用R语言打造量化分析平台

1.#2.利用CSV读取离线行情
2.#以平安银行为例
3.#加载zoo时间序列包
4.library(zoo)
5.library(quantmod)
6.#配置文件路径
7.filePath='/home/KANO/Rfile/temp.csv'
8.#读取CSV并转化时间格式
9.csv<-read.csv(filePath,header=TRUE,sep=",")
10.csv$LZ_GPA_QUOTE_TCLOSE<-as.POSIXct(as.character(csv$LZ_GPA_QUOTE_TCLOSE),tz="",format="%Y%m%d")
11.#转化为zoo类型
12.temp=read.zoo(csv)
13.#转化为xts类型
14.payh=as.xts(temp[,1]);colnames(payh)="Close"
15.#绘图
16.chartSeries(payh,name="000001.SZ")
17.#添加MACD曲线
18.addMACD()
1.#3.quantmod包指标函数名(使用只需要运行下列函数就能添加相关曲线)
2.#威尔斯怀尔德移动方向指标
3.addADX()
4.#真实波幅
5.addATR()
6.#布林通道
7.addBBands()
8.#布林带宽
9.addBBands()
10.#百分比布林带
11.addBBands()
12.#顺势指标
13.addCCI()
14.#资金流动
15.addCMF()
16.#钱德动量指标
17.addCMO()
18.#双指数移动平均
19.addDEMA()
20.#离势价格偏离指数
21.addDPO()
22.#指数平滑移动平均线
23.addEMA()
24.#价格信封
25.addEnvelope()
26.#指数量权移动平均线
27.addEVWMA()
28.#期权期货到期
29.addExpiry()
30.#异同平均线
31.addMACD()
32.#动量
33.addMomentum()
34.#变动率
35.addROC()
36.#相对强弱指数
37.addRSI()
38.#转折点信号
39.addSAR()
40.#简单移动平均线
41.addSMA()
42.#随机动量指数
43.addSMI()
44.#三重平滑振荡指数
45.addTRIX()
46.#成交量
47.addVo()
48.#加权移动平均法
49.addWMA()
50.#零延迟指数移动平均线
51.addZLEMA()