APP下载

一种多源数据驱动的自动交易系统决策模型

2018-10-18文丹艳马超群王琨

自动化学报 2018年8期
关键词:股价准确率交易

文丹艳 马超群 王琨

随着信息技术的飞速发展,股票的自动交易(也称为算法交易、机器交易、黑箱交易)受到实业界和学术界越来越多的关注与重视.据报道,美国90%以上的证券经理在建立投资组合时会使用自动交易,而亚洲市场上也有约40%的交易依赖于自动交易.自动交易(Automatic trading,AT)指按照量化投资的基础模式编写程序,通过计算机自动实现交易决策或辅助决策的一种交易模式[1−2].应用自动交易系统不仅可以节约人力成本、提高交易精度,而且可以同时监控多支股票,捕捉到转瞬即逝的交易时机,因而大大提高了用户的效率并增加获利机会.因此,利用自动交易进行辅助决策乃至实际交易越来越成为一种趋势.

随着自动交易系统推广,其核心处理模型即对股价、收益等关键变量的预测问题逐渐成为研究热门[1].许多方法对自动交易系统的研究重点围绕金融系统的模拟、仿真或优化某种与股价趋势相关的变量[3−4].然而,无论是基于计算实验的方法、模拟仿真或优化的方法,大多数的股价预测模型与股市预测模型都基于历史股价数据[5−6].上述做法固然可以通过减少变量降低系统的复杂度,但也忽略了诸如财经新闻等影响股价走势的重要信息,容易造成预测的失灵.

自动交易系统能迅速处理大量影响股市价格波动的一些公开或私密信息,以便从根本上提高预测的精度和效率.作为一种典型的公开信息,财经新闻对股市具有重要而深远的影响.学术界关于新闻对股市影响的分析由来已久.早在1966年,金融学者Merrill就率先探索了利空新闻与股市价格的关系[7].随后,学者们从多种角度分析各类不同的新闻对股市利空或利好的影响[5].然而,传统的研究者或侧重单类新闻事件,或侧重新闻的情感,或侧重某一方面的指标对股市的影响(关系).关于实际影响股市的多类信息或将财经新闻融入交易策略的生成与应用层面的研究非常少.

为将财经新闻有效地融入到自动交易系统中,本文从网络新闻文本和历史交易数据出发,通过分析财经新闻对股价的影响,构建了一种多源数据驱动的自动交易模型.该模型以人工神经网络(Artificial neural network,ANN)方法为基础[8−11],利用历史交易数据产生技术交易信号作为一类输入源,利用财经新闻数据产生新闻信号作为另一类输入源,透过多层神经网络产生最终的交易信号.为实现股票自动交易,本文重点解决影响自动交易系统质量的两大问题.首先,如何从新闻文本中抽取财经事件.即如何从大量网络新闻文本中获得与股价相关的财经事件.第二,如何将财经事件与非线性、非平稳性的金融数据进行有效地融合,让计算机智能地根据有关信号作出最佳决策.

针对上述两个难点问题,本文从网络文本中抽取出对股价具有重要影响的财经类新闻事件,将新闻事件转化为交易信号与技术指标的信号进行融合,设计了一种基于ANN模型的自动交易框架.具体地,本文首先定义了影响股价的财经类事件集,进而针对不同类型财经事件的特点,设计了从网络文本中抽取中文财经类新闻事件的模板,并利用统计方法分析各类财经事件与股价波动的关系,将各类财经事件转化为股票价格涨跌的信号.然后,基于神经网络的方法,设计了以交易信号为基础的自动交易框架,并通过股市历史数据验证了自动交易框架的有效性.

本文章节安排:第1节介绍相关工作;第2节提出考虑新闻变量的自动交易框架与基于ANN的自动交易模型;第3节提出中文财经事件抽取的方法;第4节介绍10种技术指标交易信号的产生方法;第5节通过实验验证本文提出的自动交易框架的性能以及事件抽取与信号产生模型的有效性;第6节为总结与展望.

1 相关工作

自动交易方法模型研究.股票自动交易研究可以帮助投资者选择买卖时机,获得稳健的收益.自动交易的关键在于如何精确地预测股价的走向,选择合适的交易时机.目前,股票价格预测的方法大体可以分为三类,一是经济学常用的计量回归方法,如简单线性回归模型、门限自回归(Threshold autoregressive model,TAR)、广义自回归条件异方差模型(Generalized autoregressive conditional heteroskedasticity,GARCH)等.二是计算数学的模型方法,如基于Agent的仿真模型、模糊系统(Fussy systems)模型等.三是基于一些计算机机器学习(Machine learning)的模型,如支持向量机(Support vector machine,SVM)、人工神经网络(ANN)等.

计算数学的方法一般将Agent分为多种,例如基于大客户、散户,主导者、跟风者等[12].Wang利用模糊意见网络构建了股价动力学模型,并模拟股价走势取得了很好的效果[13].股价动力学构建了以技术指标为基础的模糊系统、将启发式方法转化为非线性的动力学方程,开辟了股票自动交易系统的新思路[14−16].

随着金融数据非线性、非平稳特征的日益凸显,基于机器学习的方法逐渐成为股价预测研究的热门.利用神经网络对复杂金融数据序列进行预测正成为其中一个重要分支.上世纪90年代,Kimoto等在Nikko证券公司提供股票市场交易数据和Fujitsu提供神经网络技术的基础上,开发了关于如何在东京股市选择最佳时间买卖股票的算法交易系统,获得了较高的预测精度[17].Saad等发现神经网络模型适用于股票市场价格、风险等短期趋势预测[18].近年来,Dhamija和Bhalla比较了多层感知(Multi-layer perceptron,MLP)和径向基(Radial basis function,RBF)两种不同神经网络模型对汇率数据的预测结果,发现MLP模型比RBF模型的预测精度要高[19].Ballings等对比研究了人工神经网络(ANN)、支持向量机(SVM)和随机预测(Random forecast)等方法对欧洲5767家股票的预测能力[20].

新闻对股市影响研究.尽管基于神经网络方法的研究比较多,但大多忽略了新闻消息对股市的影响.股市是消息驱动市场,关于新闻对股票市场影响的研究主要有两种思路,一是直接研究新闻的具体指标,如发布时间、信息不确定性与股票价格之间的关系.Rosen等观察了收购消息发布后的价格动量,发现价格动量和起初的市场反应以及收购消息的传播有关[21].Zhang等探索了信息的不确定性程度和股票收益之间的关系[22].二是考虑新闻对投资者行为、情绪的影响,进而间接研究新闻或消息与股价之间的关系[23].如Yuan研究了市场关注度和股票交易之间的关系,将新闻消息与投资者的行为联系在一起[24].Hong等[25],Pagolu等[26]基于社交网络的数据研究了股民情感和股票收益的关系.

总结以上文献,传统的自动交易研究往往只考虑使用技术指标信号而忽略了新闻的重要性,新闻与股价关系的研究又很少落实到自动交易应用层面.因此,本文基于ANN模型,考虑新闻对股价的影响以及技术指标信号,试图构建一种综合考虑新闻事件与股票市场关系的自动交易框架.

2 考虑新闻事件的自动交易框架与模型

新闻事件对股市具有重要影响,但此类影响关系复杂难以测量.为了量化这种影响并有效融合新闻事件数据,本文选用可以适应多元输入的ANN模型综合通过历史交易数据产生的技术信号(Technical signal)与网络新闻数据产生的新闻信号(News signal),设计了一种基于ANN模型的自动交易框架,并给出此框架下的自动交易模型.

2.1 自动交易框架

图1展示了本文设计的考虑了新闻事件的自动交易技术框架.由该框架可知,新闻事件信号属于交易信号的一部分.本文从网络文本数据中获取新闻,将新闻从文本数据形式转化为财经事件形式,然后根据新闻事件与股市涨跌的关系,将新闻事件以交易信号的形式输入到ANN模型中.ANN模型的另一部分信号来自技术指标,通过传统的技术策略方法产生交易信号.处理模型将上述两方面的信号综合在一起,通过模型计算生成最终的交易决策.本文将利用人工神经网络(ANN)融合新闻和技术指标信号,证明本算法交易框架的有效性,同时通过控制模型的输入源,重点分析新闻信号对于模型整体表现的作用.

图1 基于ANN模型的自动交易框架Fig.1 Framework of automatic trading based on ANN

2.2 基于ANN的自动交易模型

在基于ANN模型的自动交易框架基础上,本文构建了一个基于人工神经网络(ANN)的自动交易模型,可融合包含新闻事件信号在内的各类信号.将不包含新闻信号输入的ANN模型记为ANN,包含新闻信号输入的模型记为ANN-News.参考相关文献[27−28]并结合实际经验,ANN和ANN-News都设计为4层神经网络模型,其结构都为1个输入层、2个隐藏层和1个输出层,每一层都与邻近的层相连接并至少会使用到1个神经元.ANN和ANN-News模型的区别在于输入层:ANN仅包括10个常用的技术信号,而ANN-News除技术信号外还包含新闻信号.

图2展示了ANN模型的基本框架.每个技术信号或新闻信号输入用一个神经元表示.ANN和ANN-News模型的输出为1、0和−1,分别代表买入、持有和卖出.隐藏层1和隐藏层2的神经元细胞个数分别为n1和n2.某一层的神经元和邻接层的神经元通过连接系数(权重)相连.ANN(ANNNews)模型神经元计算如式(1)所示,连接系数αi(0≤αi≤c)的初始值随机设定,然后通过学习算法调整优化.神经元计算方程:

图2 4层的ANN(ANN-News)模型Fig.2 4 layer ANN(ANN-News)model

下面从新闻信号与技术信号两个来源阐述基于ANN模型的算法,重点分析如何将网络新闻文本转化为交易信号.

3 财经新闻事件信号

本文所说的财经新闻事件是从新闻中抽取的与股票交易紧密相关的事件.作为自动交易系统交易信号的财经事件应具备两个特点:1)必须和股价波动紧密相关,影响股票价格的因素很多,其与股价波动的关系也很复杂,应选择对股价有直接影响的事件;2)必须有一定的出现频率,如果出现次数少于一定比例,难以总结其对股价的影响规律,不宜作为自动交易程序的输入信号.为了便于计算机处理,本文将同类财经事件视为没有差别的独立个体.

参考文献[2]以及大规模财经领域语料的统计分析,本文总结出以下与中国股市波动相关的14类频繁事件:1)股价上涨;2)股价下跌;3)公司业绩上扬;4)公司业绩下跌;5)公司声誉提升;6)公司声誉受损;7)公司利润上升;8)公司利润下滑;9)公司负债状况良好;10)公司负债状况堪忧;11)公司高层变动;12)公司合作;13)公司业务扩张;14)公司并购.

3.1 财经事件抽取方法

考虑到财经事件的特殊性(如区分上涨、下跌等结果要素),本文在参考中文事件抽取算法的基础上[29−31],设计了基于规则的财经事件的抽取算法和程序.

3.1.1 财经事件描述方法

参考目前新闻类事件抽取方法[32],为了更直接地表示财经新闻事件,本文提出使用如下结构:Pattern=(Entity,Event-type,Trigger,Time,Path),即“主体(Entity)+方面(事件种类)(Event type)+ 触发词(关键动词、形容词)(Trigger)+ 时间(Time)”四个核心元素和依存路径(Path)来描述财经类新闻事件.具体而言,主体一般为目标股票,可使用股票名称或者公司名称来描述(含简称).本文使用股票和公司名称作为上述14类事件的主体.关于“方面”即包括几类财经事件.将这14类事件划分为“股价、业绩、声誉、利润、负债、高层、业务”7个方面.触发词一般要求反映事件的核心特征,针对“股价、业绩、利润、负债”,本文使用“涨、跌”等与事件结果直接相关的动词(或名词、形容词)作为关键词.

除了核心元素外,构造事件模板还需要考虑句法结构特征.句法结构主要包括触发词与论元(主体、方面)之间以及时间与敏感句的依存路径(Path).依存路径是指:1)主体(或主体的某方面)与触发词的关系,当触发词被标记为根动词(Root)时候,主体与触发词的关系有:SBV关系(Subjectverb,主谓关系),通常表示的是股价上涨(或下跌);ATT+SBV主体修饰方面词,而方面词与主体是ATT关系(Attribute,定中关系或修饰关系)时,主体与触发词并不直接发生关系,其仍然属于SBV关系,因为事实上此处的主语为主体的某个方面.当主体被标记为非根节点动词时,需要同时考虑触发词、主体与该根节点动词的关系.2)时间(nt)元素与其他元素之间的关系,时间元素可以作为修饰语或存在于附近的语句中.3)规则特征,当某种类型的元素唯一时,它很有可能就是事件元素.如果出现两个以上的主体元素,通过句法树分析各个元素之间的关系.如果是并列关系,应当裂变为两类事件;如果是从属(或对比)关系,应当区分具体的关系和对象.

结合实例具体描述各个特征的解析与运用.例如,“龙头房企万科5月销售金额同比大涨近八成.”利用哈工大句法树工具1http://www.ltp-cloud.com/给出的句法分析和词性分析(图3),不难发现触发词“涨”,主体词“万科”,方面词“销售”以及时间词“5月”.触发词“涨”词性为 “v” (动词),该词前面的修饰词 (“同比”、“大”)不存在否定副词.“涨”的子节点为“金额”,而“金额”的子节点包含主体“万科”和方面词“销售”,且关系都为ATT(定中关系),表示这两个词都是“金额”的某种属性.另外,主体类型的元素“公司(万科)”在句子中唯一,触发词子节点是方面词“销售”.因此,可以从该句中抽取一个“销售上涨事件”,即“万科(Entity)|销售(Event type)|涨(Trigger)|五月 (Time)”.

图3 句法树关系Fig.3 Parse tree

3.1.2 财经事件抽取规则与步骤

本文设计的财经事件抽取模板如表1,其中Ec和Es分别表示公司和股票主体,C表示修饰词.需要说明的是,该表只列出了部分具有代表性的依存路径.

本文抽取财经事件的基本步骤如下:

1)敏感句提取.为了避免触发词太多导致相关事件抽取太多太庞杂,同时使事件抽取更具有针对性,本文使用财经类新闻包含触发动词的句子作为敏感句.

表1 金融事件抽取模板Table 1 Template of the extraction of financial events

2)命名实体识别.通过实验的主体股票、公司、代码等名称符号,过滤掉和目标股票不相关的事件句子.

3)句法树分析.本文借助NLPIR(哈工大句法树)进行句法树分析,根据句子中主体、客体、修饰词(方向词)的相应模式分类.

4)获取事件的时间元素.首先获取敏感句中的时间元素,如果是直接对应于事件,则抽取为时间元素.如果敏感句中没有,则抽取上下句(本自然段)中的时间元素.

5)去重.对于在不同文章中报道的相同事件,将去除掉重合的事件.本文依据事件Pattern进行分类,去除重合事件,通过交叉对比完善事件信息.

6)以首次报道为准.对于在新闻文本中多次出现的事件,以首次报道的时间为财经新闻事件的发布时间,并以该发布时间计算事件的影响.

3.2 新闻事件信号产生规则

提取财经新闻事件后,需要分析财经新闻与股价的关系,再依据一定的规则对每类新闻事件产生交易信号.本文首先预定义每一类新闻事件对股价正面或负面的影响力;然后利用统计方法分析不同类新闻事件与股票收益之间的关系,据此产生“买入”和“卖出”的新闻信号.

首先分析每一类事件影响力的强度I,对上述14类事件根据专家意见预定义各自的影响力(Predefined impact),再分析预定义影响力和日均收益(Average return)之间的关系,通过统计分析验证新闻事件与股票价格之间的关系.本文用收益来评估新闻事件与股价的关系.股票i在事件报道后x日的收益Rix可基于股票收盘价(Closing price)按照如下公式计算:

其中Pi代表事件报道前一天的收盘价,x表示计算收益经过的天数,其中x≥0.

如果在一段时间内有多个同类事件报道,采用影响力衰减曲线计算每个事件对当日股价的影响.对于一个在x天前报道的事件,其影响力衰减曲线的计算公式如下:

其中I0为事件当日产生的影响,Ix为x日后产生的影响.

如果某一类事件的影响力通过了统计检验,本文便根据其对股价x日后的影响力Ix产生“买入”和“卖出”交易信号.然后再综合技术指标信号输入到自动交易模型中.综合N类事件影响力方法如下:

如果所有类事件的影响力加权大于0则发出“买入”信号,小于0则发出一个“卖出”的信号,其余则为0.

表2 技术指标信号介绍Table 2 Introduction of technical indicators

4 技术指标信号

相比于公司的新闻事件数据,技术指标容易从市场交易数据中得到,而且具有较强的可操作性,因此技术分析在业界得到广泛应用.参考相关文献[27−28],本文选择了10个常用的技术指标产生的交易信号作为ANN模型的输入.这10个技术指标分别为:指数平滑移动平均线指标(Moving average convergence divergence,MACD)、价格变动率指标(Price rate-of-change,ROC)、区间突破指标(Trading range breakout rule,TRB)、离散指标(Accumulation/distribution oscillator,A/D)、差异指标(Disparity indicator,Dis)、变长移动平均指标(Variable length moving average,VMA)、简易移动值(Ease of movement value,EMV)、顺势指标(Commodity channel index,CCI)、支撑压力指标(Resistance/support indicator,S/R)、相对强弱指标(Relative strength index,RSI).

表2报告了上述10个技术指标的英文简称、相关公式以及相应的买入、卖出和持有信号产生的条件.

5 实验分析

本小节通过实验验证基于ANN模型的自动交易框架以及财经新闻事件在模型中的作用.首先,获取财经新闻事件并分析其与股价之间的关系;再考察新闻事件信号与技术指标信号在ANN自动交易模型中的作用;最后对比ANN与ANN-News模型的表现,评估验证ANN-News模型的有效性.

5.1 实验准备

5.1.1 新闻数据集

基于ANN模型的自动交易系统使用的财经新闻文本来自于多家中文网站财经板块,经过清洗、去重、分词和词性标注等预处理程序.为保证综合量化的有效性和公平性,忽略每月仅有1篇以下新闻的网站.处理新闻时不区分“原创”和“转载”,也不考虑网站权威性和影响力,财经事件以最先发布时间为准.利用网络新闻爬行器,本文采集了来自中国证券网、凤凰财经、和讯财经等30多家新闻网站的新闻报道共计653624篇.经过清洗等预处理,最后获得与金融消息相关的财经新闻共13813篇,时间区间为2015年1月1日~2016年12月31日.

利用本文提出的财经事件抽取方法以及相应的“清洗提纯”步骤,抽取“沪深300”股票的相关新闻事件,最终获得可以使用的新闻事件数据集,包括14类新闻事件共7063条,各类财经事件数量统计如图4所示:

图4 金融事件统计Fig.4 Count of financial events

5.1.2 股价数据集

数据集1“沪深300”股价数据集2本文以2016年6月修订版的“沪深300”股票为研究对象,样本股交易数据来源于Wind数据库..对应于新闻数据集的时间区间,该数据集包含从2015年1月1日至2016年12月31日之间488个交易日的“沪深300”股票的收盘价,以及相应时间区间内计算事件报道后x天的收益Rx及相关技术指标所需的股票交易数据.

数据集2自选股价数据集.随机选取沪深股市中“沪深300”股票以外的300支股票,时间区间同样为2015年1月1日至2016年12月31日,构建了一个包含488个交易日收盘价以及计算相应时间区间内Rx及相关技术指标所需的股票交易数据.

本文随机选取各数据集中80%的数据作为训练数据,其余20%作为测试数据.

5.1.3 模型评价指标

本文使用预测准确率(Accuracy)和平均收益率(Average return)来评估ANN模型的效果并分析新闻信号的效用.预测准确率采用常用的“真阳”(True positive,TP),“假阳” (False positive,FP),“真阴”(True negative,TN)以及“假阴”(False negative,FN)来确定,具体见式(5).平均收益率为所有预测收益率的平均值,本文假设所有“买入”和“卖出”的股票的权重是相同的,N支股票在x天内的平均收益率Ave(R)x见式(6).

5.2 财经事件与股价关系检验

表3列出了Rx与事件关系的统计分析结果.对于每一类事件,计算事件报道当日的收益R0.类似地,本文也计算事件报道后第1、2、5、10天的收益.对于每类事件,计算专家给出的影响力正负与股价波动的方向(上涨或下跌)之间的关系,并计算专家给出的“方向”的正确比例.当某支股票在事件报道后股价上扬,如预定义影响力为正就算一次“正确”预测.同理,若某支股票在事件报道后股价下跌,若预定义影响力为负就算一次“正确”预测.根据该规则,本文计算出相关比例并用d表示.另外,本文对影响的显著程度进行了双尾t-检验,相关结果用p表示.表3列出了财经事件与股票收益的统计分析结果.

观察表3可以发现股票收益与预定义影响力方向一致约有54%到60%的正确率.即如果专家预测为正面影响,则R0、R1、R2、R5、R10收益大多数都为正;如果专家预测为负面影响,则R0、R1、R2、R5、R10大多数收益为负.有两类事件的方向是波动的,即“公司高层变动”与“公司业务扩张”.专家认为这两类事件的影响都是轻微的正向,而实际产生的收益有时是轻微正向,有时又是轻微负向.由于这两类事件的样本数比较少,且可能受其他事件干扰,而这种小的负面收益在95%的置信水平上也是不显著的.总体而言,本文所使用的预定义影响力评估是可靠的.

当考虑R0时,产生最高收益的事件是“股价上涨”,其平均收益为1.71%,有84% 的该类型事件报道后产生了一个正面收益.意味着大部分该类型事件会产生正面收益,该类型事件会对价格产生一个向上的驱动.当然,在某些情况下,与该类事件同现的其他事件会产生向下的价格驱动力主导价格波动.总之,“股价上涨”事件是一个比较强烈的信号,容易主导价格波动.

从短期收益来看,即当考虑R0,R1和R2收益时,有三类事件同时在统计上非常显著,而且显示了和专家标注的影响力相同的方向.这三类事件分别为:股价上涨、股价下跌和公司业绩上扬.从长期收益来看,例如,当考虑R5和R10收益的时候,我们发现更多的事件与专家标注的方向仍显著相关,如“公司利润上升”、“公司利润下滑”.由此可见,一些财经新闻事件会经过一定的发酵,在相对长久的时间内发挥影响力.

表3 财经事件与股价收益统计分析Table 3 Statistic on the relationship between financial events and stock returns

预定义的事件影响力和产生的平均收益之间的线性关系可以通过皮尔逊相关(Person′s correlation)系数来确定.表4报告了预定义影响力和收益Rx之间的关系,说明收益和预定义影响力之间是显著的、正面相关的关系.观察表4可以得出两个结论:首先,财经事件对股价的影响力是显著的,可以从新闻中获取的事件信息与技术指标信号融合.第二,预定义事件影响力和股价波动紧密,且影响力强度与股价波动幅度具有较强的线性相关性.

表4 预定义影响力和收益Rx的关系Table 4 Relationship between predefined impact andRx

5.3 输入信号质量分析

根据技术指标的计算方法,本文在数据集1和数据集2上针对每一支股票计算其于当天的“买入(+1)” “卖出 (−1)” 或 “持有 (0)” 的信号.照此方法获得ANN模型的输入部分,即每日每一支股票的10个信号.ANN模型的输出部分为该支股票1日、5日的收益.为了便于比较和训练,取“卖出”信号1日、5日收益率的相反数.本文为展现输入信号的质量,统计包括新闻在内的11组交易信号“买入”和“卖出”发生后的收益,考察这11组信号的质量.

表5展示了数据集1使用技术信号与新闻事件信号进行交易所获得的平均收益3数据集2的技术信号结果与此类似,篇幅限制,在此不作报告.,R1、R2、R5分别表示信号产生1、2、5天之后的平均收益率.由表5可见,新闻事件发出“买入”信号后,产生的1、2、5日的平均收益都为正;发出“卖出”信号后,产生的1、2、5日的平均收益绝大部分为负,说明“买入”和“卖出”信号都是基本准确的.综合多频次的分析可以发现,本文所选取的新闻事件所产生的交易信号对股票交易而言是有效的,可以作为股票自动交易信号源的输入.

比较独立使用新闻信号与独立使用技术指标信号所产生的不同情况.从表5展示的结果看,技术指标产生的买入信号在1、2、5天后的平均收益都为正,说明买入信号质量比较高.使用技术信号“卖出”时的收益并不都为负,如CCI的交易信号会在2日后消失,A/D、Dis、SR、RSI的信号会在5日后消失,但总体效果仍比较理想.由表5可知,就中国市场而言,VMA(变长移动平均)策略产生的收益最高.对比新闻事件信号与技术信号产生的收益可以发现,新闻信号获得的收益“更高”.说明新闻信号对于股票买卖时机的选择更精准.另外,这两方面获得的信号启示我们可以进一步地融合新闻事件与技术指标的信号,以获得更稳健的收益.

表5 数据集1技术信号与新闻信号收益统计Table 5 Statistics of the returns generated by technical and news signals on Dataset 1

5.4 ANN与ANN-News对比分析

本节通过设置不同的参数对比分析ANN与ANN-News模型在输入相同技术指标信号条件下的表现,分析新闻事件信号对ANN模型表现的效用.

5.4.1 参数设置

隐藏层神经元的个数n1和n2,梯度下降法的学习率lr,动量恒定值mc以及迭代次数ep是ANN模型的关键参数.参考神经网络参数学习的相关文献[27−28],本文将迭代次数ep设置为1000次.为了避免临近最佳点时产生动荡从而致使无法收敛的现象,使用一个较小的学习率lr值(0.01).

本文尝试了 10个n1参数 [41,42,···,50],10 个n2参数 [26,27,···,35],9 个mc参数[0.1,0.2,···,0.9].ANN 参数设置总共有10×10×9=900(n1×n2×mc)种.将每种参数组合都应用至数据集1和数据集2的训练集和测试集,按照上述参数设置进行900组实验,每组实验进行10次,评估模型预测的准确性.选择表现最好的参数组合作为相应模型的参数.所有的实验都是基于MATLAB神经网络工具包完成的.

5.4.2 参数组合分析

首先在ANN模型上进行参数实验.分析实验结果发现,ANN模型在训练集上的准确率在65.53%~78.60% 之间;在测试集上的准确率在59.17%~72.03%之间.总的来看,ANN模型的参数设置对训练集和测试集都很重要且显著,但ANN模型在训练集上的效果要好于测试集.需要说明的是,训练集获得最好的效果和测试集获得最好的效果并不是同一组参数组合.为进一步对比ANN模型和ANN-News模型,计算训练和测试集合上的每一组参数组合的表现,选择其中性能最佳的3个参数组合.表6给出了最佳的3个参数组合以及相应的预测准确率.

表6 表现最佳的3组ANN参数组合Table 6 The best three combinations of ANN model_

由表6中可见,这3组参数在训练集和测试集上都获得较高的准确率,相应的测试集的准确率都比训练集要低.另外,3组参数在n1取值上都比较近似(49左右),在n2和mc这两个参数上取值差别比较大.总体而言,上述参数组合是相似的.由于第三组平均测试的准确率比其他两组要高,总体表现比其他组合效果好,可认为这一组是ANN模型最佳的参数组合.

模型参数对准确率的影响.本文对比了ANN模型、ANN-News模型以及文献[27−28]中的1个隐藏层的ANN模型.图5展示了数据集1的测试集上,使用不同参数对准确率的影响.由图可见,本文设计的双隐藏层的ANN和ANN-News模型的准确率比单隐藏层的ANN模型准确率要高.究其原因,可能是由于双隐藏层的ANN对股价波动的解析更彻底.双隐藏层的ANN模型在自动交易上比单隐层的ANN模型更适用.另外,总体而言n1对模型的准确率影响不大,对n1(单隐藏层取n)进行参数实验,发现ANN-News的准确率变化不大,但是对单隐层和双隐层的ANN模型影响较大,准确率随N增大呈上升趋势,至49达到顶峰.

图5 ANN模型准确率Fig.5 Accuracy of ANN

模型准确率与收益率之间的关系.一般认为,准确率高则收益率高.图6展示了ANN模型准确率与收益率之间的关系,由图可知这二者之间并不是线性关系.由于所有个股的权重是一致的,因此准确率和收益率并不完全成正比关系,准确率高的收益率未必最高.通过该图与上文中技术指标和新闻信号收益率(表5)对比可以发现,利用ANN模型综合技术指标信号和新闻信号,可以有效提升股票收益率.但是由于该模型并未针对收益率作专门的优化,即未能突出收益率高的个股,因此该模型在收益率上并没有明显的提升.

图6 ANN模型准确率与收益率Fig.6 The accuracy and return rate of ANN

5.4.3 新闻信号有效性分析

参照第5.4.1节的参数设置对ANN-News模型进行实验.根据实验结果,讨论新闻信号在ANNNews模型中的作用.由于新闻数据集只包含“沪深300”股票的新闻,本节实验只在数据集1上进行.由于新闻数据集中并非每天对每一支“沪深300”股票都有相关的财经新闻,对于没有新闻信号的股票,本文全部默认设置为0(持有).

对比ANN和ANN-News模型在使用相同参数设置下的表现.表7展示了ANN和ANN-News模型的对比结果.由表7可见,在相同参数设置下(第1~3行),ANN-News与ANN 模型的表现差别不大.经过实验,发现ANN-News使用第4组参数组合(n1=49,n2=34,mc=0.5)时表现最佳,说明ANN-News可以获得比原ANN模型更好的性能,且ANN-News的最佳参数组合与ANN并不一致.总体上有新闻参数比没有新闻参数要好,且使用ANN模型最好的3组参数时表现都比原模型好.从稳定性上看,ANN-News模型在训练集和测试集合上的差别比ANN模型的差别要略大,说明ANN-News模型的稳定性略差.总体而言,虽然ANN模型在个别参数下表现比ANN-News模型好一些(第2组参数组合的测试集),但是ANN-News模型可以有效提升预测准确率,且这样的准确率提升是稳定的.

表7 ANN与ANN-News模型对比Table 7 Comparison between ANN and ANN-News

对比ANN模型和ANN-News模型的准确率和收益率.设置相同参数,分析ANN和ANN-News模型的准确率和收益率.图7展示了ANN和ANNNews模型在相同参数条件下准确率.图中的点都是经过10次实验取得的平均值.由图7可见,ANN和ANN-News的准确率随着变量mc值的增加而呈现一个先较快增长后略微下降的过程.包含新闻信号输入的ANN-News模型准确率提升了大约5%左右.

图8展示了ANN和ANN-News模型在相同参数条件下收益率.同样地,从图8中可见,收益率也存在一个随着mc值先增长再略微下降的过程.经计算,ANN-News模型收益率在ANN模型基础上平均提升了大约7%左右.

由图7、图8可见,ANN-News模型比ANN模型在准确率和收益率上都更高,说明使用ANNNews通过参数训练,在交易时机选择上更精准,而且可以获得更高的收益率.选择表现最佳的ANN和ANN-News,发现最佳性能的ANN效果与最佳的ANN-News效果仍然存在差距,这证明了无论是从准确率还是从收益率角度,新闻信号对最终结果的表现都存在正面影响,利用新闻事件信息可以有效提升模型整体的收益率.

图7 ANN与ANN-News模型准确率对比Fig.7 Comparison of the accuracy between ANN and ANN-News

图8 ANN与ANN-News模型收益率对比Fig.8 Comparison of the return between ANN and ANN-News

稳定性分析.设置不同的参数,分析ANN和ANN-News模型的稳定性.由图7、图8可见,当n1和n2固定之后,变动mc的值,发现对于准确率而言,mc与准确率并不是线性关系,准确率先随着mc的增大而增大,当mc=0.7的时候达到了顶点.但收益率与准确率的变化趋势并不是一致的.收益率基本呈现一个上升的过程,当mc=0.8左右的时候达到了顶点.

参数n1和n2与准确率的关系也有着类似的情况.在稳定性方面,ANN和ANN-News模型的差别不大,但ANN总体上要比ANN-News稳定一些,这可能是由于ANN-News采用了新闻事件信号所导致.

5.5 与经典机器学习模型对比

股价预测中经常使用到经典的机器学习模型[27−28].本小节主要对比 ANN 模型与 SVM,Na¨ıve Bayes模型.重点考察本文使用的ANN 模型与同样输入的SVM、Na¨ıve Beiyes模型在准确率、收益率方面的表现.通过对比实验,分析多源数据驱动与单源数据驱动以及不同的模型之间的区别.表8展示了本文利用第5.1.2节介绍的股价数据集(80%)进行训练,并使用测试数据集(其余20%)进行预测的情况.括号内为准确率和收益率的波动情况(单位与括号外相同),SVM 和Na¨ıve Bayes模型的参数设置参考文献[27−28].由表8可知:1)从准确率和收益率角度来看,多源数据驱动比单源数据驱动的模型总体上效果更好:由于多了新闻数据源,SVM-News 和 Na¨ıve Bayes-News 比单独使用技术因子信号的SVM和Na¨ıve Bayes模型要好,该结论与ANN模型是一致的,也说明本文提出的技术框架有较强的泛化能力.但SVM 和Na¨ıve Bayes模型增加了新闻信号的稳健性略差.2)ANN-News比SVM-News 以及 Na¨ıve Bayes-News 准确率高约 4个百分点左右,在收益率上比其他传统(ANN)模型高出0.097(约为ANN模型收益率的7%)左右,总体表现也较稳健,进一步说明本文设计的ANN模型更为有效.

篇幅限制,本文未报告更多案例,下一步将多源数据驱动的ANN-News模型应用到更多实例中去以检验其性能.

表8 ANN模型与经典模型对比Table 8 The comparison among ANN and other classical models

6 结论与展望

股票的自动交易系统需要获取多方面的信息并加以综合利用.本文以ANN模型为基础,提出了一个新闻数据和交易数据共同驱动的自动交易模型,并成功应用至股票自动交易系统.为获取新闻事件信息,本文设计事件抽取框架从互联网新闻文本中抽取多类新闻事件,通过定量分析产生交易信号.在“沪深300”和自选股价数据集两年的交易数据集上的实验显示,将新闻事件信号作为输入加入到模型中能产生比单独使用技术指标信号更高的收益,考虑了新闻因素的ANN-News模型比其他类传统模型预测准确率提高4%以上,收益能提高7%以上.总结本文工作,主要贡献如下:

1)提出了网络新闻数据与历史交易数据共同驱动的自动交易模型,构建了考虑新闻事件的基于ANN模型的自动交易框架.

2)提出了从中文新闻文本中有效提取财经新闻事件的方法,设计了中文财经事件抽取方法并利用实际数据验证了该方法.

3)利用实际数据验证了股票自动交易框架的性能,从准确度、收益率等角度对比分析了考虑新闻信号和不考虑新闻信号的ANN模型.

结合相关工作的最新进展,下一步研究将重点聚焦以下方面:1)在处理新闻与交易决策方面作更深入的研究,搜集整理更丰富的财经事件数据,借助模型具体地分析每一类的新闻事件对ANN模型效果的影响.2)在新闻信号与技术指标信号融合方面,下一步将探讨更优的新闻信号产生方法,并设计更优化的模型以融合新闻事件信息与技术指标信号.3)考虑直接使用新闻文本数据作为原始数据,构建更自动化的多源数据驱动机器学习模型,通过计算机自动提取特征数据并在测试中提高模型的性能.

猜你喜欢

股价准确率交易
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
盘中股价升跌引起持股者情绪变化
牛股盘中冲高回落尾市拉涨停行为解读
高速公路车牌识别标识站准确率验证法
大宗交易榜中榜
大宗交易榜中榜
股价创股灾以来新低的股票
大宗交易