1. 引言
1.1. 研究背景
近年来,随着金融市场的快速发展和高频交易[1]的广泛应用,交易策略的自动化和智能化成为了金融领域的重要研究方向。高频交易(HFT)作为全球金融市场主流交易模式之一,依赖高速计算与快速决策,通过捕捉微小价格波动套利,能在极短时间内完成大量交易,其核心在于对市场数据实时分析并在毫秒级做出决策,这对模型的实时性、准确性和计算效率要求极高。通常,HFT背后的一个普遍假设是,执行速度最快的交易员比执行速度较慢的交易员更有利可图[2]。通过在几秒钟内进行高频交易,它为市场增加了流动性,并消除了买卖价差。然而,高频交易数据具有高维度、稀疏性和非线性等特点,市场数据复杂且受噪声干扰,传统统计分析与机器学习方法不仅难以精准捕捉市场真实趋势与价格波动,面对快速变化的市场环境无法及时调整以适应新数据流,适应性较差,而且传统批处理方法无法满足对实时数据流的处理需求。此外,高频交易不仅要求精准预测和快速决策,还高度重视决策过程的透明度与可解释性,由于交易策略与决策复杂,若决策过程不可解释,交易者和决策者将难以理解模型决策依据,进而影响交易的稳定性与可信度,因此提高高频交易模型的可解释性和决策透明度成为当前研究的一大挑战。
1.2. 在线学习研究现状
在线学习算法(Online Learning Algorithms)是一种能够实时更新模型的机器学习方法,能够处理数据流或实时数据。与传统的批量学习算法(Batch Learning Algorithms)相比,在线学习算法可以在接收到新样本时逐步更新模型,而不需要重新训练整个数据集。它们能够适应数据分布的变化,即当数据的统计特性随时间变化时,模型能够捕捉这些变化并做出相应的调整。这种设计不仅使得在线学习算法在计算复杂度和内存占用方面更加高效,还能够适应数据分布的动态变化,尤其适用于金融、医疗、网络安全、社交媒体分析等需要即时响应的场景。在线学习算法无需存储完整的训练数据集,仅需维护当前模型状态,从而降低内存占用和计算复杂度,同时减少单个错误或异常值对模型性能的影响。
在线学习这类算法的核心机制[3]是在每一轮接收到一个实例
后,预测其类标签
。算法获取真实标签
,并根据实时损失函数调整模型参数,优化预测效果。以二元分类为例,训练数据集为
,线性假设空间定义为
。在第t轮,实例
,标签为
和分类器参数
表示当前的输入数据、实际类别和模型状态。与离线学习需要结合新旧数据重新训练不同,在线学习算法能够在每轮中独立更新参数,从而高效应对动态环境中的数据流和概念漂移。
近年来,在线学习算法在多个领域取得了显著进展,为高频交易预测、实时分类、异常检测等复杂问题提供了高效解决方案。Li等人[4]通过松弛最大边界算法在高频交易场景中实现了实时更新股票价格预测。Huang等人[5]开发了在线序列极限学习机(OS-ELM),结合增量学习和正则化最小二乘法,有效解决了时间序列数据的实时分类与回归问题。Zhao等人[6]提出的预算PA算法(BPA),通过限制模型支持向量数量,显著降低了高维数据处理中的计算复杂度。Crammer等人[7]的Passive-Aggressive (PA)算法动态调整分类器以适应流式数据,有效提高了在线学习中的效率与稳定性。Gentile [8]提出了近似最大边界分类算法,通过优化简化计算模型,在大规模交易数据中表现出卓越的性能。Dredze等人[9]设计了置信加权线性分类(CW)算法,利用置信区间更新机制解决了高噪声环境中的分类问题,而Crammer等人[10]进一步提出权重向量自适应正则化方法(AROW),针对动态数据分布下的分类任务提供了鲁棒解决方案。同时,Cortes等人[11]的支持向量机(SVM)理论奠定了非线性分类的理论基础,为核方法的广泛应用提供了支持。这些研究共同推动了在线学习算法在高频交易、推荐系统和异常检测等领域的广泛应用和技术进步。
2. 模型假设
在高频交易场景中,市场走势通常被看作是一个动态变化的过程。使用市场趋势作为标签,如果当前时刻的收盘价高于前一时刻,我们将当前数据标记为上行/+1,相反,我们将新数据标记为下行/−1,以代表高频交易市场的趋势。根据模型发出的预测信号,交易机器人决定是购买、出售还是持有股票。在这一框架下,模型通过实时接收和处理输入数据,动态预测市场趋势,并将预测信号直接映射为交易操作。
(1)
其中w为模型权重,当
时,表示市场趋势为上涨;当
时,表示市场趋势为下跌。分类器权重w通过在线学习实时更新,以适应市场变化。
Figure 1. Linear classification in high-frequency trading context
图1. 高频交易场景下使用线性分类方法对市场趋势进行预测决策可视化
图1中展示了模型的特征空间、数据点分布及决策边界。图中的蓝色点代表预测的上涨趋势(+1),红色点代表预测的下跌趋势(−1),黑色虚线则表示模型的线性决策边界。特征空间的动态分布展示了分类器的实时性和适应性。
3. 数据采集
Tushare [12]是一个提供中国股市历史数据的API接口,广泛用于金融数据的获取和分析。本文通过Tushare接口抓取了沪深300指数(2023-01-03 09:31:00至2024-12-30 15:00:00)、SA股票(2019-12-06 21:00至2021-02-01 22:59)、UR股票(2019-08-12 08:59至2021-02-01 14:59)高频交易数据,数据指标涵盖open、close、high、low、volume和money。基础爬虫程序功能模块关系如图2所示。
Figure 2. Spider program functional module relationship diagram
图2. 爬虫程序功能模块关系图
基础爬虫程序框架包括爬虫调度器、URL管理器、HTML下载器、HTML解析器、数据存储器等五大模块。爬虫调度器主要负责协调其他四个模块工作;URL管理器负责管理URL链接,维护已经爬取的URL集合和未爬取的URL集合,提供获取新URL链接的接口;HTML下载器用于从URL管理器中获取未爬取的URL链接并下载HTML网页;HTML解析器用于从HTML下载器中获取已经下载的HTML网页,并从中解析出新的URL链接交给URL管理器,解析出有效数据交给数据存储器;数据存储器用于将HTML解析器解析出来的数据通过文件或者数据库的形式存储起来。
4. 模型设计
为了提升高频实时交易趋势数据预测的准确性,本文提出了一种基于嵌入结构信息与动量优化的在线学习模型。通过引入L2正则化项[13]和Hinge Loss [14]进行目标函数的优化,并使用Adam优化器进行参数更新。在做出预测后,市场趋势的真实标签被揭示出来,算法遭受了瞬时损失。然后,该算法通过将新的特征标签对输入到优化问题求解中来提高其对未来几轮的预测性能[15]。
为了决策过程的透明度与可解释性,本文设计了双层聚类方法用于辅助决策可视化。通过K-Means聚类[16]提取结构信息的全局分布特性,再结合层次聚类[17]进一步细化局部数据的分布特性,最后叠加决策边界展示数据分布与分类结果的关联性。
4.1. 结构信息构建
结构信息[18]指数据中存在的关系、连接,或者组织结构等隐含信息。在实际问题中,数据不仅包含单独的样本特征,还可能包含样本之间的关联或连接信息。结构信息的存在可以帮助模型更好地理解数据,并从中挖掘出更深层次的规律和关联。结构信息构建通过合理的特征提取方法,将原始数据中的时序特性、局部波动性以及全局相关性有效嵌入到学习模型中,从而增强模型对复杂数据模式的学习能力。本研究采用了多层次的特征工程方法,通过时间序列特征、局部极值特征和全局关系特征的构建,充分挖掘高频数据的结构信息。
4.1.1. 时间序列特征
时间序列特征是分析高频数据时最常用的特征之一,它能够反映价格随时间变化的趋势及其波动特性。通过构建时间序列特征,我们可以捕捉到数据中的短期和中期趋势变化,为预测模型提供重要的输入信息。本研究选择了以下几种典型的时间序列特征:
滞后收益率是反映当前时刻价格与上一时刻价格之间变化的相对指标。通过计算收盘价的百分比变化,可以得到市场价格的波动信息,进而捕捉价格的短期变化趋势。其计算公式为(2),其中
为第t时刻的收盘价:
(2)
价格变化特征直接衡量当前价格与前一时刻价格之间的绝对差异。它可以反映市场在短时间内的波动幅度,帮助模型识别市场的剧烈波动。其计算公式为:
(3)
价格加速度衡量的是价格变化的变化率,即价格变动的速度。它是价格变化的二阶导数,能够反映市场价格波动的加速或减速趋势。计算公式为:
(4)
简单移动平均线SMA用于计算一定窗口内的收盘价平均值,公式为(5),其中N是动量的时间窗口:
(5)
动量特征反映了价格在一定时间窗口内的变化趋势,是金融分析中常用的技术指标。通过计算当前时刻价格与若干时刻之前价格的差异,可以捕捉到市场的中期走势。其计算公式:
(6)
4.1.2. 局部极值特征
局部极值特征主要用于捕捉价格波动中的高低点变化,是对短期市场波动性的度量。通过提取这些特征,能够识别市场的局部拐点,帮助预测市场的短期趋势反转。常用的局部极值特征包括随机指标% K和% D,以及市场波动率。
随机指标
衡量当前价格在近期区间内的相对位置,它反映了价格相对于最近价格波动的强弱程度。公式为(6),其中
是N时刻的最低价,
是N时刻的最高价:
(7)
随机指标
是
指标的移动平均,能够平滑价格波动,减少噪声的影响。其计算公式为(7),其中M是% D的移动平均窗口大小:
(8)
市场波动率反映了市场价格在一定时间窗口内的波动幅度,通常用于衡量市场的不确定性和风险水平。其计算公式为(8),其中N为滚动窗口大小,
为窗口内收盘价的均值:
(9)
4.1.3. 全局关系特征
全局关系特征用于捕捉不同特征之间的相互关系,并通过正则化方法来实现特征之间的相互作用。协方差从统计学的角度反映两个变量之间的线性关系。它是通过描述数据统计结构的重要二阶统计量,采用期望和协方差来进行刻画。
期望是反映数据分布的均值即描述随机变量的中心趋势:
(10)
方差描述数据偏离均值的程度:
(11)
在实际计算中,通常使用无偏估计的样本方差:
(12)
协方差是两个随机变量之间线性相关性的测量指标:
(13)
如果协方差为正,表示变量X和Y正相关;如果协方差为负,表示变量X和Y负相关;如果协方差为零则表示X和Y无限性相关性。
对于多维随机变量,协方差矩阵描述了各变量之间的线性相关性。设
为n维随机变量,其协方差矩阵为
,具有对称性
,且其对角线元素
,表示变量的方差。在动态数据流或实时数据场景种,可以利用递归公式快速更新协方差矩阵,Cesa-Bianchi 等人提出的方法基于谢尔曼–莫里森(Sherman-Morrison)公式,递归公式如下:
(14)
(15)
4.2. SOC模型设计
SOC (Structural Online Classification)模型主要通过结构信息嵌入与动量优化进行高频交易数据的实时分类预测且预测目标是进行二分类任务,输出的是市场趋势的分类结果。其中
表示交易机器人需要即时做出反馈进行市场买卖。损失函数用于度量模型预测的误差,并通过梯度优化来更新模型参数。对于在线学习更新每一个数据点
,其目标是最小化以下的Hinge损失函数为(9),其中
为真实标签,取值为+1 or −1;
为输入特征向量;
为模型的权重向量:
(16)
SOC模型嵌入了L2正则化和协方差正则化。其中L2正则化项用于控制模型的复杂度,使得模型更加平滑,避免过拟合。公式(17)中
是L2正则化的超参数,d是特征维度,
是权重向量中的第i个元素。
(17)
为了捕捉结构信息之间的相关性,嵌入协方差正则化项。该正则化项通过调整结构信息之间的共变结构,使得模型能适应高相关性的特征。公式(18)种Σ为协方差矩阵,
是协方差正则化的超参数。
(18)
结合上述损失函数和正则化项,SOC模型的最终优化目标是最小化一下总损失函数。式(19)中N是样本数,w是待优化的权重向量通过下述公式求解能得到分类模型的最优参数。
(19)
在高频交易中涵盖的实时数据是动态变化的,因此需要实时更新模型的参数。本文采用了Adam优化器来实现动量优化。因为Adam优化器结合了梯度下降和动量优化的优点,使得更新过程更加高效。
一阶动量(
):
(20)
二阶动量(
):
(21)
偏差修正:
(22)
参数更新:
(23)
Adam优化器通过一阶和二阶动量的累计,能够快速适应动态数据流的快速变化,减少模型的收敛时间。在训练完成后,SOC模型可以针对动态数据流新传递的数据进行实时分类预测,其决策函数为:
(24)
下述为算法总体流程:
Algorithm: Structured Online Classification (SOC)
INPUT: aggressiveness parameter
INITIALIZE:
For
:
Receive instance:
Predict:
Receive correct label:
Suffer loss:
Update:
Compute gradient:
Where Σ is the covariance matrix, capturing structural relationships among features.
Adam optimizer update:
First moment (momentum):
Second moment (variance):
Bias correction:
Weight update:
Final Prediction:
Use the final weight vector w to predict new samples:
4.3. 决策可视化设计
为了提高SOC模型的决策透明性和可解释性,本研究设计了一种基于双层聚类结果和分类器决策边界的可视化方法。首先,利用K-Means聚类对数据进行全局分布建模,提取市场趋势的主要特性。K-Means的目标是通过最小化簇内平方误差,将n个数据点划分为K个簇,其损失函数定义为:
(25)
其中,
是第k个簇中的数据点集合,
为数据点,
为簇的质心。为确定最佳簇数K,采用肘部法则计算不同K值下目标函数J的变化率,当目标函数下降趋势明显减缓时选定最佳K值。
在全局聚类完成后,为进一步细化每个簇内的结构特性,本研究在每个K-Means簇内应用层次聚类。层次聚类通过单链法计算簇间最小距离逐步合并簇,其距离度量公式为:
(26)
其中,
表示簇
和簇
的距离,
为簇中任意数据点。层次聚类不仅细化了簇内分布,还揭示了局部市场趋势的微观波动特性。这些细化结构进一步用于生成协方差矩阵Σ,优化分类器的结构化正则化项,增强模型的鲁棒性。
5. 实验设计
为了验证所提出的基于结构信息嵌入与动量优化的高频数据在线学习模型的有效性,本实验设计了领域自适应实验、在线学习自适应验证。为了验证所提出的结构化在线分类模型(SOC)的有效性,使用了沪深300指数、UR股票、SA股票。通过对准确率、MSE、R方、F1进行模型性能评估。
5.1. 领域自适应实验
模型参数设置为,L2正则化强度被设定为0.01;协方差正则化强度设置为0.01 (λ₂);学习率(η)设定为0.001。优化器方面,我们采用了Adam优化器,并将其参数设置为:一阶动量衰减率(β1)为0.9,二阶动量衰减率(β2)为0.999,数值稳定常数(ε)为1e−8。在线学习设置中,批量大小被设定为100,即每次训练100个样本后更新一次模型权重。SOC模型通过逐步更新权重,对高频交易三支股票进行实时预测,下述表格(表1)为三个股票的实验结果。
Table 1. Domain adaptation experiment results
表1. 领域自适应实验结果
数据集 |
准确率(%) |
F1值 |
均方误差(MSE) |
R-squared |
沪深300指数 |
98.73 |
0.986 |
0.015 |
0.981 |
UR股票 |
86.82 |
0.864 |
0.028 |
0.850 |
SA股票 |
82.24 |
0.815 |
0.032 |
0.831 |
沪深300指数数据集表现最佳,分类准确率达到98.73%。UR股票和SA股票的波动性较高,导致准确率相对较低,但SOC模型在所有数据集上均表现出较高的稳健性。图3展示了模型的训练损失和验证损失随迭代次数变化,从图中可以看出随着迭代次数的增加,训练损失在初期迅速下降后波动较大,而验证损失则在初期快速下降后趋于平稳,这可能表明模型在训练集上表现良好,但在验证集上可能存在过拟合现象。
Figure 3. Training vs validation loss curve
图3. 训练损失和验证损失图
特征重要性分析
在特征重要性分析中采取了ANOVA F-Value方法来进行特征重要性说明。ANOVA F-Value通过计算每个特征对目标变量的方差贡献来评估其重要性(图4)。
Figure 4. Feature lmportance analysis (ANOVA F-Value)
图4. 特征重要性分析(方差分析F值)
Lagged return和price change是最重要的特征,具有最高的F-Value,表明它们对模型预测结果的贡献最大。“% K”、“price acceleration”等也对模型有一定的影响,但相对较小。
5.2. 对比实验
Figure 5. Pairwise feature decision visualization plot
图5. 两两特征决策可视化图
为对比SOC模型与传统神经网络模型的效果,采用双向LSTM结构构建特征提取层(隐藏层维度d_h = 128,层数L = 2),每层后接Dropout层(丢弃率p = 0.3)以提升泛化能力,末端连接全连接层(激活函数选用Softmax)输出分类概率分布。在优化器配置基于交叉熵损失函数构建目标函数,采用Adam优化器(初始学习率η = 1e−4,权重衰减系数λ = 1e−5)进行参数更新,并实施梯度裁剪(阈值θ = 1.0)以稳定训练过程。为了提升模型的泛化程度采取正则化策略在LSTM单元内部集成Zoneout机制(状态保留概率ξ = 0.15)增强时序连续性,同时采用蒙特卡洛Dropout (采样次数K = 10)进行不确定性量化,通过贝叶斯推断提升模型可靠性。训练协议设置批量大小B = 256,执行50个训练周期(epoch),采用早停策略(耐心阈值P = 5)防止过拟合,每轮迭代后基于验证集AUC指标动态保存最优模型参数。性能评估最终在测试集上计算多维度评价指标:分类准确率、F1-score、ROC曲线下面积(AUC)及混淆矩阵,同步记录单次前向传播时延(12.4 ms ± 0.3 ms)与GPU显存占用量(1.53 GB)以评估计算效率。下述表格为最终与SOC模型的效果对比如表2。
Table 2. Comparison of experimental results
表2. 对比实验结果
指标 |
基线模型 |
SOC模型 |
改进幅度 |
Accuracy |
47.36% |
98.73% |
+108.4% |
F1 Score |
31.20% |
98.73% |
+216.5% |
MSE |
2.106 |
0.0507 |
−97.6% |
通过上述对比实验结果得到SOC模型在准确率(Accuracy)、F1分数(F1 Score)和均方误差(MSE)等指标上都显著优于基线模型,分别实现了108.4%、216.5%和97.6%的改进。
5.3. 决策可视化
由于本模型为二元分类器,在进行决策可视化的过程中因为是多指标数据导致在绘制决策过程的时候只能进行两两特征对应展示决策可视化如图5所示。
针对上述情况无法进行全局展示决策过程可视化,因此采用了双层聚类决策,下述图6为K-Means聚类结果。
Figure 6. K-Means clustering visualization (4 clusters)
图6. 聚类可视化情况图
结合聚类与分类器的决策边界,图7展示了分类效果。红色和蓝色区域分别对应上涨趋势和下跌趋势。
Figure 7. Double clustering with classification decision boundary
图7. 双聚类与分类决策边界图
5.4. 在线学习自适应验证实验
通过分析在线学习技术累计的损失边界可以更加直观地展示模型的在线学习自适应性。与其他在线学习分类器不同的是本模型应用在高频交易预测涨幅中,涵盖多种特征提供有用的边界十分困难,为了评估SOC模型的自适应性能力,定义了一组动态数据。在每个阶段t,正类和负类数据分别从两个多元正态分布中产生。其中正类数据为:
,负类数据为
。其中
是阶段t的均值向量,其值逐步变化;
是阶段t的协方差矩阵,数值可增大用以模拟数据的扩散。
,
控制协方差增长的速率。接着生成目标标签,其中
标签由分布的类别决定:
,接着将生成的标签随机翻转达到添加噪声的效果
。每阶段生成
个样本,阶段间分布通过
和
动态调整:其中阶段切换均值调整为
,阶段切换协方差调整为
。最终数据组合成:
。模型包含lambda1、lambda2和eta三个关键参数,lambda1和lambda2分别为L2和协方差正则化强度,用以防止过拟合和约束特征相关性;eta是学习率,控制权重更新步长,代码中分别设为0.01、0.01和0.001。此外,Adam优化器采用0.9的一阶动量衰减率与0.999的二阶动量衰减率,确保模型训练稳定并自适应调整参数更新步长。
为了分析SOC模型的在线自适应性,采取了每一百个样本生成一个带有决策边界的图,图8为节选出的决策边界可视化,从左到右依次进行变化。
Figure 8. Time series visualization of features
图8. 在线学习自适应验证决策过程可视化
虽然这些样本变化的数量较少,但是能够直观展示SOC模型对动态数据类别分布的变化。
6. 结论
SOC模型提出结合结构化特征嵌入与动量优化技术,显著增强了模型的鲁棒性与实时学习能力,有效降低了因市场波动带来的预测误差。通过引入双层聚类方法,对高维特征进行降维分析,优化了指标的全局与局部特性提取,并通过决策边界的可视化显著提升了高频交易中分类决策的透明度与可解释性。实验结果表明,通过结构信息嵌入和动量优化,SOC模型能够有效地处理高频数据并做出精确的市场趋势预测,相比于传统的LSTM神经网络模型,SOC模型的效果和泛化能力提升巨大。
基金项目
2023年江苏省大学生创新创业训练计划项目(202310305112Y):嵌入结构信息的高频实时数据量化分析与预测方法;盐城工学院校企合作课题(G20240909007);2024年江苏省高校“人工智能通识教育教学改革研究”专项课题(2024AIGE54)。
NOTES
*通讯作者。