分享

解读:利用傅里叶变换和支持向量回归进行股价预测

 shawnsun007 2022-07-08 发布于北京

写在前面

下面这篇文章的内容主要是来自发表于IEEE 17th International Conference on Computational Science and Engineering 的一篇文章《Predicting Stock Trend Using Fourier Transform And Support Vector Regression》。这篇文章提出了一种股票价格预测框架,其中结合了傅里叶变换 (Fourier Transform)以及支持向量回归 (Support Vector Regression, SVR),其中傅里叶变换用于数据去噪,SVR则用于预测,实验验证了提出的模型具有较好的预测效果。原论文在文末进行获取。

1

摘要

在我们的日常生活中有很多时间序列。例如,洛杉矶的用水量,以连续的天或月为周期记录为一个时间序列。而在所有可能的时间序列中,金融时间序列(股票等金融衍生品价格)由于噪声、非平稳和不确定性而显得与众不同。

尽管如此,还是有很多监督性或者非监督性方法提出用于解决金融时间序列的预测问题。但是,大多数方法在解释预测结果方面存在困难,如由于过拟合的原因,得到的模型存在泛化能力弱的问题。此外,历史股票价格数据是大量带有噪声的时间序列数据。

为了解决上面提出的问题,这篇论文提出了一种方法,它利用到了监督学习方法SVR进行价格预测,不同于传统的监督学习方法,SVR不仅仅最小化训练的经验风险,也通过加入惩罚项使得拟合得到的函数尽可能的平滑以提高其泛化能力。除此之外,为了提高模型的抗噪能力,在使用SVR之前,傅里叶变化被用来去除原始数据中的噪音。因此,整体的框架如下图所示:

2

模型介绍

傅里叶变换

数据集通常不可避免地会包含一些噪声,这些噪声可能会影响整个数据集中包含的信息。尤其是在股票市场上,股票的价格每天都在波动,而并不是任何显现的迹象都可以用来预测股票市场,从而从本质上导致难以预测它的变化趋势。但是,从宏观的角度来看,股票市场的长期趋势应该是可以被预测和发现。虽然这个长期趋势不能给你一个明确的指示,像具体哪只股票明天会上涨,但至少它揭示了整个投资环境的表现,并在一定程度上给你一个重要的决策提示。所以,数据的去噪是至关重要的一步。

傅里叶变换是一种数学运算,它可以将一个信号分解成它的组成频率。如今,傅里叶变换在数字信号处理中得到了广泛的应用,它是对时间序列数据的频率分析的一种很好工具。原始信号依赖于时间,因此被称为信号的时域表示,而傅里叶变换依赖于频率,则被称为信号的频域表示。傅里叶变换可以将信号的时域表示转换为它的频域表示,这允许人们从另一个角度分析数据。利用傅里叶变换去噪的思想是先从频域表示的角度去除噪声对应的频率分量,然后再将该频域表示逆向回到原始时域表示。

为了从直观角度看出去噪的效果,下面用到了来自纳斯达克指数数据从2/5/1990到1/5/2014的日线收盘价数据,再经过傅里叶变换之后得到的功率谱中,高功率的峰值代表了这些数据中重要的频率成分。如下图所示:

其中具有低功率的频率成分被看作是噪声频率,因此这里将低于一定阈值的频率分量进行去除以得到不含噪声的频率成分。其中,用 fftx(j) 表示经过傅里叶变换后的序列,而经过去除噪声频率成分的序列用 fft2(j) 表示,即这个过程为:

再得到一个信号的新的频域特征之后,再通过逆傅里叶变换来得到去除噪声之后的数据,下图展示了只保留在阈值之上频率的功率谱图:

接下来需要对滤波后的频率进行逆傅里叶变换,得到如下图所示的结果。其中,蓝色的线是原始数据曲线,红色平滑的线则是经过噪声滤波后的数据曲线,可以看出它很好地吻合了原始数据的趋势。

支持向量回归

支持向量机(SVM)具有很多优势,如理论背景,可解释的几何特性使得其应用于很多领域,如计算机视觉,语音识别以及文本分类。SVM的思想是在高维空间或者有限维空间建立一个超平面,最好的划分效果是使得每个训练集中的样本具有距离这个平面最大的距离。

SVM中使用的这种边缘概念也被用于回归问题,当SVM被用于解决回归问题时,也通常被称为支持向量回归(SVR)。在本例中,目标是构造一个接近尽可能多的数据点的超平面。因此,目标是选择一个范数小的超平面,同时最小化数据点到超平面的距离和。即它的优化目标是:

其中,第一项表示SVM中的边缘,第二项中的C表示权衡项系数,l表示loss函数,f(.)定义为下面形式:

其中Φ(.)表示核函数,作用是将x映射到高维空间中。在这篇文章中,loss函数定义下面的形式:

则原优化问题可转换为下面有约束优化问题:

通常,解决上面的优化问题的一个标准方法是用拉格朗日方法构造该优化问题的对偶形式,然后最大化它的对偶函数。

3

实验验证

实验数据特征用到了六种,包括开高低收,成交量以及调整后的收盘价,回归分析的目的是以t日数据来预测t+1日的开盘价。

在进行回归之前,我们需要先对每个特征进行傅里叶变换去噪以及归一化处理,之后通过网格搜索的方法来确定超参数。在最优超参数下,模型的MSE是3.26706e-05,correlation R是99.9423%。回归预测结果如下图所示:

4

总结

这篇文章采用支持向量回归和傅里叶变换相结合的方法研究了股票价格的预测问题。其中支持向量回归是建立股票预测模型的强大工具,而傅里叶变换则是解决噪声问题的有效方法。实验表明,这篇文提出的框架对在金融市场中的股票预测具有一定的效果,同时也为相关工作或者研究提供了一些可借鉴的思路,如傅里叶变换用来去除数据中的噪音。

参考文献:

Huang H ,  Zhang W ,  Deng G , et al. Predicting Stock Trend Using Fourier Transform and Support Vector Regression[C]// IEEE International Conference on Computational Science & Engineering. IEEE, 2015.

关注《人工智能量化实验室》公众号,后台发送032可获取原论文。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多