1. 引言
随着金融市场的日益复杂化和全球化,投资策略的选择和管理变得越来越重要。传统的投资方法主要依赖于投资者的经验和直觉,然而这种方法往往受到人为因素的影响,无法充分利用金融市场的信息。因此,研究者们开始探索使用量化投资策略来提高投资效益和风险管理水平。
量化投资策略是一种基于数学模型和计算机技术的投资方法,通过分析历史数据和市场信息来预测未来的市场走势,并根据预测结果制定投资策略。在量化投资策略的研究中,传统统计学方法主要包括线性回归[1]、主成分分析[2]等,这些方法在处理非线性问题时存在局限性。与传统方法相比,卷积神经网络[3]和LSTM神经网络[4]方法具有更强的非线性建模能力,但其训练时间长、易过拟合等问题限制了其应用。此外,基于机器学习算法的量化投资策略也逐渐受到关注,例如决策树的多因子选股策略因子选股[5]、A股基本面量化投资策略[6]与量化择时策略[7] [8]、基于支持向量机[9]、基于随机森林[10]等,但都仅限在单一地将因子数据或者单一的机器学习算法结合进量化投资策略中。
因此,本文旨在研究基于支持向量机的多因子融合量价数据选股策略构建与实证分析。我们详细介绍本文所选用的研究方法——支持向量机方法,包括数据采集、数据预处理、特征提取、策略构建等。在实证分析部分,我们将通过实际数据和案例,分析本文所构建的量化投资策略的有效性和优越性,并解释实验结果。最后,将总结本文的研究成果,提出未来研究的方向和建议。
2. 算法原理及理论研究基础
2.1. SVM支持向量机模型
支持向量机(Support Vector Machine, SVM)作为监督学习的机器学习算法,是一种广泛应用于分类和回归分析的机器学习算法。作为机器学习领域中理论知识最为完备的算法之一,支持向量机具有较高的普适性,尤其在样本量较小的情况下表现出色。其核心原理是在特征空间中寻找一个最优超平面,以最大化不同类别变量之间的间隔,从而有效地将两类或多类数据分隔开,实现精准的数据分类。这种方法能够提高模型对复杂数据关系的捕捉能力,使支持向量机在面对各种分类问题时展现出卓越的性能。
线性可分支持向量机主要对于给定线性可分的样本集
,
,通过间隔最大化或等价地求解相应的凸二次规划问题,寻找到一个超平面,将样本数据以最好的方式分离开来,其中y代表类别的正类和负类。
Figure 1. Example of decision surface of support vector machine
图1. 支持向量机决策面示例
图1中的黑色实线就是我们希望找到的决策面,通过决策面将实心点和空心点分开,在图中,黑色实线就是我们期望找到的决策面,它将实心点和空心点有效地分类;而两条虚线则代表距离这两类点最近的决策平面。由于存在无数个决策平面可以将两类点分开,为了获取最具分类准确性的决策平面,我们设定一个特定的决策面为:
(1)
其中
为决策面的法向量,决定了超平面的方向,b为位移项,决定了超平面与原点之间的距离,显然划分超平面的确定只需要法向量和位移项的确定即可,即
的确定。假设超平面
能够将样本集正确分类,即对于
,若
,则有
;若
,则有
,有如下表达式:
(2)
如图1所示,距离超平面最近的这几个训练样本点,即图中标红的样本点使式(2)的等号成立,它们被称为“支持向量”,两个异类支持向量到超平面的距离之和为
,称之为间隔。显然能够最大程度地分开两个不同种类的数据的超平面,就是与支持向量具有最大间隔的超平面,为了找到具有最大间隔的划分超平面,也就是要找到能够满足式(3)中约束的参数
和b,使得r最大,即转化为数学表达式为:
(3)
当数据呈现出非线性特征时,线性分类方法不再有效,如图2所示,显然无法使用直线准确地将正类和负类点分开。然而,在这种情况下,我们可能会发现一种类似于椭圆的曲线能够成功地将红色方点和绿色圆点区分开,如图3所示。因此,为了处理这种非线性关系,我们考虑引入映射函数,将原始变量,无论是线性的还是非线性的,都转换为具有线性关系的变量。这样,我们就可以应用线性支持向量机来对转换后的变量进行分离和求解。通过这种方式,能够有效地处理非线性数据,并实现对不同类别的有效分类。
Figure 2. Data points of nonlinear characteristic
图2. 非线性特征数据点
对于非线性支持向量机,在原始空间有限,即数据属性有限的情况下,必然存在一个更高维或无限维的空间,通过映射操作后使得变量变得线性可分。因此,支持向量机的模型可以表示为:
(4)
2.2. 量化策略的理论依据与逻辑
在量化投资策略的研究中,超额收益是衡量投资策略优劣的关键指标。投资者通过运用各种量化交
Figure 3. Mapped data points
图3. 映射后的数据点
易策略,旨在获得超过市场平均收益的超额收益。超额收益的概念源于经济学家Jensen Michael在1969年提出的新模型[11],该模型以资本资产定价模型(CAPM)为基础,通过比较投资组合的实际收益率与CAPM模型计算出的预期收益率之间的差异来定义超额收益,其具体公式如下:
(5)
当α大于0时,意味着投资组合的表现优于市场预期,取得了超额收益;反之,则表明投资组合的实际表现低于市场预期。在投资策略的制定过程中,追求α套利成为了许多投资者的目标。这种套利策略建立在市场不完全有效的前提下,通过寻找市场定价错误的机会,稳定地获取超额收益。为了进一步优化投资策略,后来的学者们开始探索其他因子,以期更全面地解释超额收益α的构成。
因此,多因子选股模型应运而生,成为量化投资策略中的重要工具。该模型通过引入多个因子,如公司规模、估值水平、成长因子等,对股票的收益进行预测。这些因子在选股过程中发挥着重要作用,有助于投资者更准确地识别出具有超额收益潜力的股票。通过运用多因子选股模型,投资者可以在量化投资策略中更有效地挖掘市场中的投资机会,从而提高获取超额收益的可能性。这一模型的广泛应用为量化投资策略的发展提供了新的思路和方法,成为了投资领域研究的热点之一,为了实现这一目标,研究者们在探索如何利用多因子选股模型来优化投资策略。
2.3. 支持向量机在量化投资策略中的应用
在本文的研究中,我们利用支持向量机构建了基于多因子融合量价数据的选股策略。通过将SVM应用于量化投资领域:
(1) 特征提取与选择:在量化投资中,选股模型的构建离不开有效的特征提取与选择。支持向量机可以用于特征的提取与选择,通过训练模型,可以确定对股票价格涨跌影响较大的特征和因子。这些特征可以包括如市盈率、市净率以及市场情绪等。
(2) 模型训练:支持向量机可以通过历史数据的训练来构建选股模型。通过不断调整模型参数,优化模型的性能,从而提高选股模型的准确度和稳定性。
(3) 量价数据融合:在量化投资中,除了基本面和技术指标外,量价数据也是重要的参考因素。通过基于支持向量机的多因子选股模型和基于支持向量机的量价选股模型的两轮筛选股票,可以很好地将量价数据融合进选股策略中去,进一步提高整体选股模型的预测能力和稳定性。
(4) 模型评估与优化:支持向量机可以通过交叉验证等方法对模型进行评估,发现模型存在的问题并进行调整和优化,以确保选股模型的准确度和鲁棒性。
(5) 实时预测与交易决策:支持向量机可以通过核函数实时处理大量维度不同的股票数据,并根据选股模型的涨跌预测结果进行交易决策,以实现投资组合的优化和收益最大化。
3. 实验及结果分析
本文采用基于SVM模型融合多因子和量价数据策略来对股票进行筛选,首先,选取具有潜在价值的股票,使用多因子选股模型对股票进行筛选;然后,通过量价选股模型对筛选后的股票进行再次筛选,以确认它们的交易量和价格走势是否与模型预测的趋势一致,进而挑选出预测为涨的股票。
3.1. 数据集
3.1.1. 数据的来源
在构建量化投资策略时,本文充分考虑了周期性因素的影响。选取了从2014年10月到2021年12月的因子数据作为多因子数据的样本。在这个时间段内,我们观察到了市场的波动和趋势,包括牛市和熊市的交替,其中部分数据如表1。
Table 1. Multifactor data
表1. 多因子数据
股票 |
pe |
pb |
pcf_cash_flow_ttm |
|
arbr |
psy |
macd |
000006.SZ |
12.1795 |
2.1638 |
−41.2476 |
|
132.4895 |
50.0000 |
−0.0043 |
000011.SZ |
17.4530 |
2.6553 |
38.1870 |
|
122.3176 |
41.6667 |
0.0839 |
|
|
|
|
|
|
|
|
603766.SH |
23.7911 |
3.3355 |
−78.5098 |
|
147.9212 |
50.0000 |
−0.3408 |
对于量化数据的样本,本文选取了2014年10月到2021年12月的开盘价,最高价,收盘价,最低价,成交量作为量价数据。
3.1.2. 数据的预处理
在进行样本选择时,我们对股票数据进行了初步的预处理。我们剔除了那些表现出异常状态的股票,例如连续两年亏损的ST股和连续三年亏损的*ST股。对于所选取期间内的有效股票,选取每个月最后一个交易日的因子数据作为原始数据,下个月最后一个交易日的收益率作为样本标签,由于原始获得的特征数据存在量纲不一致、数据格式与结构不一致以及噪声影响等问题,对原始获取的数据进行特征预处理操作。
特征预处理的步骤如下:
1. 离群点处理:求出每个数据与中位数的绝对值偏差值的中位数以后,对原始数据进行中位数去极值。
2. 缺失值处理:采用缺失值剔除的方式以获取一个完整的特征数据。
3. 行业市值中性化处理:进行行业市值中性化处理,将特征值对申万一级行业的行业虚拟变量和对数市值回归,通过回归分析计算,得到行业系数和市值系数的估计值。利用这些系数估计值,分离出因子数据中与行业和市值相关的部分,将所得残差作为新因子暴露度。
4. 标准化处理:使用Numpy库的mean和std函数将行业市值中性暴露度减去其均值并除以其标准差得到服从标准正态的特征序列。
3.2. 模型的训练与参数的调整
本文选取2014年10月至2018年12月为模型训练的样本,2019年1月至2021年12月为样本外测试的数据。采用十折交叉验证法将训练样本数据集以9:1的比例划分为训练集与交叉验证集。每月月末将下个月收益前30%和后30%的股票取出放入股票集中,判断该股票下个月收益是否大于股票集的均值,若大于则赋值为“+1”,若小于则赋值为“−1”。
使用支持向量机模型对训练集进行训练,在训练过程中,使用选定的经过预处理的因子作为输入特征,下个月收益是否大于股票集的均值作为标签,利用训练集中的样本数据来训练模型。模型训练中设定参数C和γ,其中C值为惩罚系数,即对误差的宽容度;其中γ值反映了核函数的影响范围,决定了数据点在特征空间中的密集程度。
本文在模型参数的训练中,使用网格搜索法,其中C值的网格区间为(0.01, 0.03, 0.1, 0.3, 1, 3, 10),γ值的网格区间为(0.0001, 0.0003, 0.001, 0.003, 0.01, 0.03, 0.1, 0.3, 1),通过对比不同C值和γ值的组合产出的模型的正确率、AUC值和预测值与真实收益率的相关系数,最终得到最优的模型参数组合为C = 3,γ = 0.003。
3.3. 模型评价指标
通过计算不同C值和γ值的组合产出模型在交叉验证集、测试集上的正确率、AUC值等,评估不同组合的模型的预测正确率和泛化能力。
Figure 4. Accuracy of cross validation set
图4. 交叉验证集的正确率
如图4所示,当C值等于3,γ值等于0.003,再交叉验证集上的正确率达53.75%,高于大部分的C值和γ值的组合。
Figure 5. AUC (Area Under Curve) of cross validation set
图5. 交叉验证集的AUC值
如图5所示,当C值等于3,γ值等于0.003,在交叉验证集上AUC值达55.49%,高于大部分的C值和γ值的组合。
Figure 6. Accuracy of the test set
图6. 测试集的正确率
如图6所示,当C值等于3,γ值等于0.003,在测试集上的正确率达51.90%,高于大部分的C值和γ值的组合。
Figure 7. AUC (Area Under Curve) of test set
图7. 测试集的AUC值
如图7所示,当C值等于3,γ值等于0.003,在测试集上的AUC值达51.87%,高于大部分的C值和γ值的组合。
本文将采用ROC曲线覆盖下的面积AUC作为模型评估的另一指标。ROC曲线的中段越接近左上角,AUC的值接近1,模型预测分类效果越佳;反之,ROC曲线越贴近对角线,AUC的值越接近0.5,模型预测分类效果越差。如图8所示,本模型AUC值为0.71508,较为接近1,表明模型整体性能较优秀,在较低虚报率的同时,能够保持较高召回率,这表明模型能够有效地识别正例,并减少误报。
Figure 8. Model ROC curve
图8. 模型ROC曲线
3.4. 实验结果(是否加入量价数据)对比
我们选用近150日的量价数据为训练集,采用基于SVM模型,对多因子选股模型已选出的20支股票进行二次筛选,对其进行优化。优化结果如表2所示:策略累积收益率与夏普比率显著优于多因子选股策略,最大回撤比之减小或者略高,由此可见,加入量价数据的选股策略有效。
Table 2. Camparsion of experiments results with or without volume and price data
表2. 是否加入量价数据实验结果对比
股票数量 |
是否加入 量价数据 |
策略 收益 |
策略年 化收益 |
基准年 化收益 |
Alpha |
Beta |
Sharpe |
胜率 |
最大回撤 |
20 |
否 |
8.03% |
17.78% |
11.12% |
0.09 |
0.71 |
1.23 |
55.46% |
9.18% |
20 |
是 |
12.86% |
29.21% |
11.12% |
0.2 |
0.82 |
1.77 |
59.32% |
10.50% |
4. 结论
通过本文研究,我们构建了基于支持向量机算法的多因子融合量价数据选股策略,并进行了实证分析。我们整个构建过程经过了因子处理、模型建立、参数选择、回测分析及优化等多个环节,全面探讨了策略的构建和实证效果。多因子选股模型通过处理上月末因子数据、结合财务信息,选出预测本月上涨幅度最大的20只股票,形成候选股票池。量价选股模型针对每只候选股票建立独立训练模型,通过预测股票涨跌情况进行持有。在评估方面,ROC曲线与AUC分析工具评估了模型性能,得到了多因子选股模型的AUC值为0.71508,表现良好。在回测分析中显示多因子选股模型取得显著累计策略收益,年化收益率达到38.01%,并在样本外测试中仍有超额收益,由此可知,引入量价数据的选股模型优化策略进一步提升综合表现。
综上所述,结合多因子选股模型和量价模型构建的量化投资策略在回测和样本外测试中表现出色,但需密切关注市场变化和因子选择,在实际应用中采用动态因子库和滚动式训练方法,以适应不同市场环境。这一研究为投资者提供了潜在高收益的量化选股策略,并为未来研究和实践提供了启示。
基金项目
智慧学客——基于协同过滤算法的课程推荐系统(11120032662348);基于课程云平台数据、勾画学生画像提升《机器学习》课堂教学效果(xxjg20220);《机器学习》线上线下混合式一流课程(HHKC2309);基于社会化方法的情境感知个性化服务研究(18092125-Y)。