作者:chen_h
微信号 & QQ:862251340
微信公众号:coderpai
机器学习投资工具——第一篇(简介)
这个系列文章用于跟踪在创建由机器学习驱动的投资组合过程中的进展,一共分为四篇:
第二篇(数据收集清洗)
第三篇(特征选择)
第四篇(模型测试)
问题是什么?
每个团队都会在创建模型的期间,来管理一个虚拟的投资组合模块,并且在结束时对其结果进行演示,解释哪些操作是有效的,哪些操作是无效的,以及具体原因是什么。我们投资组合的目标是创建一个优于被动指数的投资组合。单纯就非结构化的项目而言,这个是非常简单的,但是如果我们把所有限制都去掉,那么这中间是有非常大的创新空间。
开始项目
进入这个项目,我想让我的团队通过机器学习来解决问题。但是这一过程的第一步是弄清楚机器学习是如何应用在投资组合中的。换一种说法:
我们如何将机器学习输入转换为一组资产权重(必须说一下,总和必须达到 100%)才能构建投资组合?
从这里开始我们必须想出一些结构。其中一种是以下方式:
模型结构解释如下:
- 我们创建 N 个投资组合,其中每一个资产都是投资组合。为获得最佳性能,每个投资组合应该能与其他投资组合有较低的相关性;
- 对于每周,我们按照性能(每周的投资回报率)对每个投资组合进行排序,并且训练算法预测每周 N 个投资组合中的最佳表现着。这将我们的问题转变为了一个多分类任务;
- 对于每周预测问题,算法将输出 N 个概率矢量(每个概率一个),列出每个概率是本周表现最佳的概率;
- 因此,每周的“最佳投资组合”是 N 个投资组合的加权平均值(通过上面 3 中的概率加权)。请记住,N 个投资组合中每个投资组合只是一个资产权重列表。正如我的一个朋友所说,最好的投资组合就是 “资产权重的权重”;
两个层面的创新
从上图中我们可以看到,作为一个有机组合,我们有两个层面可以影响整个项目的成功。
- 选择好的投资组合和输入特征,数据就是王道;
- 算法的选择和调参;
在这篇文章中,我们将讨论如何正确的完成第一部分中的第一条:
如何构建一套好的投资组合文件;
这个工作非常重要,如果不能很好的构建这个文件,那么我们后续的工作将会非常被动。理想的投资组合文件需要满足两个标准:
标准(1):每一个投资组合文件应该相互不相关。如果达到这种情况,那么每一个投资文件将会在不同的市场情况下面进行收益,并且起到很好的互补作用。该标准的另一个好处是,给定一个大的训练样本(用作机器学习算法的输入),我们可能会在目标变量(即“本周最佳组合”)中看到所有投资组合的良好表现;
标准(2):每个投资组合应该都能在一个特定的条件下,能有一个良好的表现。换句话说,一个投资组合肯定需要在某个时间段有出色表现;
那么我们如何同时实现这些目标呢?
好吧,如果我们可以通过某些某些属性特征来表示每个投资组合(其中属性彼此之间的相关性较低),这将有助于我们实现标准(1)。比如说有两个属性特征,那么我们就可以相应的绘制每个投资组合文件,如下图:
但是我们如何选择这些属性特征呢?顺便说一下,我们如何实现标准(2)呢?
输入:投资因子
什么是投资因子
简而言之,因子就是股票的属性特征。长期以来,各种不同属性特征已经被证明可以推动股票表现优异。这些风格特征包括:
- 价值(相对于基本价值的低价股)
- 规模(市值)
- 动量(用于趋势跟踪)
- 质量(稳定性分析)
- 股息收益率
- 波动性
这听起来很简单,但是我们能学到什么呢?
对于初学者而言,每个因子在一段时间内都是有周期性的(它们在某些时候表现优异,而在其他时间表现不佳)。这种周期性使其成为第二个不确定性:一些因子与其他因子的相关性。
其实,周期性并不是最大的问题。事实上,因子周期性有助于我们满足上面的标准(2)。那么因子相关性呢?
我们很幸运,因为根据 MSCI 的研究,并非所有因子都是相互关联的:
考虑到这一点,下一步是评估可行性:构建投资组合以捕获这些因子对我们来说容易吗?是否可行?
- 价值:有一些以价值为导向的 ETF,但是有两个问题,(1)可能提供不了全球多元化,(2)这些 ETF 可能没有足够的历史交易数据来提供给机器学习算法;
- 规模:全球有多个以市值为导向的 ETF(良好多元性),这些 ETF 可能拥有大量历史交易数据;
- 动量:与价值因素一样的关注点;
- 质量:与价值因素一样的关注点;
- 股息收益率:与价值因素一样的关注点;
- 波动性:这是一个有趣的因子。从表面上看,它与价值因素一样受到关注。但如果我们略微放松这个因素并将其汇总为一般的风险因素,那么我们就可以通过行业板块 ETF 和美国国债 ETF 来代替。
所以,我们可以修改我们上面的图,重新绘制如下:
初步假设
在这个阶段,我们最大的假设是:
- 风格因子(特别是规模和波动性)将继续有意义的推动股票表现向前发展;
- 规模和波动率因子将继续不互相强相关(上述 MSCI 图表中的相关性 = 0.12);
- 我们将能够通过使用我们的投资组合文件来获取规模和波动性因子,以便我们可以充分了解这些因子;
- 以上所有均为周报。我们选择查看每周回报,因为每日回报可能有太多噪音。而月回报时间太长了,导致数据太少了。
来源:Medium