1. 引言
根据国家统计局的报告,2023年我国玉米产量达到2.89亿吨,成为世界仅次于美国的主要玉米生产国之一,占全球玉米总产量的20%。玉米不仅是我国粮食生产中的重要组成部分,还是农产品加工、绿色能源乙醇生产以及饲料生产的主要原料之一。因此,玉米在我国农业产业链中的地位极为重要,对加工业和养殖业的影响深远。随着我国经济发展,玉米在不同领域的需求日益增长,尤其在农产品加工和饲料生产领域的需求持续增加。
在中国经济“双循环”大背景下,受疫情和国际局势变化的影响,玉米深加工企业纷纷提高开工率或扩张产能,这一趋势加剧了玉米的需求,从而推动了我国玉米消费量的持续增长。与此同时,随着国内外市场变化的加剧,玉米价格波动性增加,给农业生产和市场稳定带来了不小的挑战。因此,科学、精准地预测玉米期货价格,已成为提升农业生产管理效率、降低价格波动风险、增强市场稳定性的重要工具。
在我国金融经济体系中,农产品期货市场不仅起到了引导市场自我调节的作用,还为监管者提供了高效的信息传递渠道。期货价格作为未来市场供需变化的预期,能够为农业生产者、加工企业以及政策制定者提供有价值的参考。有效的期货价格预测能够帮助农业生产者根据市场走势调整种植结构、优化生产计划,减少因价格波动带来的经营风险。同时,准确的期货价格预测为国家实施宏观调控政策提供了科学依据,提高了政策的预见性与针对性,确保国家对农产品市场的调控更加精准和高效。
特别是在玉米期货价格的预测中,准确的市场判断不仅有助于玉米种植业的科学规划,还能优化生猪养殖业与农产品加工业的生产结构,从而促进我国农业产业的协调发展。随着玉米市场的重要性日益突出,依靠科学、高效的预测方法来指导市场调节、降低风险并提升产业竞争力,已经成为推动我国农业现代化的必要手段。因此,玉米期货价格的精准预测不仅对农民、企业及监管者具有重要意义,也为我国农业经济的可持续发展奠定了基础。
2. 文献综述
2.1. 技术指标
20世纪80年代末,随着金融市场的逐渐发展和学术研究的深入,越来越多的学者开始从技术分析的角度对资产价格进行探索,并对其经济学理论进行研究。首先,技术分析的基本假设认为市场价格和交易量等技术指标包含了所有必要的市场信息。技术分析师通过对历史价格、交易量和其他交易指标的变化趋势进行分析,从中外推未来价格走势的预期。其核心观点是,所有公开的市场数据(例如价格和交易量)都能反映市场的总体状况,而这些数据并不特定于某一特定的金融市场。因此,技术分析的方法可以适用于不同的市场,揭示价格波动的规律性和趋势。其二,其次,行为金融学派提出,资产价格的走势与投资者的心理和行为特征密切相关。在这种理论框架下,资产价格的演变不仅受理性经济因素的驱动,还与投资者的心理动量变化密切相关。有学者研究发现,资产价格演化中的“顶”和“底”,与正负心理动量的累积与消耗密切相关[1] [2]。其三,技术分析本质上是噪音交易。在信息和随机因素对资产价格产生影响的市场上,De Long等认为在噪音交易者行为高度社会化,以至于形成集体的、一致的行动并且把信息交易者逐出市场的情况下,噪音交易能够主导市场价格走势[3]。即使引入技术分析的主观性,仍然存在一个起主导作用的、以技术分析为投资指导的噪音交易者群体,技术分析在理论上仍然有效。有理论证据表明,基于同时含有理性投资者与技术分析者的异质主体模型,技术分析者对历史信息的敏感程度会显著影响市场均衡价格的水平以及波动性。实证研究方面,国外学者对技术分析在股票、外汇和债券等传统金融市场的可预测性也有较为丰富的探讨[4] [5]。结果表明,技术指标的预测效果在样本内拟合和样本外预测方面均表现优异,同时在资产配置上具有显著经济意义。在国际商品市场,有学者用技术指标对原油价格进行预测,获得了显著结果[6]。在国内商品市场,有学者基于移动价格平均、动量和移动交易量平均三类技术指标,对中国大宗商品期货价格进行预测,并与基于宏观经济变量的预测进行了比较[7]。结果表明技术指标能够在样本内和样本外检验中有效预测我国大宗商品期货价格,其预测效果显著超过已有文献中广泛使用的宏观经济指标。因此,技术分析作为一种市场预测工具,在国内外的各类金融市场中都取得了一定的理论支持及实证支持。尽管面临噪音交易等非理性因素的干扰,但通过合理构建和使用技术指标,仍能够对市场的价格走势进行有效预测,但是国内利用技术指标预测玉米期货价格的研究非常有限。
2.2. GA-MLP
期货价格的预测一直是金融领域的一个重要研究课题,随着人工智能技术的不断成熟,期货价格预测方法逐步从传统的统计量化模型向更为复杂的人工智能技术及其组合模型(混合模型)发展。这一转变显著提高了预测准确性和模型的灵活性。早期的期货价格预测主要依赖于时间序列分析方法,如ARIMA (自回归积分滑动平均模型)、GARCH (广义自回归条件异方差模型)等,但这些传统方法往往局限于线性关系的建模,无法有效捕捉非线性和复杂的市场行为。近年来,随着机器学习和深度学习技术的进步,许多新型的预测模型与算法逐渐成为研究热点,其中机器学习算法和优化算法等被广泛应用于期货价格的时间序列预测中。在预测期货价格模型方面,目前大多采用ARIMA、LSTM、CNN主流模型等进行研究[8]-[10],只有个别学者利用MLP模型研究影响铜期货价格的影响因素[11],然而单纯的MLP模型也存在一些局限性,主要体现在其超参数选择和结构设计上。模型的性能极度依赖于隐藏层的数量、节点数、学习率等超参数的设置,因此需要优化这些超参数以提高模型的准确性。遗传算法(GA)常被用于金融时间序列预测进行参数优化,例如,张登耀构建了GA-BPNN算法去预测期货价格,结果表明GA-BPNN预测效果明显优于优化前的BPNN算法的预测效果[12]。尽管国内已有部分学者利用遗传算法优化其他预测模型,但将遗传算法与多层感知器(MLP)模型结合进行期货价格预测的研究仍较为少见。鉴于遗传算法在全局搜索和优化方面的优势,结合MLP模型,能够有效提升预测结果的准确性。因此,本文选择了大连商品期货交易所玉米期货的2005~2023年日度基本交易指标和主要技术指标17个特征变量,作为输入变量,利用GA优化后的MLP模型,构建高效的玉米期货价格预测模型。通过这样的组合方法,能够充分发挥GA优化的优势,减少传统MLP模型的局限性,提升模型的预测能力,特别是处理金融市场中复杂的非线性关系。
3. 研究设计
3.1. 数据来源
本文的研究对象为大连商品期货交易所的玉米期货标准连续合约。为了保证数据的连续性和研究的有效性,我们选取了2005年1月4日至2023年12月29日的时间段作为样本周期。在数据处理过程中,我们剔除了当日无交易的数据以及重复的数据记录,以确保样本数据的准确性和代表性。经过数据清理后,最终形成了共计4031个有效样本。基本交易指标的数据来自于锐思数据库,而技术指标的数据则来源于同花顺数据库。
3.2. 指标选取与数据预处理
在进行玉米期货市场分析时,选择合适的指标至关重要。为了全面捕捉市场的交易特征,本文选取基本交易指标和主要技术指标作为玉米期货市场的日度交易特征指标。
首先,基本交易指标包括以下5项特征指标:
开盘价(open):指当天交易开始时的价格。
最高价(high):当天交易过程中出现的最高价格。
最低价(low):当天交易过程中出现的最低价格。
成交量(TrdVol):指当天的成交数量或成交手数,反映市场的活跃度。
持仓量(OpInt):指未平仓合约的总数量,用于衡量市场的参与程度和投资者的持仓意图。
技术指标主要基于价格和成交量数据,通过数学模型计算得出,用于分析市场趋势、超买、超卖情况和市场动能等。主要技术指标包括以下12项特征指标:
k9、d3、j3:这是随机指标(Stochastic Oscillator)的三个组成部分,通常用于分析价格的超买超卖状态。
obv (On-Balance Volume):通过成交量的变化来判断市场的买卖力量,反映市场动能。
cci (Commodity Channel Index):用于衡量价格的偏离程度,从而识别潜在的超买或超卖信号。
macd (Moving Average Convergence Divergence):通过两条指数移动平均线之间的差异,帮助识别趋势的转折点和市场的动能变化。
rsi6、rsi12、rsi24:相对强弱指数(Relative Strength Index),用于衡量市场是否超买或超卖,且根据不同周期(6天、12天、24天)反映市场的短期或长期状态。
ma5、ma10、ma20:分别是5日、10日和20日简单移动平均线,通常用于平滑价格波动,帮助识别市场的趋势和周期性变化。
因指标值量纲和数量级的差异会对模型存在干扰,且还会权重偏移。为消除影响,将输入的各个指标数据进行无量纲化调整。同时划分训练集和测试集比例为3138:893。变量描述性统计见表1:
Table 1. Descriptive statistics
表1. 描述性统计
|
count |
mean |
std |
min |
25% |
50% |
75% |
max |
open |
4031 |
2010.95 |
475.04 |
1100.00 |
1635.00 |
1925.00 |
2396.00 |
2958.00 |
high |
4031 |
2021.43 |
477.03 |
1130.00 |
1643.00 |
1932.00 |
2407.50 |
3120.00 |
low |
4031 |
2000.14 |
472.56 |
1090.00 |
1625.00 |
1916.00 |
2384.50 |
2943.00 |
TrdVol |
4031 |
48891.62 |
117151.61 |
1.00 |
164.00 |
2764.00 |
27095.00 |
1063830.00 |
OpInt |
4031 |
114234.70 |
207751.81 |
0.00 |
2613.00 |
22740.00 |
107692.00 |
1504480.00 |
k9 |
4031 |
50.75 |
24.51 |
2.13 |
29.51 |
50.48 |
71.98 |
97.43 |
d3 |
4031 |
50.75 |
21.86 |
5.15 |
32.49 |
50.66 |
69.05 |
95.60 |
j3 |
4031 |
50.75 |
36.61 |
−28.32 |
19.15 |
50.55 |
82.39 |
124.17 |
obv |
4031 |
61.23 |
166.02 |
−227.58 |
−44.98 |
−19.53 |
120.23 |
767.72 |
cci |
4031 |
4.56 |
77.42 |
−291.91 |
−57.78 |
5.97 |
68.88 |
289.63 |
macd |
4031 |
4.58 |
45.34 |
−222.75 |
−15.91 |
7.54 |
29.71 |
152.57 |
rsi6 |
4031 |
50.75 |
25.80 |
0.00 |
31.03 |
50.51 |
70.83 |
100.00 |
rsi12 |
4031 |
51.09 |
19.69 |
1.57 |
36.60 |
51.49 |
65.40 |
99.17 |
rsi24 |
4031 |
51.53 |
14.14 |
8.61 |
42.09 |
52.32 |
61.17 |
91.93 |
ma5 |
4031 |
2009.92 |
474.40 |
1142.00 |
1633.90 |
1921.60 |
2393.30 |
2933.80 |
ma10 |
4031 |
2009.14 |
474.35 |
1145.00 |
1634.45 |
1920.00 |
2392.35 |
2916.90 |
ma20 |
4031 |
2007.56 |
474.26 |
1148.75 |
1632.60 |
1916.95 |
2391.25 |
2906.90 |
close |
4031 |
2010.55 |
474.58 |
1130.00 |
1633.00 |
1922.00 |
2395.00 |
2959.00 |
3.3. 模型及算法
3.3.1. 决策树(Decision Tree)
决策树(Decision Tree)最早由美国学者Quinlan提出,是基于各种情况发生的所需条件构成决策树,以实现期望最大化的一种图解法[13]。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。在决策树中,若把每个内部结点视为一个条件,每对结点之间的有向边视为一个选项,则从根结点到叶结点的每一条路径都可以看作是一个规则,而叶结点则对应着在指定规则下的结论。这样的规则具有互斥性和完备性,从根结点到叶结点的每一条路径代表了一类实例,并且这个实例只能在这条路径上。公式如下:
其中,
为集合
的属性
的信息增益,
表示属性
的所有可能值的集合,
是属性
值为
的
的集合
,上式第一项是原始集合
的熵,第二项是利用属性
对
进
行分割后熵的期望值。第二项描述的期望熵就是每个子集
的熵与属于
的样本的分数
加权的和。第二项又叫条件熵
,即数据集
对特征
的条件熵。
它的运行机制非常通俗易懂,决策树具有非常好的可解释性(白盒模型),被誉为机器学习中最“友好”的算法。决策树具有易于理解和解释的优点;然而,如果创建过于复杂的树,它也有一个共同的缺点,即过拟合。
3.3.2. 随机森林(Random Forest)
随机森林由美国学者布赖曼提出,随机森林算法是以决策树为估计器的Bagging算法。使用Bagging算法能降低过拟合进而提高模型性能[14]。单个决策树对训练集的噪声非常敏感,但通过Bagging算法降低了训练出的多颗决策树之间关联性,有效缓解了上述问题。随机森林具有对于不平衡的分类数据集可以平衡误差、学习过程快速等优点,但同时,随机森林也有在某些噪声较大的分类或者回归问题上会过拟合等问题。在随机森林中,随机选择数据样本创建决策树,并将这些树合并在一起,以便做出更好的预测。在处理回归问题时,随机森林算法将每棵树的预测取平均值(均值);在处理分类问题时,算法取每个树为(mode)投票的大多数类。
3.3.3. XGBoost
XGBoost是2016年由中国学者陈天奇提出的梯度提升决策树(GBDT)的高级版本,它吸收了梯度增强、决策树和正则化的特性来进行改进。XGBoost的基本思想是加法模型,即逐步地通过不断拟合残差来提高模型的预测精度。XGBoost使用决策树作为基学习器,逐步通过训练树来拟合前一轮模型的残差。每一轮新的决策树都试图减少前一轮模型的错误,最终将所有树的结果加起来得到预测值。通过梯度下降的方式优化目标函数,每一轮都会计算损失函数的梯度信息来指导模型参数的更新。其在性能、灵活性、可解释性方面具有优势。
3.3.4. LightGBM
LightGBM是微软开发的实现GBDT的轻量级框架由中国学者在2017年提出[15]。该算法具有训练速度快、精度高、数据处理规模大等优点。与传统的逐级算法不同,LightGBM逐叶生长。LightGBM也使用梯度提升算法,但利用直方图算法来代替传统的计算方法,通过将连续特征值离散化成固定数量的桶(即直方图bins),极大减少了计算量。LightGBM采用了叶子优先的生长策略。叶子优先的策略会优先选择分裂能够减少损失最多的叶子,这使得LightGBM能构建出深度更大的树,从而提高模型的准确性。因此,LightGBM具有速度较快、更低内存消耗优势。
3.3.5. 多层感知器(MLP)
MLP (多层感知机,Multilayer Perceptron)是人工神经网络(ANN, Artificial Neural Network)的一种典型类型。它是一个前馈型神经网络,由三部分组成:输入层、隐含层和输出层。每一层中的节点(或称为神经元)通过权重与相邻层的节点相连接,形成一个高度结构化的网络,其中输入层负责接收外部数据输入,隐含层用于处理信息并提取特征,输出层则输出最终的预测结果。在MLP中,信息从输入层开始经过每一层的计算,最终在输出层产生结果。每层节点之间的连接是完全相连的,这意味着每个节点会接收到来自前一层所有节点的输入信号。每个节点的输出是通过对输入信号加权并通过激活函数进行处理得到的。常见的激活函数包括Sigmoid、ReLU、Tanh等,激活函数的作用是为模型引入非线性特性,使神经网络能够学习和拟合复杂的函数关系。
MLP的训练过程采用的是一种有监督学习策略,通常使用梯度下降法来优化网络的权重和阈值。在训练过程中,网络通过不断调整参数,以最小化预测值与真实值之间的误差。具体来说,MLP利用反向传播算法来计算每个权重的梯度,并根据这些梯度调整参数,使得损失函数(通常是均方误差)逐步减小,从而达到最优解。反向传播算法通过层层传播误差信息,逐步更新从输出层到输入层的所有权重和偏置。图1展示了一个典型的三层MLP神经网络模型示例,其中包括一个输入层、一个隐含层和一个输出层。每层之间通过权重连接,每个神经元的输出都经过激活函数的处理[16]。如图1所示:
Figure 1. MLP neural network model
图1. MLP神经网络模型
作为一种有监督学习模型,MLP广泛应用于分类和回归任务。对于分类任务,MLP可以用来进行多类别分类预测,比如手写数字识别、图像分类等;对于回归任务,MLP可以用来进行数值预测,如股票价格预测、房价预测等。由于其结构的灵活性和强大的拟合能力,MLP在实际应用中表现出色,尤其是在处理复杂的非线性问题时。
3.3.6. 遗传算法(Genetic Algorithm, GA)
机器学习中的超参数优化通常被视为一个黑箱优化问题。这是因为在大多数情况下,超参数对模型的性能具有显著影响,但其具体作用机制难以通过传统的手工调整或简单的数学模型来准确预测和解释。因此,如何自动化地有效搜索和选择超参数成了一个重要的研究课题。遗传算法(Genetic Algorithm, GA)是一种经典的启发式优化方法,常被应用于超参数优化等问题中,特别是在搜索空间庞大且复杂时。遗传算法最早由美国学者约翰·霍兰德提出,并基于自然选择和遗传学的原理[17]。作为进化算法的一种,GA模拟了自然界物种的进化过程,其中通过选择、交叉、突变等机制在种群中不断优化个体,进而获得适应性最强的解决方案。GA的优势在于能够对问题进行全局搜索,避免了局部最优解的困扰,尤其适用于搜索空间极为庞大或存在多个局部最优的情况。
在遗传算法中,搜索空间的每一个解都被视作一个“个体”,而这些个体的特征则由一组“基因”表示。通过模拟自然界中物种繁衍的过程,遗传算法迭代地进行个体的繁殖、交叉和变异,形成新的种群,逐步提高适应度。具体流程可以分为以下几个步骤:首先,通过初始化一个随机种群(即解的集合);接着,通过适应度函数评估每个个体的质量;然后,通过选择、交叉和变异等操作产生新的后代;最后,迭代执行这些步骤,直到达到预设的停止条件,如最大迭代次数或达到某个性能阈值。其流程如图2:
Figure 2. Genetic algorithm flowchart
图2. 遗传算法流程图
3.3.7. GA-MLP
GA-MLP (遗传算法与多层感知机结合的模型)是将遗传算法(GA)与多层感知机(MLP)神经网络相结合的一种优化方法。其主要目标是通过遗传算法优化MLP网络的权重或拓扑结构,克服传统梯度下降法在训练过程中可能遇到的局部最小值问题,从而提高模型的全局性能。GA-MLP工作流程包括初始化种群、计算适应度、选择操作、交叉操作、变异操作、生成新群种、迭代近化七个主要步骤。
GA-MLP在神经网络结构优化中的应用非常广泛,特别是在需要自动选择网络结构(如层数和神经元数量)时,遗传算法能够根据不同的任务自动调整这些超参数,从而提升模型的表现。传统的神经网络训练方法依赖于人工设置网络结构参数,而GA-MLP则通过智能算法自动优化这些超参数,减少人工干预。本文旨在利用遗传算法优化MLP模型的超参数组合,优化结果表明,最优的神经网络结构为:神经网络的层数为1,神经元数量为15,学习率为0.007432。这个组合在特定任务下表现出了最佳的性能,证明了遗传算法在优化神经网络超参数方面的有效性。
4. 实证结果
4.1. 模型对比结果
本文以DT、RF、XGBoost、LightGBM模型为基准,以MLP模型为主要模型设定,分别检验技术指标对大宗商品价格的预测性。同时,本研究使用决定系数(coefficient of determination, R2)、平均绝对误差(mean absolute error, MAE)、均方误差(mean square error, MSE)评估模型性能。实验结果汇总于表2。
根据结果可知,MLP (多层感知器)模型在评估指标上展现出了优越的预测性能。具体来说,MLP的均方误差(MSE)为0.000815,平均绝对误差(MAE)为0.021982,这两个指标均显示出模型在预测任务中具备较高的准确性。相较于其他基准模型——决策树(DT)、随机森林(RF)、XGBoost和LightGBM,MLP模型的预测误差最小,且决定系数(R2)最高,达到了0.962953。
Table 2. Model comparison results
表2. 模型对比结果
|
DT |
RF |
XGBoost |
LightGBM |
MLP |
MSE |
0.001968 |
0.003334 |
0.005081 |
0.007890 |
0.000815 |
MAE |
0.032489 |
0.040004 |
0.05389 |
0.065998 |
0.021982 |
R2 |
0.910511 |
0.848377 |
0.768901 |
0.641172 |
0.962953 |
4.2. MLP模型优化前后预测结果
由于单纯的MLP (多层感知器)模型在其超参数选择和结构设计上存在一定的局限性,尤其是在隐藏层的数量、神经元数量、学习率等超参数的设置上,模型的性能常常会受到较大影响。这是因为MLP模型本身具有较强的灵活性,能够学习数据中的复杂非线性关系,但其优劣很大程度上取决于这些超参数的选择。不同的超参数配置可能导致模型在训练过程中的收敛速度、预测准确性和泛化能力表现大相径庭。因此,如何选择合适的超参数是提升模型性能的关键。为了克服此局限性,本文进一步引入遗传算法(GA)来对MLP模型的超参数进行优化。利用GA算法设置交叉概率为0.5,变异概率为0.2,迭代次数为20次。交叉概率控制了新一代种群中个体交叉的频率,而变异概率则决定了个体发生变异的概率,二者的合理设置能够保证搜索过程的多样性和全局性。迭代次数设定为20次,意味着遗传算法会执行20轮进化过程,每一轮进化都将在搜索空间中寻找更优的超参数组合。经过20次迭代,GA算法最终确定了MLP模型的最优超参数配置:神经网络的层数为1,神经元数量为15,学习率为0.007432。这个配置相较于初始设置,在训练过程中能够更有效地优化模型的学习过程,提高模型的准确性和稳定性。实证结果见表3:
Table 3. Comparison of model prediction performance after GA algorithm optimization
表3. GA算法优化后模型预测性能对比
|
MLP |
GA-MLP |
MSE |
0.000815 |
0.000234 |
MAE |
0.021982 |
0.011338 |
R2 |
0.962953 |
0.989340 |
由结果可知,通过遗传算法的迭代过程,最终选择出MLP最佳的超参数组合,并基于这些超参数训练得到的神经网络进行预测和评估,使得MSE由0.00815下降到0.000234,MAE由0.21982下降到了0.011338,R2从0.962953上升到0.989340,预测精度显著提升,由此可知,利用遗传算法优化MLP能显著提高玉米期货价格的预测精度。
5. 结论
为了解决玉米期货价格预测模型精度和计算效率不足的问题,本研究首先对玉米期货价格基本交易数据(开盘价、最高价、最低价、成交量、持仓量)进行整理分析,计算技术指标后,利用遗传算法(Genetic Algorithm, GA)结合前馈人工神经网络模型(Multilayer Perceptron, MLP)来构建玉米期货价格预测模型,并与决策树(Decision Tree, DT)、随机森林(Random Forest, RF)、XGBoost和LightGBM进行了对比,主要结果如下:
在未进行遗传算法优化下,MLP模型相比于DT、RF、XGBoost和LightGBM的表现更为优秀。具体来说,MLP的MSE、MAE更小,R2更大,且R2达到了0.962953,由此可知,MLP在利用技术指标进行玉米期货价格预测时,能够提供较为精确的预测结果。
在选定MLP为最优预测模型后,本研究进一步通过遗传算法对MLP的超参数(包括神经元数量、神经层数量和学习率)进行优化。优化后,模型的MAE和MSE进一步减小,R2由0.962953上升到了0.98934,预测性能显著提升。由此,GA-MLP模型成为了本研究中最为优越的玉米期货价格预测模型,表明遗传算法在优化神经网络结构和参数时,能有效提升预测准确度。
该研究结果对玉米期货市场的投资决策和风险管理具有重要意义。在金融化背景下,商品资产波动日益剧烈,而目前广泛应用的宏观指标一般都以月度或季度数据为主,已不能满足实时提供价格信息的要求。而技术指标可以达到日度甚至日内频率,能够实现高频、实时预测价格变化,为相关品种的投资、风险管理及监管提供及时有效的信息。其次,在扩大数据集的同时,应尝试深度学习模型结合多种新型优化算法,以持续提升模型的预测能力。