テクニカル分析 移動平均線

R サンプルデータ:WTI原油価格、カッシング渡し、日次、2013年3月18日から2014年3月18日 oilmaoil
> library(tseries)

> crudeoil <- dataset$oil

> plot(crudeoil,main="Crude Oil:WTI.$/bbl.2013/3/18-2014/3/18",ylab="$/bbl",type="l")

> MA <- function(xxx,short,long,middle){
+ nn <- length(xxx)
+ attributes(xxx)$tsp <- c(1,nn,1)
+ st <- lt <- mt <- c()
+ for(ii in short:nn){
+ if(ii >long){
+ lt[ii] <- mean(xxx[(ii-long+1):ii])
+ }
+ if(ii >middle){
+ mt[ii] <- mean(xxx[(ii-middle+1):ii])
+ }
+ st[ii] <-mean(xxx[(ii-short+1):ii])
+ }
+ M1 <- max(xxx)
+ M2 <- min(xxx)
+ maintitle="Moving Average.Crude Oil:WTI.$/bbl.2013/3/18-2014/3/18"
+ ytitle="$/bbl"
+ xtitle="daily"
+ plot(xxx,xlim=c(1,nn),ylim=c(M2,M1),main=maintitle,ylab=ytitle,xlab=xtitle,type="l")
+ par(new=T)
+ plot(lt,xlim=c(1,nn),ylim=c(M2,M1),main="",ylab="",xlab="",type="l",lwd=2,col=2)
+ par(new=T)
+ plot(mt,xlim=c(1,nn),ylim=c(M2,M1),main="",ylab="",xlab="",type="l",lwd=2,col=3)
+ par(new=T)
+ plot(st,xlim=c(1,nn),ylim=c(M2,M1),main="",ylab="",xlab="",type="l",lwd=3,col=4)
+ print(attributes(xxx))
+ }

> MA(crudeoil,10,75,20)

$tsp
[1]   1 253   1

> 

参考文献 熊谷悦生、舟尾暢男(2008).『Rで学ぶデータマイニング Ⅱシミュレーション編』.オーム社.248pp.アプリケーション R Core Team (2013). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. URL http://www.R-project.org/.