分享

量化易策略模型的上架标准和如何正确选用

 cntagu 2015-07-28

投资者不可既当运动员又当裁判员

  所谓程序化交易,就是所有的规则都已提前制定好,什么情况下买入卖出,什么时候做空做多,投资者只要严格按照规则执行就可以。这就好比使用傻瓜相机一般,不用调节镜头,不用调节快门速度,直接摁下拍摄键就行。

程序化交易追求的是长期稳健的获利,并达到财富累积的复利效果。经过长时间操作,年平均收益率可保持在一个比较平稳的水平之上。

  一个程序的开发需要经过多次测试,进行多次长期的模拟操盘试验,来保证程序本身是正确的。而接下来的一步就是执行,如何执行关系到整个程序化交易的成败。程序化交易中,程序制定者和执行者的分工尤为重要。投资者在交易中不能既当运动员又当裁判员。

“一个成功的程序开发出来了并不是成功的关键,最关键的是在交易中能否按照程序执行。程序化交易的优势就是排除人为情感因素,消除交易时人性的恐惧、贪婪、迟疑及赌性等情绪,克服人性的弱点和障碍,保证交易严守既定的规则进行。

  多品种交易,追求风险最小化

  期货市场风险大,操作中风险控制意识必须要强。在投资品种选择上,要有自己的原则。

“交易必须是多品种交易,品种之间的相关性不能太强,这么做的理由是能分散风险。市场行情一般是一个品种涨,相关品种会跟着涨。如果交易的品种相关性太强,风险也会增大。”一般在操作中会各个品种都选一些,例如化工类、农产品(000061,股吧)、金属类的组合选择。程序化交易追求的是稳定的投资收益,并不是“一夜暴富”。另外,最好要挑交易量大的品种交易,市场活跃度会相对强一点,随时可卖出;交易量太小的品种进场容易出场会有点难,尤其是交易额比较大的单子。

除此之外,好的交易模型也很关键。

操盘手们都说量化易的审核太过严格,基本上提交的大多数策略都通不过,想问下是什么原因。是的,除了交易手续费和滑点设置较高外,我们量化易还有几个基础的测试标准。接下来给大家分享下。

测试参数的设置

  测试参数设置的不同所得到的测试结果差异很大,客观设置测试参数关系到模型交易效果的真伪和对模型的最终取舍。模型的测试结果对未来市场有多大的适用性是由以下三大要素决定的:

一是测试的品种数量。所测试的期货品种越多,越能检验出模型对不同品种的适用性。

二是测试的时间跨度。测试所采用的历史数据越多、时间跨度越长,测试涵盖的各种市场状况就越全面,模型的可靠性就越大。

三是交易成本费率的设置。除了手续费费率设置的高低会影响模型盈亏效果以外,另一个最重要的设置参数就是滑点问题。

  所谓滑点,是指下单价与实际成交价之间的差价。在期货市场,滑点的产生大部分是因为行情波动剧烈,导致网络数据传输延迟。

  与手续费率相比,交易过程中的滑点成本不是固定的,在行情波动不剧烈时交易,可能没有滑点问题,而在行情剧烈波动时,交易常常会遇到滑点问题。

  交易成本对模型效果的影响,还与模型使用的数据周期以及交易频率有关。通常而言,加载周期越短、交易频率越高的模型,交易成本对其使用效果的影响越大。在模型测试中,往往需要设置一定的手续费率以及滑点成本去还原历史运行中可能出现的交易成本。尤其是套利及高频模型对成本极端敏感,模型开发者往往需要根据实际运行的滑点统计数据设定合理的成本。为保证模型测试结果的可信度,设置模型的测试参数时,应该将滑点设置的高一点,通常为1跳或2跳,以保证是在扣除了足够交易成本的条件下得到的测试结果。如果即便是在手续费费率和滑点设置都较高的情况下模型仍能盈利,则说明该模型的盈利效果比较好。评价交易模型性能优劣的指标体系包含很多测试项目,但主要评价指标有年化收益率、最大资产回撤、收益风险比、夏普比率、胜率与盈亏比等。

 年化收益率与最大资产回撤

 交易者最关心的是所建模型到底能不能赚钱,能赚多少?而衡量交易模型赚赔的多少和快慢通常是用年化收益率表示。年化收益率仅是把不同时间周期段的收益率(如日收益率、周收益率、月收益率)换算成年收益率来计算的,是一种理论收益率,并不是真正的已取得的收益率。程序化交易中的年化收益率其计算公式为:年化收益率=有效收益率/(总交易的天数/365);有效收益率=净利润/最大使用资金。例如某交易模型在五个交易日内三天赚两天赔,一共取得的有效收益率是0.1%,则该模型的年化收益率是7.3%。该指标主要是为建模者提供比较直观的盈亏数据,供投资者在将该模型收益与其他投资收益做比较时参考。

任何一个交易模型都不可能保证每次交易都是盈利的。出现亏损是正常的,但如果亏损幅度过大则会引发模型使用者的担心。尤其是如果模型辛辛苦苦赚了许多天,一天就亏的回到使用前,那表明模型存在重大风险隐患。于是使用“最大资产回撤”指标,来衡量模型在一段较长时段周期内可能面临的最大亏损。

  最大资产回撤是指模型在选定的测试时间周期内,在任一历史时点的资产最高值,与资产再创新高之前回调到的资产值最低点时的差值。最大回撤用来描述模型运行可能出现的最糟糕的情况。它是衡量程序化交易模型性能的一个重要风险指标。

  有两种方式表示最大资产回撤。一种是采用最大资产回撤的绝对值来表示,即:最大资产回撤值=前期最高点-创新高前的最低点;另一种是采用最大资产回撤率来表示,即:最大资产回撤率=(前期最高点-创新高前的最低点)/前期最高点。

  注意:上述两个回撤指标的区别在于:前者是按回撤金额的最大绝对值来计算,而后者是按回撤比例的最大值来计算的。比如说,一个原始金额为100万元的账户,在刚开始交易的5次时间内就发生了一个30万元的回撤。而此账户在交易一段时间后,总金额增长到了200万元,此时又发生了一个40万元的回撤。如果以金额回撤来计算,是后者40万元的回撤大。但是以比例来计算,则是前者30万元的回撤大。

  通常,衡量模型回撤风险大小采用的都是按回撤金额的最大绝对值指标,能够知道究竟最多会亏多少钱,对模型使用的风险性有实实在在的认知;如果采用回撤率指标往往会使得模型使用风险看上去没那么严重。

  最大资产回撤并不知道会什么时候发生。如果模型是先赚到钱然后资金才有回撤,那大部分人还可以接受,但如果一开始模型就有30%的资金回撤,使用者能接受吗?

收益风险比

  评价交易模型的获利能力,并不是单纯看收益率,而应该看盈利与最大资金回撤两者之比,即收益风险比的大小。收益风险比的含义是指为了获取预期收益,投入的本金会冒多大的亏损风险,即所获取的潜在盈利与所承受的风险额度之间的比值。衡量程序化交易模型的收益风险比公式为:收益风险比=年度收益/最大资产回撤。比值越高说明模型的盈利能力越强,越值得采用。假设预期投资收益为3万元,但投入的本金最大亏损额度可能会达到1万元,则收益风险比为3:1。

  收益风险比是测试程序化交易模型优劣的最重要指标。因为每笔投资最终都落实在两个问题上:一是敢不敢投资(最多亏多少)?二是值不值得投资(至少能赚多少)?收益风险比的意义,正是对以上两个问题的客观回答,也直接决定投资的结果。例如某程序化模型设计者在交易策略上面临两种选择:

  策略一:每次投资30万元。平均每年交易100次,盈亏次数各50%,其中盈利交易每笔盈利1万元,亏损交易每笔亏损0.3万元,其间最大回撤为10万元。

  策略二:每次投资30万元。平均每年交易100次,盈利次数40次,亏损次数60次,其中盈利交易每笔盈利1万元,亏损交易每笔亏损0.25万元,其间最大回撤为5万元。

  采用哪个策略建模更好呢?来看看两种策略模型的收益风险比。

  策略一的年均收益为:50?1-50?0.3=35万元,收益风险比为35/10=3.5;

  策略二的年均收益为:40?1-60?0.25=25万元,收益风险比为25/5=5。

  在其他条件都不变的情况下,策略一冒着1单位的最大损失,可以收获3.5单位的收益,而策略二冒着1单位的风险,可以收获5单位的收益。显然,策略二比策略一优越。这个例子也同时展示了胜率高的模型不一定是最好的。

  但并不是说同样的收益风险比,模型的使用风险是相同的。比如A模型当年的收益率为40%,最大资金回撤5%,那么收益风险比就是8;B模型当年的收益为200%,最大资金回撤25%,那么收益风险比也是8。两种交易模型的盈利能力可以认为是一样优秀的,但哪个模型的风险性更大那?显然是B模型。在相同收益风险比条件下,如果要追求更高的收益,比如800%的收益率,那么可能发生的最大资金回撤也有可能100%。一旦发生,资金赔光,交易就没有办法继续下去了。因此,只是追求模型的收益率而忽视模型的回撤风险是极其冒险的激进策略。所以说,尽管模型的收益风险比相同,但交易结果还要取决不同的资金管理策略。


 胜率与盈亏比

 测评程序化交易模型优劣的主要评估指标还有两个:胜率与盈亏比。

  胜率是指在当前的成本设置下,模型盈利交易次数占总交易次数的比例,即:胜率=盈利交易次数/总交易次数。

  有部分投资者格外看重胜率,认为越高越好,至少希望胜率在50%以上,即获胜的概率超过一半,才算是好的模型,其实这是一个误解。事实上有的优秀交易模型胜率并不高,这就与另一个评价指标盈亏比有关。

  盈亏比=一段时间内所有盈利交易的总盈利额/同时段所有亏损交易总的亏损额。显然,盈亏比越高,交易模型获得的单笔收益越能够覆盖其他的亏损交易,对胜率的要求就没有那么高。反之,如果盈亏比很低,单笔亏损需要更多的盈利次数来覆盖,则要求更高的胜率。盈亏比的另一种理解方式为承担一元钱的风险能够赚取的盈利,基于这种理解方式,在不考虑交易成本的情况下,可以定义每一元钱的风险所能获得的期望收益为:Q=P-(1-P)/R。其中P为胜率,R为盈亏比。

  假设盈亏比R为1,在上式中需要P>50%才能使得期望收益为正,也就是说对于一个盈亏比小于1的交易模型,胜率必须高于50%才有可能赚取正的期望收益,反之如果盈亏比较高,例如R≥3,则胜率只需高于25%就可以保证期望收益Q为正。

  因此胜率只有和盈亏比结合来评估模型才有意义。设想一个模型,做十笔交易,盈利九笔,平均每笔盈利1万元,而亏损的那一笔一下亏了10万元,这个模型的胜率虽然达到了90%,却还是亏损的模型,因为它的盈亏比太低;另外一个模型做十笔交易,盈利四笔,共盈利12万元;亏损六笔,共亏损6万元,这个模型的胜率虽然只有40%,但总盈亏比为2。因此这个模型的盈利能力还是不错的。

  值得注意的是,某些模型历史测试中的胜率可能包含有一些“伪盈利”交易,也就是一些交易的盈利非常小,几乎为0,在很低的手续费与滑点设置下,它们是盈利交易,而在稍微严格一点的成本设置下就变成了亏损交易,很明显追求这样的胜率没有什么意义。因此,单独考察模型的胜率这个评估指标意义不大。

  除以上所论述的重要测评指标外,还有一些测评交易模型性能的指标,诸如净利润、最大连续盈利次数和最大连续亏损次数、平均盈利周期和平均亏损周期,等等。

  综合上述测评体系,判断一个合格交易模型的评估原则大致为:年化收益率至少应大于0,越高越好; 最大资产回撤值当然是越小越好,但回撤的最大极限定为多少取决于投资者对亏损幅度的心理承受能力,因人而异;收益风险比也是越大越好,但提高的难度较大;夏普比率也是越大越好,但至少应该大于0;至于胜率高当然好,但关键是要和盈亏比指标结合一起来评估,盈亏比高的模型胜率低一些也无所谓,所以胜率并不是关键性指标。再权衡其他测评指标,最终就能够获得初步满意的程序化交易模型。接下来量化易会继续为大家评测来自全国各地的策略。量化易谢谢大家长期以来的支持!



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多