曾志平,萧海东,张新鹏
(1.上海大学 通信与信息工程学院,上海 200072;2.中国科学院 上海高等研究院 智慧城市研究中心,上海 201210)
基于DBN的金融时序数据建模与决策
曾志平1,2,萧海东2,张新鹏1
(1.上海大学 通信与信息工程学院,上海 200072;2.中国科学院 上海高等研究院 智慧城市研究中心,上海 201210)
在金融时序数据的分析中经常会遇到一些复杂的非线性系统,利用数学方法很难对这些复杂的系统状态方程准确建模。针对目前金融时序的数据分析复杂性和不确定性等问题,将对复杂非线性系统的模拟转化为对金融时序数据曲线的模式识别,确定了金融时序数据上升、下降以及无规则的各种模式。利用深度学习对非结构化数据处理的优势,提出了一种改进的基于深度信念网络(DBN)决策算法的金融时序数据建模与分析方法。将时序数据转化为非结构化数据,以这些非结构化数据作为深度学习网络的输入层训练DBN金融时序数据模型,应用训练好的模型于金融时序数据样本的预测选取和交易。实验结果表明,利用DBN模型选择的金融数据样本在金融时序数据量化的决策分析中的准确率可达到90.544 2%。
深度信念网络;受限玻尔兹曼机;深度学习;金融时序数据;预测与决策
目前对于金融时序数据分析的方法主要有两类:基本面分析和技术面分析[1]。基本面分析是研究影响证券市场供给和需求的各种因素;技术面分析是研究市场过去和现在的行为对金融市场未来走势的影响。许多利用计算机的模型如遗传算法、人工神经网络、支持向量机等金融数据分析的方法属于技术分析方法[2]。现今大多数金融数据分析方法都是基于技术面分析的方法。技术面分析主要分析市场数据的特征和社会舆情对市场的影响。其中文献[3]利用微博采集个人数据中个人的情感倾向分析研究经济市场走向,但利用情感数据分析市场包含太多主观因素,使得分析结果带有很大的模糊性,不利于定量化分析。文献[4]讨论了利用小波分析对股指期货市场收盘价的研究并进行了有效验证,但没有提出行之有效的对整个金融市场中金融样本进行分析的方法。文献[5]分析了布林指标、移动平均线等指标的协同作用,确定有效的各种金融市场模式,但是没有提供定量的决策分析。
深度学习的概念由Hinton等于2006年提出[6],利用深度信念网络(Deep Belief Networks,DBN)实现数据的降维及分类。深度学习可通过学习一种深层非线性网络结构,实现复杂函数逼近[7]。深度学习目前在很多领域都优于过去的方法,因此在语音识别[8]、人脸识别[9]、交通标志分类[10]、医学图像处理[11]等领域都有所应用。深度学习带来了机器学习的一个新浪潮,导致了“大数据+深度模型”时代的来临[12],并且金融大数据由于数据量正在不断变大,因此深度学习将在提供金融大数据分析解决方案中发挥关键作用[13]。已经有很多学者利用深度学习技术来实现对时序数据的分析,目前文献[14]利用三层DBN网络对混沌时间序列进行预测,文献[15]对交通流量的时序序列进行预测,都实现比传统方法更好的效果;在金融时序数据分析中,文献[16]利用改进的DBN网络实现比传统方法更好的外汇汇率预测。
针对目前金融时序数据分析的复杂性和不确定性等问题,在技术面层次分析金融时序数据的原始特征,通过分析金融市场中海量各种原始时序数据的特点,结合DBN模型分析金融市场中的时序数据。采集海量原始的金融时序数据,为了挖掘出原始数据中所隐含的信息,把原始结构化时序数据转化为非结构化数据作为DBN深度学习模型的输入,建立DBN深度学习金融时序数据分析模型,同时为金融时序数据提供定量化分析决策。
深度学习的整体框架都是根据人脑神经网络的机制来进行学习的,因此其核心训练思路主要有以下三个步骤:
(1)无监督学习用于每一层网络的pre-train(预训练);
(2)每次用无监督学习训练一层,然后将其训练结果作为其高一层的输入;
(3)用自顶而下的监督算法去调整所有层(参数微调)。
DBN作为一种深度学习的模型受到广泛关注。从结构上看,DBN由多层无监督受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)和有监督的反向传播(Back Propagation,BP)网络组成[6]。深度神经网络的整体结构如图1所示,输入层-隐藏层之间利用高斯伯努利RBM,隐藏层-隐藏层之间利用高斯伯努利RBM,隐藏层-隐藏层的层级设计可以有N层,然后输出层作为无监督分类的结果。
图1 RBM组成的DBN
RBM在给定模型参数条件下的联合分布为:
p(v,h;θ)=exp(-E(v,h;θ))/Z
(1)
模型赋予可视变量v的边际概率为:
(2)
对伯努利—伯努利RBM能量函数定义为:
(3)
其中,wij为可视单元和隐单元连接权值;bi和aj为偏置量;i和j为可视单元和隐单元的数目。
条件概率计算如下:
(4)
(5)
这里δ(x)=1/(1+exp(x))。相似的,对应高斯—伯努利RBM能量函数为:
(6)
对应条件概率为:
(7)
(8)
其中,N(·)为高斯分布。
然后对RBM微调,即利用对数似然概率log(p(v;θ))梯度可推导出RBM的权值更新准则为:
Δwij(t+1)=cΔwij(t)+α(
(9)
其中,α为学习率;c为动量系数;<·>为期望。
这样由RBM组成的DBN深度学习算法就组成了,主要是对RBM结构进行微调和设置适合的层数使之适应数据的训练,获得最高精度。
2.1 实证分析
在金融时序数据的分析中经常会遇到一些复杂的非线性系统,利用数学方法很难对这些复杂的系统状态方程准确建模[17],直接利用金融时序数据输入模型中容易造成DBN算法的发散,不能找出原始数据中的整体规律。
而目前DBN深度学习模型应用比较成功的就是在图像的识别中。因此尝试利用改进的DBN模型,把原始金融数据转化为相应的非结构化数据,对这些非结构化数据抽取特征对不同趋势的时序数据曲线进行分类,把建立复杂的数学模型转化为相应的图像识别模型,从而提升DBN模型的精确度。
首先,使用DBN模型对短期内金融市场的涨跌进行预测。利用t天内的收盘价及成交量等信息对应t+1天内的收盘价的价格变化构建相应的DBN模型。一般地,预测时间间隔越小,DBN模型的预测能力就越强,研究选用以天为单位作为预测模型输入,并选取了过去一段时间所有金融交易数据作为DBN模型训练的样本。
由于金融时序数据的复杂性,需要对金融时序数据样本进行归一化处理,公式为:
(10)
其中,I为输出数据;α为偏移参数,一般默认为2;x为原始数据。
通过归一化转换有利于DBN模型的训练。
当DBN深度学习模型训练好之后,预测的目标是价格变动方向(涨还是跌)和变动幅度大小。根据预测模型的输出判断未来的涨跌做出买入决策。根据涨跌给定一个阈值,只有达到或超过阈值才会触发卖出信号。相应的卖出信号如下:
(11)
其中,buyprice为模型预测选取的买入价;sellprice是卖出价;s为买入价的倍数;T为一个卖出的时间段。Signal为1时卖出,交易成功,获得收益;Signal为0时,进入下一个交易日;Signal为-1时,强行卖出,交易失败,有亏损的风险。
2.2 金融时序数据采集
为了验证DBN金融分析模型,选取当前国内最大的金融市场——沪深股市作为金融时序数据样本,采集2012年10月20日之前100工作日深沪股市所有股票的收盘价作为模型训练的样本集,把样本集分为三类,根据股票样本特征采集转化为有明显上升趋势(a)、有明显下降趋势(b)和无明显趋势(c)三种不同非结构化数据样本并归类,如图2所示。并根据每五个工作日的收盘价曲线把三种不同样本转化为50×50像素的非结构化图片,利用这些非结构化数据作为训练DBN模型的原始预训练数据。同样验证数据和检测数据也利用同样的方式获得。分别生成样本集训练的样本:预训练数据5 000个、验证数据3 000个和测试数据2 000个。当DBN深度学习模型训练好之后,对2000-2014年两年间的所有金融市场样本每个交易日数据进行滑窗预测并验证模型的有效性。
图2 金融数据样本示例
2.3 DBN网络训练
采用三层RBM组成的DBN深度学习网络,网络的输入层有50×50个节点,第一个、第二个隐含层有3 000个节点,输出层有3个输出节点(上涨、下跌或者无明显趋势状态)。首先通过逐层训练的方式,数据被依次映射到隐含层h1,h2,…,hn中。为了加快训练过程,一般采用GPU对训练模型进行加速。然后利用验证数据和检测数据在模型建立好后对整个模型进行微调测试,提升准确度。提升精确度实现模型的分类,需要在DBN模型的最后加入一个分类器,把不同类型的数据集与数据集对应的标签利用有监督的学习方法微调整个网络。详细的DBN网络训练流程如图1所示,这里各层网络节点数为[2 500,3 000,3 000,3],把非结构化数据图像像素点转化为输入的2 500个节点,再经过两层隐含层的训练最后输出3个分类节点。
2.4 金融时序数据决策
对已经训练好的模型进行模型预测,利用2000-2014年两年间的金融市场每日数据——开盘价、收盘价、最高价、最低价、成交量和输入的历史时序数据提供买卖的决策。首先,利用训练好的模型选出t+1天可以买入的样本;然后在符合金融市场的规律下在接下来T个工作日内根据Signal信号确定卖出信号;最后统计出Signal=1信号成功的样本个数,验证模型的效果。图3为金融时序数据决策分析流程。选取历史的金融数据作为模型训练的原始数据,把这些数据转化为三种类型的非结构化数据,利用训练好的DBN深度学习模型预测并验证这些数据,把选取好的样本输出到决策分析,然后再利用接下来T个工作日的金融时序数据得出卖出信号Signal。
图3 金融时序数据决策分析流程图
3.1 实验环境
对金融时序数据分析采用的处理器为国产兆芯X86处理器,内存容量16 GB。为了加速DBN算法处理金融大数据的能力,利用NVIDIA显卡的GPU提升算法性能,整个算法的软件环境是在Python2.7下搭建可以利用GPU的Theano环境。
3.2 实验结果及分析
利用DBN建立好的模型对2000年-2014年间的金融市场每日数据验证模型的有效性。假设T为40天,s=1.01即在40天内买卖样本,并且样本买卖的收益为1%。详细如表1所示。
表1 2000~2014每月统计金融时序数据样本
统计分析15年间交易成功和交易失败的数据样本,对表1数据的分析如图4所示。总体上交易成功的样本远远大于交易失败的样本,对所有统计数据分析在两年间样本成功率为80.753 4%。
对交易成功的样本,进一步分析在T时间内能达到成功交易s的指标下所需要交易的时间。对成功交易的金融样本的分析如图5所示。成功交易的金融样本五天内能交易的占了成功交易的80.753 4%,一个交易日内就能卖出的占了55.433 3%。短时间内模型选择的样本验证成功效果明显。因此,前面假设T=40天是合理的,当t=40时成功卖出的样本个数只有5个,占成功卖出样本的0.116 4%,样本数已经足够小。
图4 2000-2014年间成功和失败样本数
图5 2000-2014年间t时间内 成功卖出的金融样本数
从以上两个结果显示,利用DBN模型选择的金融大数据样本呈上升趋势的预测准确率达到了90.544 2%,能有效提供决策的样本筛选;同时,对筛选后的样本成功卖出的时间趋势进行分析,五天内交易占80.753 4%。
针对目前金融时序数据分析的复杂性和不确定性等问题,通过分析海量金融数据确定了金融大数据非结构化的各种模式,提出了复杂的金融大数据趋势转化为对金融趋势曲线非结构化数据的识别分类。利用DBN深度学习方法对金融大数据进行了建模分析,得到不同时刻金融大数据走势并进行了金融数据走势定量分析,为实际预测与决策提供了宝贵的参考和重要的依据。验证实例表明,利用DBN模型选择的金融数据样本决策的准确率达到了90.544 2%。
[1] 杨用斌,杨唯实.基本面分析和技术分析流派市场价格博弈—基于方法相关性下的研究[J].经济问题,2013(11):78-81.
[2]MabuS,ObayashiM,KuremotoT.Ensemblelearningofrule-basedevolutionaryalgorithmusingmultilayerperceptronforstocktradingmodels[C]//7thinternationalconferenceonsoftcomputingandintelligentsystemsand15thinternationalsymposiumonadvancedintelligentsystems.[s.l.]:[s.n.],2014:624-629.
[3] 庞 磊,李寿山,张 慧,等.基于微博的股票投资者未来情感倾向识别研究[J].计算机科学,2012,39(6A):249-252.
[4] 刘向丽,王旭朋.基于小波分析的股指期货高频预测研究[J].系统工程理论与实践,2015,35(6):1425-1432.
[5] 胡晓彤,王子银.基于模糊模式识别的金融数据分析[J].制造业自动化,2011,33(4):208-211.
[6]HintonGE,OsinderoS,TehYW.Afastlearningalgorithmfordeepbeliefnets[J].NeuralComputation,2006,18(7):1527-1554.
[7]SunZJ,XueL,XuYM,etal.Overviewofdeeplearning[J].ApplicationResearchofComputers,2012,29(8):2806-2810.
[8]ZhangXL,WuJ.Denoisingdeepneuralnetworksbasedvoiceactivitydetection[C]//2013IEEEinternationalconferenceonacoustics,speechandsignalprocessing.[s.l.]:IEEE,2013:853-857.
[9]StuhlsatzA,LippelJ,ZielkeT.Featureextractionwithdeepneuralnetworksbyageneralizeddiscriminantanalysis[J].IEEETransactionsonNeuralNetworksandLearningSystems,2012,23(4):596-608.
[10]CiresanD,MeierU,MasciJ,etal.Multi-columndeepneuralnetworkfortrafficsignclassification[J].NeuralNetworks,2012,32:333-338.
[11]CarneiroG,NascimentoJC.Combiningmultipledynamicmodelsanddeeplearningarchitecturesfortrackingtheleftventricleendocardiuminultrasounddata[J].IEEETransactionsonPatternAnalysisandMachineIntelligence,2013,35(11):2592-2607.
[12] 余 凯,贾 磊,陈雨强,等.深度学习的昨天、今天和明天[J].计算机研究与发展,2013,50(9):1799-1804.
[13]ChenXW,LinX.Bigdatadeeplearning:challengesandperspectives[J].IEEEAccess,2014,2:514-525.
[14]KuremotoT,KimuraS,KobayashiK,etal.TimeseriesforecastingusingadeepbeliefnetworkwithrestrictedBoltzmannmachines[J].Neurocomputing,2014,137(15):47-56.
[15]HuangW,HongH,SongG,etal.Deepprocessneuralnetworkfortemporaldeeplearning[C]//2014internationaljointconferenceonneuralnetworks.[s.l.]:[s.n.],2014:465-472.
[16]ShenF,ChaoJ,ZhaoJ.Forecastingexchangerateusingdeepbeliefnetworksandconjugategradientmethod[J].Neurocomputing,2015,167:243-253.
[17] 孙小军,张银利.股票-债券投资组合问题的数学模型及算法[J].系统工程理论与实践,2015,35(6):1433-1439.
Modeling and Decision-making of Financial Time Series Data with DBN
ZENG Zhi-ping1,2,XIAO Hai-dong2,ZHANG Xin-peng1
(1.School of Communication and Information Engineering,Shanghai University,Shanghai 200072,China;2.Research Center of Smart City,Shanghai Advanced Research Institute,Chinese Academy of Sciences,Shanghai 201210,China)
In analysis of the financial time series data,some complex nonlinear systems are often encountered.It is difficult to accurately model the state equation of these complex systems with mathematical methods.Faced with the current problem of complexity and uncertainty of financial time series analysis,simulations of complex nonlinear systems has been translated into pattern recognition of financial time series data and various patterns of financial time series curves,such as ascending,declining and random,have been determined.By taking use of the advantages of deep learning in unstructured data processing,an improved financial time series modeling and analysis method with improved Deep Belief Network (DBN) decision-making algorithm has been proposed,by which time series data have been transformed into unstructured data to be taken as input of input layer training model for in-depth learning network and to use trained model to predict the financial transaction data sample selection.Experimental results show that the accuracy rate acquired by improved deep belief network method has been achieved by 90.544 2 percent in quantitative analysis of final samples.
deep belief network;Restricted Boltzmann Machine (RBM);deep learning;financial time series data;forecasting and decision
2016-06-22
2016-09-28
时间:2017-03-07
国家自然科学基金资助项目(61271349);中国科学院科技服务网络计划(STS计划)项目(KFJ-EW-STS-140);中科院先导项目(XDA06010800);上海市科学技术委员会资助课题(14DZ1119100)
曾志平(1989-),男,硕士生,研究方向为大数据分析;萧海东,副研究员,研究方向为大数据分析、信息安全、智能数据融合、物联网;张新鹏,教授,研究方向为图像处理、多媒体信息安全。
http://kns.cnki.net/kcms/detail/61.1450.TP.20170307.0922.094.html
TP391.41;F830.59
A
1673-629X(2017)04-0001-05
10.3969/j.issn.1673-629X.2017.04.001