触点数字孪生,揭秘它的独特魅力
975
2022-11-07
R语言动量交易策略分析
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<-1library(quantmod)getSymbols("GOOG",src="yahoo",from="2016-01-01", to='2016-05-30') #显示一下数据看看#head(GOOG$GOOG.Close)Close<-GOOG$GOOG.Closenames(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<-1library(quantmod)getSymbols("GOOG",src="yahoo",from="2016-01-01", to='2016-05-30') #显示一下数据看看#head(GOOG$GOOG.Close)Close<-GOOG$GOOG.Closenames(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.Closenames(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")
通常情况下,动量指标的值大于零意味着股票持续上涨,是买入信号;动量指标的值小于零意味着股票持续下跌,是卖出信号。
当然需要跟其他信号结合来进行买入卖出点的评测,从谷歌的动量变化率看不出来明显的买卖点判断。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。