星期四, 四月 14, 2011

在R语言中进行简单的交易系统回测

从简单的概念上讲,交易系统是系统交易思维的物化。系统交易思维是一种理念,它体现为在行情判断分析中对价格运动的总体性的观察和时间上的连续性观察,表现为在决策特征中对交易对象、交易资本和交易投资者的这三大要素的全面体现。

本文仅从进出场的规则入手,将均线交易方法运用到沪市综指上进行回测以检验效果。下述代码仅供参考。

#首先加载两个必要的包
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)

没有评论:

发表评论