我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:正版王中王 > 仿真程序 >

程序化交易模型的仿真运行

归档日期:05-09       文本归类:仿真程序      文章编辑:爱尚语录

  所谓信号闪烁,是指模型在图表上显示的买卖信号时而出现时而消失。出现这种情况,说明模型的策略在判断买卖交易的条件中使用了未来函数。

  所谓未来函数,是指可能引用未来数据的函数,即引用或利用当时还没有发生的数据,对之前发出的判断进行修正的函数。具体地说,就是本周期结束后显示的指标值(包括线段和买卖提示信号),可能在发生新的数据后改变位置或者干脆消失。对于未来函数可以理解为某一变量依赖另一变量而先期变化。如变量A和变量B,B变化使得A也变化,那么A是B的函数,但如果B是稍后的变量,而A是稍早的变量,A跟着B变化,则A是B的未来函数。其中有三类函数属于未来函数:一是以之字转向为代表的ZIG类函数;二是准未来函数类;三是使用跨周期数据函数类,这是一种最为隐蔽的方法,它的危害性很大。

  比如,一个策略定义为日K线收盘价大于均线时买入,反之卖出。由于日K线的收盘价在当天交易结束前表现为最新价,它随着行情的变动而变化,盘中的日收盘价以及由此计算出来的均线价格也会变动,当最新价离均线价格非常近时,就会出现盘中的日收盘价忽而高于均线价格,忽而低于均线价格,从而交易模型就会在图表上一会儿发出买进信号,一会儿买进信号消失出现卖出信号,反复交替,即出现信号闪烁现象。

  信号闪烁反复的问题会对模型设计人员造成极大的困惑,模型策略中一旦使用了未来函数而出现信号闪烁,则实盘中模型会不断地开平仓。但在用历史数据测试时,只会有一次信号出现,导致实盘交易结果和测试结果会有很大差异。很多模型在测试时表现很好,真正拿到实盘上运行就让人大跌眼镜,这就是买卖信号出现反复所引起的。

  二是使正在变动的未来函数变成已经不再变动的完成函数。由于未来函数有时间周期,有些指标在一个短的周期内可能是未来函数,但在稍长的周期内就不是未来函数。例如,收盘价在一天收市前都是不确定的,所以对于一个日周期的指标在分时周期内具有未来函数特征,但是一旦收盘该指标就是定值,不会随明日及以后的行情而变动,所以该指标在大于一日的周期中就不是未来函数。

  所谓偷价行为是指在开平仓的时候使用了当时已不存在的进出场条件。比如,模型策略规定,如果最高价大于某个固定价位即以开盘价买入,如此虽然信号不会闪烁,但是最高价大于某个价位时,价格已经高于开盘价一定距离了,这时用开盘价买入是做不到的。但是在用历史数据进行模型测试时,图表上是有买入信号存在的。

  有一些偷价行为很隐蔽,还是以最高价大于某个固定价格买入策略为例,如果用此策略作为模型进场买入信号,看起来没有什么问题,但如果行情出现一开盘就跳空高于固定价格的情形,模型就不可能再以这个固定价格买到了。此时,模型的交易策略应改为,用开盘价与固定价格之中的最大值作为买入价格,如此就能避免偷价行为的发生。

  衡量程序化交易模型最重要风险指标包括最大回撤、夏普比率等。由于历史事件与未来将要发生的行情事件,在原因上和波动程度上存在差异,所以,用实盘进行检验模型在各种复杂环境下的风控表现能力,以判断模型在一些风险指标上的波动范围是否与历史测试数据有较大偏差,如果出现偏差,则寻找原因并加以修正。

  与此同时,要通过实盘运行发现模型交易策略中的缺陷和不足,并进行优化。比如,对不同的期货标的行情进行仿真运行,可以发现模型使用的交易策略在不同标的行情中的适用性。也许模型对农产品(如大豆)适用于日线交易,但在股指期货中却适用于分钟行情。再比如,模型中所用到的一些周期性指标(KD、RSI、MACD等),采用不同的时间参数得到的买卖信号效果是不同的。所以,寻找并调整交易策略中的最佳公式参数,也是对交易模型策略优化的一项重要工作。

  经过一段时间的仿真运行(短则一个月,长则半年或数年),从不断发现问题到返回模型的策略设计步骤进行修改(有时候问题如果比较严重,还可能需要推翻模型,重新设计),再测试,再运行,循环往复,直至模型功能逐步稳定后,才能真正开始投入实盘交易。但即使是投入实盘交易,模型也还是会被不断地修正和完善,以建立更客观、更有效的程序化交易系统,实现真正的商业价值。

  下面以“海龟交易法则”编制成的程序化交易模型为例,展现整个程序化交易模型设计、测试、运行的全过程。

  在金融界,流传着一个著名的故事。1983年,美国期货界的两个挚友——理查德·丹尼斯与威廉·埃克哈特之间就一个问题产生了分歧:伟大的期货交易者究竟是天生的,还是可以后天培养的?他们就这个问题进行了一场辩论,并为寻找答案进行了一场试验,这就是著名的“海龟交易试验”。丹尼斯和埃克哈特在1000个报名者中甄选了13个“海龟”,并用两周时间给他们传授了交易理念和法则。在随后的四年中,海龟们凭借这些交易法则取得了年均80%的收益。

  假设以股指期货作为测试标的(也可以用别的期货品种作为测试标的),将上述编好程序的模型加载到股指期货指数IF000图中,并设置好相关的测试参数(见模型测试参数设置示意图)。测试用的初始资金设置为1000万元;测试数据选取股指期货从2010年4月16日挂牌至模型测试日期间的全部日线数据;手续费设置为万分之零点五;滑点设置为1跳(0.2点);启动测试按钮。

  海龟交易模型对沪深300股指期货指数的交易测试结果中有几个重要的测试指标:年化收益率为39.82%,相当不错;单日最大资产回撤比率仅有3.89%;只是夏普比率偏低,仅有0.0363;总盈亏比为1.61;平均盈亏比为1.83,略显一般。说明该模型虽然是一个赚钱的模型,但还有一些值得改进之处。

本文链接:http://merlejacobs.com/fangzhenchengxu/290.html