R語言動量交易策略分析
來源:程序員人生 發布時間:2016-06-14 09:54:22 閱讀次數:5358次
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<⑴
library(quantmod)
getSymbols("GOOG",src="yahoo",from="2016-01-01", to='2016-05⑶0')
#顯示1下數據看看
#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⑴))⑴
#na.pad表示是不是包括NA,默許是值TRUE。
設定n=1,計算1期的股價變化率,編寫程序以下:
n<⑴
library(quantmod)
getSymbols("GOOG",src="yahoo",from="2016-01-01", to='2016-05⑶0')
#顯示1下數據看看
#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⑶0')
chartSeries(GOOG,theme = 'white',name='谷歌',up.col = 'red',dn.col = 'green')
#顯示1下數據看看
#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")
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈