第三篇机器学习投资组合——特征选择

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/CoderPai/article/details/82800583

作者:chen_h
微信号 & QQ:862251340
微信公众号:coderpai


第三篇机器学习投资组合——特征选择

这个系列文章用于跟踪在创建由机器学习驱动的投资组合过程中的进展,一共分为四篇:

第一篇(简介)

第二篇(数据收集清洗)

第三篇(特征选择)

第四篇(模型测试)


创建投资组合文件(标准化)

现在数据全部清洗完毕了,我们就可以开始创建 4 个投资组合了。

在这里插入图片描述

在构建投资组合的过程中,我们需要去平衡的标准是:

(1)每一个投资组合必须准确的满足上图中的要求;

(2)避免类别的失衡,也就是避免数据不平衡性 —— 在训练样本中,我们需要确保每个投资组合都存在类似的实例,即每一种“每周最佳投资组合”必须包含多个组合。否则,机器学习算法将偏向于最常见的“每周最佳投资组合”的方向。在为每个分类结果创建训练样本时,大部分数据工作就应该完成了。

(3)尽量减少 4 个投资组合之间的相关性,如果需要兼顾 (2) 中的要求,来达到这个相关性其实是一个很大的挑战;

(4)收益性检查——我们在构建投资组合的时候,最好在基准测试中能产生超额回报(在训练样本中)。虽然这并不能保证在未来还是能获得超额回报,但是算法在负超额回报的数据中运行测试可能会更加困难。

关于作弊的注意事项(后视偏差)

我们在创建数据的时候,不能回顾一整个数据集,然后去创建一个最好的投资组合。因为你已经知道了 N 年中的公司规模和股票波动率等因素,你当然就能创建最完美的投资组合,但是这存在后视偏差。

实际上,我们在做出预测时需要不惜一切代价避免后视偏差。我认为后视偏差是一种数据作弊的行为,所以你不可能在未来的数据集上面取得很好的成绩。

我们将通过适当的操作来最大限度的减少作弊:(1)我们需要确定我们数据的测试范围;(2)我们必须公平的使用交叉验证;

数据测试范围

我们目前手上拥有的数据是从 2008 年初到 2018 年初的每周数据。我们决定我们的第一个测试数据开始的时间是 2015 年7月17日的那一周。我们选择这一周开始的原因是,从2015年8月开始会有无数次的动荡时期。通过确定了测试开始的时间,所以我们只能通过查看 2015 年7月17日之前的数据来创建投资组合(并且需要符合上面的 4 条标准)。这使得我们无法使用我们对 2015 年7月17日至今之间各种 ETF 的数据。

我们的算法将在这 4 个投资组合之间学习各种数据信息,从而来获得一个优异的模型。

交叉验证

在对每一个预测进行交叉验证时,我们将仅通过查看预测周之前存在的数据来进行交叉验证。后续我们会更多来讨论这一点。

简介

那么我们具体应该怎么做呢?

在上面的标准 2 中,我们需要避免类别失衡——在 2015年7月17日之前的 394周内,投资组合类别的分布如下:

在这里插入图片描述

我们可以通过混合的方式来处理这种数据不平衡性,虽然它并没有完全消除类别的不平衡性(因为这种分布会随着时间的推移而变化),但它确实使得我们更容易创建平衡的训练集。

根据标准 3 —— 尽可能的降低相关性。在 2015年7月17日之前的 394 周内计算的相关性矩阵如下:

在这里插入图片描述

理想情况下,这些相关性系数都应该是 0,但是鉴于我们受限制的投资领域(所有 ETF 必须至少有 10 年的交易数据),这是我们能找到的最佳投资组合。

根据标准 4 ,我们需要检查我们投资组合的超额回报,在 2015年7月17日前的 394周内计算的年化回报如下:

在这里插入图片描述

这向我们表明,仅仅购买和持有任何这些投资组合将导致超额收益不明显,这不是因子的问题,因为没有一个因子可以代表一个投资组合。相反,如果该策略最终显示出优异的性能,则可能是(1)选择了好的特征;(2)使用了适当的算法。

现在让我们更好的来了解我们的投资组合:

投资组合 1 (防守型,大资本)

在这里插入图片描述

投资组合 2 (攻击型,大资本)

在这里插入图片描述

投资组合 3 (防守型,小资本)

在这里插入图片描述

投资组合 4 (攻击型,小资本)

在这里插入图片描述

特征选择

现在我们终于可以开始应用我们的领域知识,很多论文都认为股票风格轮动因素可能受到许多金融和经济变量的影响。市场情绪也是起到了非常重要的作用,所以最终我们选择了 11 个特征变量:

财务变量

  • 美元指数(DXY)——由于我们的基准和我们投资组合中的外国 ETF 均为进行货币对冲,且我们的国内和国外的投资组合差异巨大,因此美元走势可能对我们的投资组合表现产生重大影响;
  • 芝加哥联邦储备银行全国金融状况指数——这是一个综合指数,可追踪金融紧张或者松动的变化。该指数着眼于 105 项金融活动指标,而这个指数走势可能有助于我们更好的定义不同的市场状态;

经济变量

  • UST 10Y收益率——UST曲线的长期变化可能表明风险开启或者风险关闭时的心态,因为UST债券通常与安全相关;
  • UST 10Y-2Y点差——UST曲线斜率的变化表明期限溢价,预期通货膨胀和短期利率的预期路径的变化。这些是当前市场环境的关键指标;
  • iBoxx 欧元通胀法国和德国指数——我们正在利用这一点调查欧洲市场的通胀预期,因为这可能会影响我们对国外的投资;

情绪指标

  • VIX——VIX的变化表明短期情绪的变化,并可以向我们提供有关投资者对美国市场的看法;
  • VIX期货3个月点差——VIX期货合约3个月到期与即将到期的近月合约之间的差异可以表明投资者预计未来几个月波动性将如何变化。这位我们提供了更多信息,而不仅仅是查看 VIX 中的历史变化;

相关指标

  • 过去4周的平均排名——我们创建了4个特征(1个特征为一个投资组合),其中每个特征是过去4周内投资组合的平均排名。这位我们提供了有关 4 个投资组合中每个投资组合的信息,并允许我们能获取任何趋势效应;

猜你喜欢

转载自blog.csdn.net/CoderPai/article/details/82800583