1. 引言
波动率是度量标的资产投资收益不确定性的重要指标,在风险管理、资产定价及衍生品定价中,波动率都是最具有研究意义的指标之一。对于一些重要股票指数,如中国大陆地区的上证综指、沪深300、深证成指,美国的纳斯达克指数、标普500指数,中国香港地区的恒生指数等,它们的波动率是衡量市场风险的重要指标。对于A股而言,沪深300是一个全面且有代表性的指数,它的波动率预测能为衡量市场走势和进行风险防控提供重要参考。
金融数据波动率的研究历史悠久,在早期的波动率预测研究中,研究数据往往采用月度、日度频率的低频数据,经典模型有Engle在1982年提出的自回归条件异方差(ARCH)模型[1]和Bollerslev在1986年提出的广义自回归条件异方差(GARCH)模型[2],这些模型都假设波动率是一个不可观察的隐变量。ARCH模型通过建立均值模型,并使用一个确定性函数来描述波动率的动态变化。GARCH模型则是对误差项的方差进行建模,其中包含了方差自身的滞后项。目前,GARCH类模型是金融风险管理等领域最广泛使用的模型,然而,当今许多金融时间序列数据具有非线性、高维度和高频率的特征,使用高频数据,充分挖掘日内交易信息,能够大大提高波动率预测在实践中的价值。
Andersen和Bollerslev在1998年首次提出基于高频日内数据改进日间波动率测量的新方法[3],其主要优势在于计算过程简单且不需要复杂的参数估计。基于这种测量方法,研究人员开始探索新的波动率预测模型。Corsi在2009年提出了一种基于异质市场假设的已实现波动率的自回归模型[4],即异质自回归已实现波动率模型(Heterogeneous Autoregressive Realized Volatility,简称HAR-RV)。该模型的特点在于它考虑了在不同时间尺度上实现的波动率的不同组成部分,因此得名。HAR-RV模型认为,由于市场上的投资者对未来收益有不同的预期,在面对近期和远期波动时会有不同的反应,这意味着投资者在面对相同信息时会做出不同的决策。
胡越,王桑原,覃浩恒等基于XGBoost模型的波动率预测框架,考虑价格和基本面数据,对玉米期货波动率进行分析,实证结果表明,加入了更多信息维度的模型有助于提升波动率预测的精度[5]。Tissaoui K.,Zaghdoudi T.,Hakimi A.等人将机器学习技术应用于原油价格的预测,实证表明XGBoost模型在准确性和收敛性方面表现出优于SVM模型的预测能力[6]。
除了单一的模型预测之外,不少学者将组合模型应用在波动率预测领域。Werner Kristjanpoller和Marcel C. Minutolo提出了一种结合人工神经网络(ANN)和广义自回归条件异方差(GARCH)模型的混合模型,并进行了预处理,以预测比特币价格波动[7],这是市场上交易量最大、市值最高的加密货币。Y. Wang和Y. Guo构建了DWT-ARIMA-XGBoost模型[8],相比单个ARIMA模型或单个XGBoost模型,混合模型大大提高了股价的预测性能;Serkan Aras将不同阶数的GARCH模型分别与SVM,ANN,RF和KNN四种机器学习方法结合构建堆叠集成模型[9],实证表明单一模型的预测性能不如堆叠模型。邱冬阳,丁玲,何一夫使用EN-LSTM组合模型对上海黄金期货波动率进行短期预测,验证了高频数据具有更高的预测精度[10]。Hongbin Dai,Guangqiu Huang,Huibin Zeng等人提出了一种结合XGBoost、四种GARCH模型和MLP模型(XGBoost-GARCH-MLP)的混合模型,用于预测PM2.5浓度值及其波动,实证结果表明,提出的波动预测模型在长期预测过程中表现出良好的性能[11]。
在金融市场中,波动率的预测面临着多种挑战,其中包括数据的高频特性、非线性关系以及市场在不同时间尺度上的复杂动态。传统的HAR-RV模型虽然在处理已实现波动率的线性部分上表现出色,但其难以有效捕捉市场中潜在的非线性特征。因此,结合机器学习技术来预测金融市场波动率,成为一种创新且高效的策略。首先,金融市场的数据通常具有高频性质,且带有较强的噪声。与传统计量模型相比,机器学习方法能够通过对大量高维数据的自动学习,揭示其中的非线性关系和复杂模式,从而在捕捉动态波动上具有显著优势。在众多机器学习模型中,XGBoost集成模型已被广泛应用于金融市场的预测分析,且取得了良好的效果。其次,金融市场的波动率不仅呈现出短期的瞬时波动,还受到不同时间尺度的影响。市场的波动性既有日内波动,也有周度甚至更长时间尺度的长期变化。HAR-RV模型通过不同时间尺度的历史波动率来建模,能够再现金融收益的长记忆性、厚尾分布和自相似性等关键经验特征。因此,将XGBoost与HAR-RV模型结合,可以有效地处理高频金融数据的非线性特征,同时通过机器融入市场交易指标和技术指标,能够使模型吸收更多市场信息。通过这种结合,我们不仅能够利用HAR-RV模型的结构性优势捕捉波动率的历史动态,还能够充分发挥机器学习在高频数据中的灵活性和高效性,提升波动率预测的准确性和稳健性。基于这些考虑,本文将XGBoost和HAR-RV模型相结合,旨在降低预测误差,提高股市波动率预测的准确性。本文可能的创新点如下:
1) 我们在特征选择阶段采用了XGBoost重要性评分,递归地剔除多余变量,实现特征子集的优化;
2) 我们将HAR-RV和XGBoost相结合得到混合模型,除此之外模型中还囊括了沪深300指数的交易指标、技术指标和已实现波动率历史值,充分利用了市场上的波动率相关信息,有效地刻画了已实现波动率的非线性特征,同时,HAR-RV和XGBoost模型的特性使得我们的混合模型具有明确的可解释性;
3) 我们构建了多种已实现波动率预测模型,并使用多个评价指标,全面比较了混合模型、传统HAR-RV模型和单一机器学习模型对股票市场已实现波动率的预测性能。
2. 研究方法与理论分析
2.1. 高频数据与已实现波动率
在金融市场中,高频数据指的是那些采集频率高于日、周、月等常规频率的交易数据,高频数据通常按小时、分钟或秒来收集,而超高频数据则是指在交易系统内实时获取的分笔交易记录。由于市场信息对资产价格的影响是连续的,价格变动理论上是一个连续过程。如果仅使用低频数据来模拟这一过程,较低的采样率会导致大量市场信息的丢失,从而使得模型描述与实际情况存在较大偏差。高频数据相较于低频数据,由于其更高的采样频率,蕴含了更丰富的信息量,利用高频数据建立起的价格过程能够很好地描述金融市场价格变化过程,其在金融领域也得到了广泛应用。
Andersen和Bollerslev在1998年的研究中提出,“已实现波动率”是一种通过汇总交易时间内高频收益数据的平方和来衡量波动性的指标[3]。与传统的使用日收益率的标准差度量波动率相比,已实现波动率显著减少了测量误差和噪声的干扰,从而更准确地反映了实际的市场波动情况[12]。设
是某标的在
时刻价格的对数,假设
为布朗运动驱动的连续时间扩散过程,其动态特征表示为:
(1)
其中,
是可预测和局部的有界漂移项(Predictable and Locally Bounded Drift Term),
是远离0的随机波动过程(Càdlàg Volatility Process),
是标准布朗运动(Standard Brownian Motion)。
的二次变差过程定义为:
(2)
其中,
为积分方差(Integrated Variance),表示连续波动对日内波动率的贡献;
表示跳跃部分(Jump Component)对日内波动率的贡献,
表示资产价格在第
天发生跳跃的次数,
表示第
天第
个跳跃发生的幅度,无跳跃发生时
为0。Barndorff-Nielsen和Shephard (2004)研究表明,当高
频数据的抽样频率大到一定程度时,已实现波动率(Realized Volatility)依概率收敛到二次变差(Quadratic Variation) [13]。当标的价格不存在跳跃过程,二次变差退化为积分方差,此时已实现波动率是积分方差的一致估计量。
依据Andersen和Bollerslev的研究[3],假定资产收益率服从连续时间扩散模型,根据二次变差相关理论,已实现波动率可用日内收益率的平方和来计算,已实现波动率可表示为:
(3)
(4)
其中,
为一天内观察到的收益率个数,
为第
天第
个时间间隔的收益率。
2.2. 已实现波动率异质自回归模型(Heterogeneous Autoregressive of Realized Volatility,
HAR-RV)
Corsi在Ulrich A. Müller,Michel M. Dacorogna,Rakhal D. Davé等人[14]的异质市场假说基础上提出了针对已实现波动率的异质自回归HAR-RV模型,它定义
时刻的波动率为日、周、月波动率成分的线性组合,模型定义如下:
(5)
为
时刻的周已实现波动率,即:
(6)
为
时刻的月已实现波动率,即:
(7)
2.3. 极端梯度提升树(XGBoost)回归
XGBoost算法,全称为极限梯度提升算法,由陈天奇和卡内基梅隆大学的Carlos Guestrin在2016年提出[15],是一种基于Boosting框架的集成算法,它通过迭代地训练一系列弱学习器来构建一个更为强大的模型。在XGBoost中,每个弱学习器都是一个分类与回归树(CART)模型。在XGBoost的训练过程中,每个弱学习器都会根据前一个模型的残差(即预测误差)来调整训练数据的权重,逐步提高预测精度,最终的预测结果是由多个CART模型的输出相加得到的,可表示为:
(8)
其中,
为树的数量,
为空间
中的一个函数,代表第
个弱学习器,
为所有可能的CART集合。
为预测值,
为模型输入的第
个特征向量。每次迭代时,XGBoost不改变原来的模型,而是将一个新的函数添加到模型里。迭代更新方式可表示为式:
(9)
XGBoost的目标函数为:
(10)
(11)
其中,
为损失函数,
为正则化项。
为叶子节点的数量,
为叶子节点权重的平方和,
控制了树的叶子节点的数目
2.4. 基于XGBoost算法的特征重要度
XGBoost模型的特征重要度评分主要基于树模型在训练过程中对特征的使用情况进行量化,本文的特征选择方法通过计算特征增益实现。
特征重要度的增益(Gain)衡量的是该特征在树的分裂过程中为模型带来的信息增益,即该特征在节点分裂时对目标变量不确定性的减少程度。信息增益通常通过目标函数的损失下降量来衡量。在XGBoost训练过程中,当一个特征用于分裂某个节点时,该节点的损失函数值会相应减少。模型最终将特征在所有树中的信息增益进行累加并归一化,得到该特征的重要度。特征的增益越大,说明该特征在降低预测误差、提高模型性能方面的贡献越显著。基于增益计算的特征重要度可表述如下:
(12)
这里
表示第k个节点,
表示所有CART的数量,
表示第t棵树的非叶子节点数量,
为指示函数,
表示第t棵树的第i个非叶子节点的划分特征,
分别表示落在第t棵树第i个非叶子节点上所有样本的一阶导数、二阶导数之和,下角标括号内
和
当前非叶子节点的左、右节点。
3. 模型构建与技术路线
本文构建的XGBoost-HAR-RV模型旨在通过多时间尺度波动率与市场特征的融合,实现对市场波动率的高精度预测。具体而言,首先基于沪深300指数的高频5分钟价格数据,利用HAR-RV模型提取日度、周度和月度的波动率成分,以捕捉波动率在不同时间尺度上的异质性特征,弥补单一时间尺度模型对市场波动信息捕捉不足的局限性。同时,本文引入多维度市场信息,包括每日收盘价、收益率、换手率、涨跌额和振幅等交易指标,以及相对强弱指数、12日动量指标、布林带、移动平均线、平均真实波动范围和20日滚动标准差等技术指标。这些交易与技术指标作为市场动态和价格行为的重要反映,有助于模型在捕捉市场价格趋势、波动范围及超买超卖状态的基础上,进一步拓宽输入数据的广度与深度,增强市场信号的捕捉能力。
在特征工程方面,本文采用基于XGBoost算法的特征重要度评分,并结合递归特征消除(Recursive Feature Elimination, RFE)方法对输入特征进行筛选[16],剔除冗余和噪声信息,形成最优特征子集,从而有效降低模型的计算复杂度,避免特征冗余引发的过拟合问题。本文所选初始特征如表1所示。最终,将经过特征优化的指标与HAR-RV模型的输出,共同输入到XGBoost模型进行建模。XGBoost作为一种集成学习算法,具有强大的非线性拟合能力和对高维特征的高效处理能力,进一步提升波动率预测的准确性与稳定性。
RFE通过相应重要度值逐步移除不重要的特征,通过重新训练和计算进一步确保最佳特征集。该方法不但可以最大程度地减少非有效特征,降低计算复杂度,而且能够保证与模型表现最具共性的最优特征保留[16] [17]。增益是比较特征在模型中分裂节点时导致目标变量不确定性降低的能力。在XGBoost训练过程中,
Figure 1. Technology roadmap
图1. 技术路线图
Table 1. Feature categories, names, and symbols
表1. 特征分类、名称与符号
序号 |
特征类别 |
特征名 |
英文或符号 |
1 |
已实现波动率历史值(RV_L) |
滞后一天的日波动率 |
|
2 |
滞后两天的日波动率 |
|
3 |
滞后一天的周波动率 |
|
4 |
滞后一天的月波动率 |
|
5 |
交易指标(Trade) |
前一日收盘价 |
Close |
6 |
前一日收益率 |
Return |
7 |
前一日换手率 |
Turnover Rate |
8 |
前一日涨跌额 |
Fluctuate Amount |
9 |
前一日振幅 |
Amplitude |
10 |
技术指标(Tech) |
相对强弱指数 |
RSI |
11 |
12日动量指标 |
M12 |
12 |
平均真实波动范围 |
ATR |
13 |
布林带上轨 |
Bollinger Upper Band |
14 |
布林带下轨 |
Bollinger Lower Band |
15 |
简单移动平均线 |
SMA |
16 |
20日滚动标准差 |
SD |
每当一个特征被用于节点分裂,相应节点的损失函数值会降低。模型将该特征在所有树中的信息增益进行累加并对其进行对比和处理,从而获得该特征的重要度值。增益值越高,说明该特征在降低预测误差和提升模型性能方面贡献越大。递归特征消除法基于上述特征重要度值,从完整特征集中选取比较重要的部分特征,并逐步移除重要度值较低的特征,以确保最终特征集保持最大信息量和较高性能。在每步消除位于底层的特征后,重新训练模型,再次进行特征重要度计算。这种循环直至特征集不能再实现模型性能提升为止。本文技术路线如图1所示。
4. 实证分析
4.1. 实验数据
本研究选取了2010年1月4日至2024年8月31日期间的沪深300指数价格数据,覆盖了3563个交易日。在每个交易日内,我们以5分钟为间隔进行数据采样,因此每个交易日能够获得48个价格点。累计起来,我们得到了171,024个沪深300指数的价格数据。数据来源为Wind数据库。我们将2010年至2023年10月份的数据作为训练集和验证集,2023年11月至2024年8月的数据作为测试集。
训练集和验证集的数据如图2、图3所示,图2中,横坐标为按时间顺序排列的交易日索引,纵坐标为沪深300指数的100倍日对数收益率。看出沪深300指数的对数收益率存在剧烈波动,且存在较为明显的波动聚集现象。训练集与验证集样本量为3357,对数收益率最大值0.0650,最小值−0.0915,均值0.000003,标准差0.0140,偏度为−0.63398,峰度为4.81288。
4.2. 参数估计
在进行参数估计之前,我们对
,
和
进行ADF平稳性检验,检验结果显示,
的p-value为2.5768e−09,
的p-value为3.8269e−05,
的p-value为0.0003,三个序列的p值均小于0.05。
Figure 2. 100 times logarithmic returns of the CSI300 index
图2. 100倍沪深300对数收益率
Figure 3. Skewness and Kurtosis of CSI300 returns
图3. 沪深300对数收益率偏度和峰度
使用最小二乘法对异质自回归模型进行参数估计,各项系数及对应的t检验结果如表2所示。
Table 2. Parameter estimation for the HAR-RV model
表2. HAR-RV模型参数估计
|
Coef |
Std err |
t |
p > |t| |
Const |
0.0017 |
0.001 |
3.020 |
0.003 |
续表
|
0.3109 |
0.027 |
11.555 |
0.000 |
|
0.4751 |
0.040 |
11.794 |
0.000 |
|
0.1032 |
0.035 |
2.921 |
0.004 |
4.3. 特征选择
为了提升模型的计算效率和综合表现,实现不同类型特征信息的最佳融合,本文在特征工程中采用了基于XGBoost算法的特征重要度评分,并结合递归特征消除法对输入特征进行筛选。
具体操作为,将所有备选特征输入到XGBoost中进行训练,根据训练过程输出特征重要度评分,去掉最不重要的特征,在训练集中重新训练模型。并计算验证集的均方根误差RMSE,若RMSE减小,说明特征子集得到了优化,继续重复上一步骤,若RMSE没有减小,说明没有必要进行剔除操作,则保留训练前去掉的最后一个特征,并结束特征选择,输出最优子集。特征选择过程中,每一步训练得到的模型重要度评分如下。我们进行了9次训练,剔除了7项特征,最终在波动率历史值、市场交易指标和技术指标集中保留了由9项特征组成的最优子集。递归剔除过程中特征重要度评分如图4所示。
4.4. 超参数优化
为了进一步提升模型性能,本研究采用贝叶斯优化方法对XGBoost模型的超参数进行了调优。贝叶斯优化通过构建代理模型来近似目标函数,并利用获取函数(Acquisition Function)指导参数的探索过程,以高效地找到最佳参数组合。
Figure 4. Feature importance rankings from XGBoost
图4. 基于XGBoost的特征重要度排序
优化过程中,本文选取了以下关键超参数:
learning_rate:学习率,控制模型的更新步长,避免收敛过快或过慢。
max_depth:最大深度,限制每棵树的最大深度,用以控制模型复杂度。
subsample:子采样率用于随机采样训练数据的比例,减少过拟合风险。
alpha:L1正则化项的权重,用于增强模型对稀疏特征的鲁棒性。
reg_lambda:L2正则化项的权重,用以限制模型复杂度,防止过拟合。
在优化过程中,以交叉验证的均方误差(Mean Squared Error, MSE)作为评价指标,构建目标函数,通过迭代更新寻找全局最优参数组合。优化结果表明,经过超参数调优的模型在测试集上的预测精度显著优于默认参数设置。
本研究的所有实验均在个人计算机上完成,计算机配备的主要硬件配置如下:
处理器(CPU):AMD Ryzen 7,6800H,主频3201 MHz,具备8个物理核心和16个逻辑处理器;
显卡(GPU):集成 Radeon Graphics;
内存:16 G;
操作系统:Microsoft Windows 11。
本研究所设置的随机采样点和优化迭代次数均为110,优化耗时50.8 s。优化后超参数为学习率0.09。最大深度6,子采样率0.7,alpha为0,reg_lambda为5.62。贝叶斯优化过程如图5所示。
Figure 5. Bayesian optimization progress
图5. 贝叶斯优化过程
4.5. 模型构建
本研究提出了四种模型以全面评估不同建模策略对波动率预测性能的影响:
模型1:采用已实现波动率异质自回归模型,利用日、周、月三种时间尺度的已实现波动率数据,捕捉市场波动率的异质性特征。
模型2:XGBoost + 未优化特征集,基于全部原始特征构建XGBoost模型,用以评估未经过特征选择时的预测性能。
模型3:XGBoost + 优化特征子集,采用递归特征消除法(RFE)筛选特征子集,优化输入特征,减少冗余和噪声,提高模型性能。
模型4:XGBoost + 优化特征子集 + HAR-RV,结合HAR-RV模型的时间尺度特征与XGBoost的非线性特性,通过融合多时间尺度波动率成分和市场信息,实现对市场波动率的高效预测。
4.6. 实验结果
本文选取均方根误差(Root Mean Square Error, RMSE)、平均绝对误差(Mean Absolute Error, MAE)和平均绝对百分比误差(Mean Absolute Percentage Error, MAPE)来衡量不同模型在测试集上的预测精度。评价指标的计算过程如下。
(14)
(15)
(16)
通过三种损失函数对模型1、模型2、模型3和模型4在测试集上的表现进行评估,结果如表3所示。结果表明,与未进行特征选择的模型2相比,模型3在预测精度方面实现了一定提升;在此基础上进一步引入HAR预测因子后,模型4展现出了最优的预测性能,显著优于其他模型。
Table 3. Effect comparison of model prediction
表3. 模型预测效果对比
|
RMSE |
MAE |
MAPE |
模型1 |
0.0056 |
0.0032 |
0.4252 |
模型2 |
0.0058 |
0.0034 |
0.4290 |
模型3 |
0.0056 |
0.0031 |
0.4186 |
模型4 |
0.0054 |
0.0028 |
0.4095 |
5. 结论
本研究基于沪深300指数高频数据,构建了XGBoost与HAR-RV相结合的混合模型,对金融市场的已实现波动率进行预测。研究的主要结论如下:
1) 特征选择的优化效果显著。通过XGBoost重要度评分结合递归特征消除法筛选特征,成功移除冗余与低效特征,显著提高了模型性能。优化后的特征子集不仅降低了模型复杂度,还提升了模型预测的准确性。
2) 模型集成提升预测表现。HAR-RV模型有效捕捉了波动率在不同时间尺度上的异质性特征,而XGBoost则进一步挖掘了市场数据中的非线性关系。两者的有机结合,使得混合模型在综合性能上优于传统单一模型和未优化的机器学习模型。
3) 实验结果验证模型的优越性。在多项评价指标下,XGBoost + 优化特征子集 + HAR-RV的混合模型均表现最佳,较其他模型在RMSE、MAE和MAPE等指标上实现了显著优化,展现了强大的预测能力。
本研究不仅为金融市场波动率预测提供了新的技术框架,还证明了高频数据、特征工程和模型融合的潜在优势。然而,模型的实际应用仍面临诸如计算资源需求较高和外部市场环境变化等挑战,未来研究可以尝试优化算法效率,并探索更多外生变量的影响。
NOTES
*通讯作者。