利用R语言打造量化分析平台
利用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\")")
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()
利用R语言打造量化分析平台的更多相关文章
- R语言重要数据集分析研究——需要整理分析阐明理念
1.R语言重要数据集分析研究需要整理分析阐明理念? 上一节讲了R语言作图,本节来讲讲当你拿到一个数据集的时候如何下手分析,数据分析的第一步,探索性数据分析. 统计量,即统计学里面关注的数据集的几个指标 ...
- R语言- 实验报告 - 利用R语言脚本与Java相互调用
一. 实训内容 利用R语言对Java项目程序进行调用,本实验包括利用R语言对java的.java文件进行编译和执行输出. 在Java中调用R语言程序.本实验通过eclipse编写Java程序的方式,调 ...
- linux下利用elk+redis 搭建日志分析平台教程
linux下利用elk+redis 搭建日志分析平台教程 http://www.alliedjeep.com/18084.htm elk 日志分析+redis数据库可以创建一个不错的日志分析平台了 ...
- 利用R语言进行交互数据可视化(转)
上周在中国R语言大会北京会场上,给大家分享了如何利用R语言交互数据可视化.现场同学对这块内容颇有兴趣,故今天把一些常用的交互可视化的R包搬出来与大家分享. rCharts包 说起R语言的交互包,第一个 ...
- 利用R语言制作出漂亮的交互数据可视化
利用R语言制作出漂亮的交互数据可视化 利用R语言也可以制作出漂亮的交互数据可视化,下面和大家分享一些常用的交互可视化的R包. rCharts包 说起R语言的交互包,第一个想到的应该就是rCharts包 ...
- R语言重要数据集分析研究——R语言数据集的字段含义
R语言数据集的字段含义 作者:马文敏 选择一种数据结构来储存数据 将数据输入或导入到这个数据结构中 数据集的概念 数据集通常是有数据结构的一个矩形数组,行表示规则,列表示变量. 不同的行业对数据集的行 ...
- R语言做相关性分析
衡量随机变量相关性的方法主要有三种:pearson相关系数,spearman相关系数,kendall相关系数: 1. pearson相关系数,亦即皮尔逊相关系数 pearson相关系数用来 ...
- R语言重要数据集分析研究—— 数据集本身的分析技巧
数据集本身的分析技巧 作者:王立敏 文章来源:网络 1.数据集 数据集,又称为资料集.数据集合或资料集合,是一种由数据所组成的集合. Data set(或dat ...
- R语言-离职率分析
案例:员工流失是困扰企业的关键因素之一,在这次的分析中我将分析以下内容: 对一些重要变量进行可视化及探索分析,收入,晋升,满意度,绩效,是否加班等方面进行单变量分析 分析员工流失的因素,探索各个变量的 ...
随机推荐
- cisco asa5520 IOS故障恢复
在ASA5520上误删除了IOS 把一台电脑IP 设置成192.168.2.2 255.255.255.0 把IOS的BIN文件复制到这台电脑上,并安装一个CISCO TFTP SERVER V1.1 ...
- K - Digital Roots(第二季水)
Description The digital root of a positive integer is found by summing the digits of the integer. If ...
- webpy + nginx + fastcgi 构建python应用
1.准备环境 CentOs 6.3 nginx-1.4.2.tar.gz http://nginx.org/download/nginx-1.4.2.tar.gz openss ...
- 纯CSS3技术 加载中
你能相信吗?这些都是由一个DIV元素实现的动画,纯CSS3技术 html <div class="loader">加载中...</div> css: 图( ...
- 国内好用的公用DNS 服务器。
阿里 AliDNS 223.5.5.5 223.6.6.6 CNNIC SDNS 1.2.4.8 210.2.4.8 Google DNS 8.8.8.8 8.8.4.4 OpenDNS 208.67 ...
- MFC 遍历FTP服务器目录中文乱码问题
在编写FTP客户端的时候我用的是server u来做我的测试服务器,而server u 默认使用utf-8作为默认字符集,vs则使用unicode作为默认字符集,所以会产生乱码,将server u的默 ...
- winform,wpf全屏 还显示任务栏的解决方法
原文:winform,wpf全屏 还显示任务栏的解决方法 以wpf为例: 全屏代码: this.Topmost = true; this.WindowStyle = System.Windows.Wi ...
- 设置edittext的hint位置
<EditText android:id="@+id/edt_content" android:layout_width="fill_parent" an ...
- java中内存结构及堆栈详解
一. java内存结构 1. Heap(堆):实例分配的地方,通过-Xms与-Xmx来设置 2. MethodArea(方法区域):类的信息及静态变量. 对应是Permanet Generation, ...
- javascript中对条件推断语句的优化
无论写什么程序,平时都会用到条件语句,如:if...else... switch这种语句,来达到对条件的推断. 以下看来一段代码: function abc(test){ if (test == 1) ...