本文是一篇金融学论文,本文使用沪深 300 成分股作为研究对象,使用传统的回归法和排序法来筛选有效因子,对得到的有效因子基于打分法构建传统的多因子模型,在模型回测期间策略的收益和风险评价指标表现均优于基准指数。接着,本文对传统的多因子模型分别使用 AdaBoost、GBDT 以及 XGBoost 算法进行优化。
第一章 绪论
第一节 研究背景和意义
一、研究背景
随着国家的发展进步,百姓的生活水平不断提高。人们在实现了温饱的基础之上,有了额外可供使用的钱财,投资成为了人们的一大选择。股票毫无疑问已经成为当代人投资理财的一种重要方式,尤其是在 2020 年新冠肺炎疫情之后,在中国政府强有力的领导以及国家开放政策进一步加大的环境之下,A 股在这一年实现了大涨,沪指在 2020 年上涨了 13.87%,深证成指上涨了 38.73%,创业板指更是上涨了 64.96%,在全球主要经济股指纷纷下跌的背景之下,我国的金融市场一路高歌猛进,这使得越来越多的人将投资的目光投向股票市场,为股市的发展提供了条件。其中股票的价格变动更是受到人们极大的关注,影响股票价格的因素有很多,如经济背景,国际关系,公司自身因素以及投资者的情绪等等。想要准确掌握股票价格的变动,必须结合多种因素综合考量。
多因子模型则是判断股票走势的一种重要模型,该模型使用多个因素作为计算股票收益的来源,经常被用于构建具有某些特征(如估值,成长等)的投资组合。其中,影响最为深远的多因子模型是 Fama-French 三因子模型,该模型认为,投资组合的收益率可以分解为它对三个因子的暴露,这三个因子分别是:市场因子、价值因子以及规模因子,该模型能够解释 90%以上的投资组合回报。然而,后续很多学者研究发现,三因子模型中依然存在着很多未被解释的部分。于是Fama 和 French 提出了在原来三个因子的基础之上增加投资和盈利两个因子的五因子模型,引入的五因子模型极大的提高了模型的解释能力,但是它依然未能解决三因子模型所存在的问题,并新增了一些其他的问题,如五因子模型降低了收益,新增的因子不够稳健等。因此,在使用多因子模型进行选股时,我们要结合具体的金融市场的特点来筛选有效可靠的因子。
机器学习是近些年比较流行的一种有效的数据挖掘理论,利用各种机器学习算法挖掘数据中所隐含的各种信息,如支持向量机算法,决策树算法,神经网络算法等。在金融领域,机器学习技术也在不断地推动着行业的发展。金融数据中存在着大量的非线性的关系,传统的回归方法并不能在这些数据之中建立有效的映射关系,而机器学习技术则可以利用非线性的方法来得出数据间的潜在联系。
第二节 研究内容和研究方法
一、研究内容
基于上述的研究背景和研究意义,本文的主要研究思路为:首先,本文试图基于理论研究与市场实践经验,对多因子模型的基本理论以及核心要素进行简单分析。其次,本文将基于多因子打分法和 Boosting 类算法来构建多因子选股模型,具体步骤如下:第一步是选择候选因子,本文所使用的候选因子来自于优矿量化平台,共计 244 个量化因子。第二步是进行有效因子的筛选,分别使用回归法和排序法对单个因子的有效性进行分析,总计筛选出 19 个有效因子,基于该19 个因子使用打分法构建多因子选股模型。第三步是使用 AdaBoost、GBDT、XGBoost 算法来构建多因子选股模型。本文选择的股票池是沪深 300 指数成分股,样本研究期为 2009 年 1 月-2010 年 12 月,样本回测期为 2011 年 1 月-2020 年 12月,所使用的因子数据均为月度数据,在模型回测期间每个月末根据选股结果来构建股票池并持有到下个月末,下个月采用同样的方法构建新的股票池,每个月重复相同的选股方法和步骤直至样本期末。
二、研究方法
(1) 文献综合分析法:前人的研究成果为后人进一步研究奠定基础,通过搜查、阅读大量国内外的相关文献资料,可以了解诸多有关量化投资的历史发展背景、在国内外不同环境下与其他投资方式的区别、各种量化投资方式的特点、所面临的风险与可获得的超额收益情况以及机器学习算法在金融领域应用等的资料,进而以此作为参考,对自己的研究目标提供帮助,进行细致的分析总结,最终得出想要的结论。
(2) 定性与定量分析方法:本文在对量化投资策略和相关理论研究进行总结与评述的基础上,构建了传统打分法和基于 Boosting 算法的多因子量化选股模型。在基础理论和方法中,本文运用了有效市场假设、资本资产定价模型、套利定价模型、行为金融学等相关理论和计量经济学、统计学、数据挖掘以及机器学习等相关学科的方法。在定量分析中,本文主要使用 Python 语言做数据处理和模型构建的程序编写,使用 Jupyter Notebook 编辑器进行代码的编写以及选股模型的回测和检验,并辅以 Excel 软件进行数据整理与分析。
第二章 文献综述
第一节 多因子模型相关的文献综述
多因子模型一直都是学术界和业界研究的热点理论之一。Markowitz(1952)首次将数理统计的方法运用到投资组合的选择之上,提出了均值-方差模型,他以均值作为衡量投资组合收益率的尺度,以方差来衡量投资组合的风险,即在期望收益相同的情况下尽可能选择风险较小的投资组合,在风险程度相同时尽可能选择收益大的投资组合。该理论成为了现代金融学理论的开端,为后续更多的金融模型理论的发展奠定了基础。但是由于其假设过多,在实践中难以得到实现,在马科维茨均值方差模型的基础之上,Sharpe(1964),Lintner(1965)和 Mossin(1966)在均值方差模型的基础之上提出了资本资产定价模型(CAPM),它是基于风险资产预期收益率均衡的基础之上建立起来的预测模型,模型认为要想获取一定的收益补偿,就必须承担系统风险,即将投资组合的预期收益用一个线性表达式来表示,等于无风险收益加上一定的风险补偿。CAPM 模型的提出使得 Markowitz的理论得以在股票市场中应用,金融市场开始进入了定量分析时代,量化投资也从理论研究转向了实证研究。随后,Ross(1976)在资本资产定价模型(CAPM)的基础之上进行了推广,提出了套利定价模型(APT),将投资组合的收益率分解为多个未知因素,这些未知因素能够对投资组合的收益率作出一定的解释。
在 CAPM 模型以及 APT 模型的研究基础之上,Fama 和 French(1993)对美股进行实证研究,通过回归的方法将收益率分解为市场因子、规模因子(SMB)和价值因子(HML)的线性组合,即所谓的三因子模型,Fama-French 三因子模型开启了人们对因子模型的研究。Edwin 等(1996)在 Fama-French 三因子模型的基础之上引入债券收益因子并且发现在投资组合的风格识别上效果显著。与 Edwin 不同的是,Carhart(1997)在原有的三因子基础之上加入了截面动量因子,从而提出了 Carhart 四因子模型,在加入动量因子之后发现模型能够更好地解释股票的超额收益。
第二节 机器学习在金融领域应用的文献综述
上世纪 50 年代,机器学习的研究开始在学术界萌芽。在金融领域中,机器学习技术的更新迭代正推动着量化投资行业迅速发展。由于金融数据之间存在着大量的非线性关系,传统的回归方法并不能在数据中建立有效的映射关系,而机器学习可以利用非线性的方法帮助投资者挖掘出数据之间更深层次的关系,从而能够实现更精准的预测。
Fan 等(2001)运用支持向量机进行选股,并结合财务指标,研究发现通过支持向量机选取的投资组合的收益率远高于大盘指数。Kim(2003)分别使用支持向量机和 BP 神经网络算法对股价进行预测,结果发现基于 SVM 的模型预测效果比 BP 神经网络的表现更好。Coussement(2008)分别使用 Logistic 模型、支持向量机和随机森林三种模型进行对比研究,结果发现在预测股价指数上随机森林模型无论是在精确度还是响应时间上都要优于支持向量机和 Logistic 模型。Nair(2010)基于决策树的方法构建了一种股价预测系统,利用统计分析的方法提取出市场的股票特征,并结合决策树算法进行特征选择和特征降维处理,最后使用模糊神经系统来预测股价,结果发现该方法能够显著提高选股的预测精度。
Kazem(2013)对支持向量机回归的最优超参数进行优化,把萤火虫算法和混沌运动算法相结合,并引入到支持向量回归的参数优化之中,从而形成一种新的支持向量回归预测,结果发现相较于 GA-SVR 和 CMO-SVR 来说更加有效。Chen等(2017)使用 LSTM 网络对中国股市的日收益率进行预测,将 10 维特征按 30 天为一个序列组成输入序列,标签是序列对应的 3 天之后的收益率,与完全随机的预测方法相比,训练之后的模型准确率上升了 13%。Krauss 等(2017)使用深度神经网络、梯度提升树以及随机森林算法对标普 500 指数成分股的收益率进行预测,三种算法都获得了超过市场基准指数的收益。
第三章 相关理论概述....................................10
第一节 多因子模型基本理论..................................10
第二节 Boosting 算法理论...................................12
第三节 本章小结.............................18
第四章 因子筛选以及因子有效性分析..............................19
第一节 数据获取与数据预处理......................