R语言动量交易策略分析

原创 2016年05月31日 21:41:33

1.动量函数  momentum()


#动量交易策略   Momentum Trading Strategy。
#简单讲就是今天比昨天涨了多少或是低了多少;
#该理论相信,涨了还会涨,跌了继续跌。
#动量计算:p(t)-p(t-n)
#式中,p(t)是第t期的价格。
#p(t-n)是第t-m期的价格
#n是时间间隔
#计算n天的动量

#动量函数  momentum()

函数形式:momentum(x,n=1,na.pad=TRUE)

式中:
x-表示要计算的量,可以是价格或者是成交量。

n-时间跨度参数,默认值是1。

na.pad-计算结果是否包含NA,默认值是TRUE。

以谷歌在2016年至今的股票为例。

n<-1
library(quantmod)
getSymbols("GOOG",src="yahoo",from="2016-01-01", to='2016-05-30') 
#显示一下数据看看
#head(GOOG$GOOG.Close)
Close<-GOOG$GOOG.Close
names(Close)<-"show"     
tail(Close)
GoogleM<-momentum(Close,n,na.pad = TRUE)
tail(GoogleM)


2.动量变化率函数  ROC()


#动量计算:p(t)-p(t-n)
#动量变化率计算:  (p(t)-p(t-n))/p(t-n)
#式中,p(t)是第t期的价格。
#p(t-n)是第t-m期的价格
#n是时间间隔
#计算n天的动量变化率
#ROC(x, n=1,type=c("continuous","discrete"),na.pad=TRUE)
#x,表示价格
#n表示时间跨度
#type有两个可能值。
#type="continuous",计算:ln(p(t)/p(t-n))
#type="discrete",计算:(p(t)-p(t-1))-1
#na.pad表示是否包含NA,默认是值TRUE。

设定n=1,计算一期的股价变化率,编写程序如下:

n<-1
library(quantmod)
getSymbols("GOOG",src="yahoo",from="2016-01-01", to='2016-05-30') 
#显示一下数据看看
#head(GOOG$GOOG.Close)
Close<-GOOG$GOOG.Close
names(Close)<-"show"     
tail(Close)
GoogleM<-ROC(Close,n,type="continuous",na.pad = TRUE)
tail(GoogleM)



3.在K线图下方显示动量变化率

这里以n=5,即5期的股价动量变化为例进行展示。

library(quantmod)
getSymbols("GOOG",src="yahoo",from="2016-01-01", to='2016-05-30') 
chartSeries(GOOG,theme = 'white',name='谷歌',up.col = 'red',dn.col = 'green')
#显示一下数据看看
#head(GOOG$GOOG.Close)
Close<-GOOG$GOOG.Close
names(Close)<-"show"     
tail(Cl(GOOG))
addTA(Cl(GOOG),on=1,col="black",type="l")
addTA(Cl(GOOG),col="black",type="l")
addTA(ROC(Cl(GOOG),n=5,type="discrete",na.pad=TRUE),col=4,type="l")




通常情况下,动量指标的值大于零意味着股票持续上涨,是买入信号;动量指标的值小于零意味着股票持续下跌,是卖出信号。

当然需要跟其他信号结合来进行买入卖出点的评测,从谷歌的动量变化率看不出来明显的买卖点判断。

R语言与机器学习学习笔记

人工神经网络(ANN),简称神经网络,是一种模仿生物神经网络的结构和功能的数学模型或计算模型。神经网络由大量的人工神经元联结进行计算。大多数情况下人工神经网络能在外界信息的基础上改变内部结构,是一种自...
  • sparkR
  • sparkR
  • 2014年08月19日 16:53
  • 1702

五分钟动量交易系统

  • 2015年02月02日 21:51
  • 73KB
  • 下载

5分钟动量交易系统

  • 2014年07月08日 18:53
  • 11.02MB
  • 下载

期权波动率模型及交易策略分析

牛市价差和熊市价差是流行的期权交易策略  A 波动率对期权交易十分重要  股票、期货交易都是方向性交易,投资者希望交易标的按照预判方向走。然而,标的走势并不是单方向的,有时短期波动会成为方向性投资者的...

5分钟动量交易系统

  • 2013年02月14日 21:06
  • 11.36MB
  • 下载

结合量价持仓分析的股指期货日内交易策略

结合量价持仓分析的股指期货日内交易策略   在股票市场中,量价关系是技术面分析的重点之一。在股指期货市场中,由于T+0交易制度,以及期指上市后不同阶段的投机程度不同,股指期货的成交量和价格之...

利用R语言编写量化投资策略

选取一股票,利用R语言进行分析,同时构建通道突破,双均线交叉和MACD策略,进行回测。 library(xts) library(xtsExtra) library(quantmod) lib...

动量策略&反转策略初探sas

MBAlib百科对动量策略和反转策略作了很好的解释: 动量/反向策略是指买入赢家/输家组合,同时卖空输家/赢家组合的交易策略。其主要步骤为:   ①确定目标证券市场作为交易对象的范围。   ②选...

量化分析(6)——K线图、交易量图、动量图、rsi强度图

比起做revit二次开发,搞量化分析入门要容易得多。这里推荐《量化投资以Python为工具》(作者:蔡立耑)这本书,简单易懂,代码里包含了最基本的算法,不用建立在别人的轮子上。以下代码是自己跑过的,应...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:R语言动量交易策略分析
举报原因:
原因补充:

(最多只允许输入30个字)