本文仅从进出场的规则入手,将均线交易方法运用到沪市综指上进行回测以检验效果。下述代码仅供参考。
#首先加载两个必要的包
library(quantmod)
library(PerformanceAnalytics)
#从yahoo数据库读取上海综指的价格数据
getSymbols('^SSEC',src='yahoo')
#从中提取收盘价
close=(Cl(SSEC))
#求取5日均价并去除NA值
mv5=na.omit(SMA(close,5))
#利用条件语句判断收盘价是否穿越均线,得到仓位向量
sig=Lag(ifelse(close>mv5,1,-1))
#将收盘价的收益率乘上仓位向量,再去除NA
ret=na.omit(ROC(type='discrete',close)*sig)
#通过累积乘法得到交易的收益率序列
eq=cumprod(1+ret)
plot(eq)
#绘制交易规则的收益图
table.Drawdowns(ret,top=10)
table.DownsideRisk(ret)
charts.PerformanceSummary(ret)
没有评论:
发表评论