十年十倍:散户也可以学习的量化投资方法
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第二节 量化选股:对分法和黄金分割法

对分法

那么问题来了,你怎么就知道加了这1%权重的销售毛利率,就是最佳值呢?如果用遍历的计算方法,工作量肯定很大,为此,我们引入了一种寻找最佳方案的办法——对分法。

对分法,首先确定最佳区间的范围,如A1、A2,分别计算出A1、A2对应的收益率X1、X2,然后令A3=(A1+A2)/2,计算出对应的X3,再同样令A4为A1和A3的中间值,计算出对应的X4。如果X4大于X3,那么放弃从A3到A2的区间,反之,放弃A1到A3的区间。如此找到最佳值。这种方法有个前提,就是假定最佳值X在区间中只有一个。

黄金分割法

如果区间过大,对分法用的次数还是过多。其实除了对分法,还有其他效率更高的方法,如黄金分割法,又叫0.618法,其本质就是在优选时把尝试点放在黄金分割位(0.618)加快寻找最优的方法。黄金分割法最早是由美国数学家杰克·基弗(Jack Kiefe)在1953年提出,我国著名数学家华罗庚在20世纪六七十年代对其进行优化补充,并大规模推广到工农业等领域。理论和实践都证明,对于单因子问题,用“0.618法”做16次试验就可以完成“对分法”做2500次试验所达到的效果。

但不管是对分法还是黄金分割法,它的使用都有一个前提,就是其对应的收益率函数(或者夏普函数、最大回撤函数),都必须是单峰函数。所谓单峰函数,就是指如果把权重作为自变量,其区间a、b对应的收益率函数在区间中有一个最大值,在a到最大值之间函数是单调增加,在最大值和b之间是单调减少。如果不符合这个条件,在理论上不管用对分法还是黄金分割法,都无法找到最佳值。

案例分析

小盘和低价是A股的两个有效因子,我们选择这两个因子的权重作为变量,价格因子权重从0%到100%,从2009年12月31日到2016年9月23日,平均持有10只排名最前面的股票,每5天换一次,交易费用千二,测试模型如表2-3所示,图2-1为对应的模型测试年化收益率。

表2-3 小盘低价因子组合模型1

图2-1 小盘低价因子组合收益率

从测试结果可以看出,因为实际年化收益率函数不是单峰函数,所以不管用对分法还是黄金分割法,都没找到59.20%这个最佳值。

那么,这个90%权重市值,10%权重价格,对应的年化收益率59.20%,是否真的是我们找到的最佳收益率呢?是否会存在过度拟合呢?在我们这个模型里,是每五个交易日换一次股票,试想改变一下换股日期。这里用果仁网有点差异,只能改变起始日期,差异几天,而且2009年底这一周的涨跌不大,不会对六年多的年化收益率有大的影响。我们以2009年12月25日、28日、29日、30日、31日这五天作为起始日,看一下价格权重为8%~12%的结果,如表2-4所示。

表2-4 小盘低价因子组合模型2

从表2-4中可以看出,31日开始的10%权重价格的方案,只是凑巧战胜了100%权重的市值策略,在其他几天作为起始日,也就是换了换股日后,市值、价格双因子方案依然无法战胜单因子的市值方案。

从猜测到最后实战,就像悲壮的逆流而上的大马哈鱼的迁徙,同胞的一批批死亡,并不能动摇对目标的追求。大马哈鱼每年的迁徙是这样,量化投资最后得到丰硕成果也是这样。我做过统计,平均100个猜测,最后能成功超越目标盈利的,大概也就只有2~3个,我没考证过大马哈鱼的迁徙最后的结果是不是这样。但好在我们都是在实战前就淘汰了很多不靠谱的策略,而不是通过实战付出了真金白银的代价,这也是量化投资给我们带来的好处。