【量化投资】基金择时策略浅析(4) ——参数优化和模型稳定性


参数优化

回顾一下之前我们列举的自下而上择时方法的实例:1)首先计算目标集合S中每只成分股近K=30日的收盘价极大值和极小值,2)然后统计昨日收盘价等于极大值的股票数量M1和昨日收盘价等于极小值的股票数量M2,3)计算指标F=(M1-M2)/size(S)用来表示股票集合S的市场热度,4)设定阈值T=50%,如果F>T则市场状态为牛市,反之为熊市。

在这个策略框架下,可调整的参数有两个:个股的近期股价极值取最近K=30日还是其他区间,以及阈值T应该设为50%还是其他值。其中K的变动要作用到集合中的每一只股票,所以它的优化比较麻烦一些,在实际操作中可以直接根据经验将K固定到少数几种取值上进行对比测试,而不是进行大范围的调整,就像机器学习模型中的超参数。因此我们这里以T为例来阐述模型参数的优化过程。

在上文中我们曾经提到,如果简单的将T设为50%,那么策略出入场信号会比较频繁,导致较高的交易成本,而将T拆分成出场阈值和入场阈值,可以起到缓冲的作用,在保证策略总收益的前提下,可以大幅降低交易成本。因此我们将优化问题的可变参数设定为2个,即入场阈值t1和出场阈值t2。完整的优化问题描述如下:

上述优化问题是一个典型的量化策略优化问题,由于这类问题的场景定义比较自由,所以一般不容易套用严谨的数学优化方法。实际操作中可以选用各类编程或数据分析工具来解决这个问题,比如目前流行的基于python或者java的云端量化策略开发工具,或者使用python/R语言自行开发回测系统,对于不熟悉编程工具的初学者也可以用excel的规划求解工具来实现。下面以excel为例简要介绍参数优化的过程。

图1:用excel求解策略参数最优化问题示例

其中第三列为指标原值,即F=(M1-M2)/size(S)的值;第四列为出入场信号,由F值通过公式计算得到,公式逻辑为“如果当前已经入场,并且F达到出场阈值t2,那么卖出资产,卖出后每日的净值增长率为1,如果当前没有入场,并且F达到入场阈值t1,那么买入资产,买入后每日的净值增长率等于目标资产的日增长率”;第五列为策略累计净值,即为第四列日增长率的累乘值。可变参数为t1和t2,目标变量为策略期末累计净值增长率与沪深300增长率的差。工具选择规划求解加载项,优化方法选择演化。设定好参数之后运行规划,很快会得到最优的可变参数值t1=0.536,t2=0.522,最大超额收益526%(年化收益约12%)。

模型稳定性

金融市场虽然看似数据丰富,但在实际的建模应用中数据并不总是“丰富”的:一方面,金融市场属于由人的行为构成的社会科学,其本身的规律性和可预测性比较差,大量的不可预测因素主导着市场的波动;另一方面,数据的丰富程度还受模型周期的影响,模型频率越高可用样本数据就相对越丰富,而对于本文讨论这类基于技术指标的低频率交易策略来说,其捕获的行情模式和交易机会在训练数据(历史数据)中的出现次数都十分有限,因此从统计意义上讲样本数据并不丰富。

数据的相对缺失使得这类交易策略在训练过程中很容易发生过拟合,常见的情景可能是这样的:参数的微调导致交易系统恰好捕捉到某次大级别的行情,而这一笔成功的交易使回测的整体收益大幅度提高,建模人员非常开心的上线实盘模拟,然而这个策略在实盘中并没有预期那样出色的表现。因此,在建立量化交易模型的时候,必须要重视模型的稳定性,避免过拟合。

图2显示的是上述策略在最优参数附近的表现,其中底面的座标分别是t1和t2,高度表示期末总收益。红色圈的位置就是优化工具找到的全局最优点T=(0.536,0.522)(由于作图精度的问题,真实的最高点比图中要高一些),红色箭头表示全局最优点沿三个不同方向变化的梯度,很容易看出参数值的微小变化将导致总收益明显下降,另外一个局部最高点(蓝色圈)也存在类似的问题,参数每变动0.05,总收益的可能从500%下降到400%。

图2:自下而上策略参数的局部最优及梯度变化

图3显示的是双均线交易策略的最优参数以及其附近的表现,在其最优点附近也存在梯度急剧变化的情况。

图3:双均线策略参数的局部最优及梯度变化

上述局部最优值的尖峰特征说明回测期间的最高收益通常来自于偶然事件,不能直接推广到未来的实盘应用。如果把策略参数优化看成是对真实最优参数进行估计的话,那么回测结果最优的那个极值点往往不是最优的估计值。我们应该找到参数的一个合理范围——在这个范围内,策略总能有不错的表现,最终选定的参数值应满足“在任何一个方向上的小幅度变化都不能使策略崩溃”——这样才能降低参数估计错误的代价。

行情简评

我们实现了一个基于自上而下指标的大盘热度模型,模型近期(4月份至今)的热度判断见图4,图中暂以0.5作为出入场判断的分界线(实际操作中可以加上缓冲区间),绿色箭头表示模型的卖出时点,红色箭头表示买入时点。在图中所示区域,模型成功躲避了长达一个月的下跌行情以及个别短期暴跌的行情。同时模型显示当前时点(2017年7月28日收盘)是一个潜在的入场机会。

图4:大盘热度模型4月份至今的表现

结语

在股票市场的建模过程中,样本数据是相对稀缺,回测很容易受过拟合的影响,因此模型的稳定性比参数最优化更重要。在实际的建模过程中应避免直接将最优回测参数应用于实盘,应该重点考察参数的稳定性。



微信扫一扫
关注该公众号

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章