分享

数量化投资模型 常用的基础数据处理方法(一)

 量化猫 2018-01-21

  作此文,为一些在构建模型的爱好者,和初入行业的朋友们提供参考,很多时候这些方法基本上就可以完成模型的主体结构。而且在主流软件中,这些方法基本上就是一两个系统内置函数能够解决的。


  连续3天,我们会介绍大致9个概念的定义和大致用法建议,让大家对需要学习和掌握的核心概念更加清晰,并将重心聚焦在模型开发上。


  1、均值和移动平均——评定过去总体走势


  均值几乎不用讲解,应该是小学知识。每一个样本值求和,再除以样本个数。移动平均也很简单,但是非常常用,且非常有效。有可能是价格波动过程具备一定的惯性(方向延续性)所以我们用移动平均描述过去状态,并希望状态延续。


  移动平均有几种变种,比如EXPMA(指数加权移动平均)。它的权重因子sFcactor = 2 / ( Length + 1 );Length是周期。随着Length的放大,sFcactor呈现指数速度递减,注意,是指数速度递减,length较小区间内递减很快,到了length后期,递减的量会降低。sFcactor的值域范围是(0,1],无限趋近于0。


  XAvgValue = XAvgValue[1] + sFcactor * ( Price - XAvgValue[1] ) ;


  这行代码告诉我们,XAvgValue值等于上期AvgValue值+sFcactor倍的价格和AvgValue差值。可以理解为,在length较小区间内,sFcactor较大,离差值的重要性明显,到后期,XAvgValue[1]成为指标值的主要影响因素。


  在价格模型中,首次上期EXPMA值为上一期收盘价,N为天数。(这里注意:不要随意使用开盘价或者噪音更高的最高最低价,它们的信噪比远没有使用收盘价好)。这种均线在各种资料中被解读为:着重考虑了当期价格对于均线值的影响,实际上绘制出来观察就知道了,它的功效是降低了噪音,但是它不能准确反应过去样本的平均值。


  还有一种线性加权移动平均线,常翻译为Weight Average,简写WMA。计算时每个价格都乘以一个权值,这个权值刚好是它的编号。可以理解为,其权重随着编号大小,线性递减。权重累加值WtdSum = WtdSum + ( Length - i ) * Price[i] ;i是编号,i越大,Length - i线性越小,Price[i]的对应的那个周期的价格值,其影响力线性降低。这种均线的特点是反应敏锐,但是噪音较高。


  还有EWMA等其他类型均线,还有VWAP成交量加权价格等特殊处理方式,也可以算作是一种平均。需要大家多探索,多测试,以大样本的测试数据来判定和选择工具。


  还有一种均线叫做自适应移动平均AdaptiveMovingAverage,它通过思路非常清晰的构造,计算方向性和波动性,完成了类似调节均线参数的效果。


  方向性direction = ratio_price - price[10] ; 

  波动性volatility = Summation( Abs(price - price[1]), 10);  

  ER效率系数Efficiency_Ratio = Abs(direction / volatility) ;


  ER的构造是AMA均线的核心。之前我们讲解过AMA的构造方式,大家可以翻看历史文章。ER值域(0,1)


  这个均线的设计者佩里·考夫曼,针对美国股票市场,设定了两个周期参数2日和30日,他希望均线值在这两个值之间变化。所以:


  fastest系数 = 2/(N+1) = 2/(2+1) = 0.6667;

  slowest系数 = 2/(N+1) = 2/(30+1) = 0.0645;

  smooth系数 = ER*(fastest - slowest) + slowest = ER*0.6022 + 0.0645;

  c = smooth*smooth;


  通过对ER的计算,我们可知:如果最近走势更趋近于单边趋势,ER系数会趋近于1,如果最近行情没有明显趋势,且震荡,ER系数会趋近于0。


  那么,最近趋势明显时(其实没有什么趋势,更准确的说法是波动惯性增强时),smooth系数会放大,smooth系数的平方作为c系数会更大。


  AMA = AMA[1] + c*(price – AMA[1]);


  c作为一个权重因子调节price – AMA[1]部分的权重,在价格波动惯性增强时,AMA起到了调节均线周期值更快的效果,如同无极变速箱,让你的均线保持敏锐,同理价格波动缓慢且缺乏方向时,price – AMA[1]部分影响力变小,如同均线的length值被调节放大,不要轻易做出任何交易。


  AMA更好地根据价格走势降低噪音,相对于常规均线,往往能够提升交易胜率,避免一部分错误信号的发出,降低交易次数。





  2、标准差——评定波动率


  标准差是基础的统计学概念,基础而又重要,同时非常好用。一个较大的标准差,代表大部分的数值和其平均值之间差异较大(分散),一个较小的标准差,代表这些数值较接近平均值(集中)。



  通过公式可以看出,它就是每一个样本和均值的离差平方和,除以样本数量,再开平方。有时候变量值和自己的均值,是反向偏离的,所以这里加入平方,消除方向性,只保留偏离程度


  或者和方差联系起来,一组数据中的每个数分别减去这组数据的平均数的差的平方相加起来除以这组数据的个数,就是该组数据的方差,方差再开平方即为标准差。


  标准差可以衡量当前价格和价格均值的关系,也可以衡量当前业绩和平均业绩的关系。


  在价格模型中,如果价格的均值和当前值差距很大,一般体现是标准差过大,不管是短期涨的太多,还是跌的太多,都是单边风险的体现,此时我们认为价格将更容易回归到自己的均值。此时我们可以降低开仓头寸,或者不开仓等待标准差回归到合理范围(当然,如果连续单边行情出现,这意味着失去机会)。



  在著名的目标函数夏普比率中,如果我们设定Rf:无风险利率=0,则这个公式简化为:投资组合的收益率除以标准差。它的含义是,标准差太大,即使有较高的收益率,绩效也被认为不稳定(过山车式的资金曲线,标准差大),夏普比率降低。反过来想,每天只赚一点点收益率,但是每天收益率的波动率(标准差)很低,很少负回报,很少爆赚,夏普比率也会很高。




  原文链接,从公开课变成了上车通知。

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多