新闻事件驱动的海龟交易策略优化研究:文本情绪方法
2021-09-28黄亮点高梓耕张行健蔡凯莉罗小可
黄亮点 高梓耕 张行健 蔡凯莉 罗小可 李 岩
(中国矿业大学(北京),北京 100083)
一、引言
程序化交易,指的是应用计算机软件系统,依据一定交易策略生成交易指令,实现自动下单的交易过程。相较于传统的人工交易方式,程序化交易具有更加理性、科学、稳健的特点[1]。随着我国期货市场的不断发展,程序化交易越来越受到投资者的青睐。据统计,美国程序化交易约占总交易量的70%。因此,如何构建一套有效的交易策略也成为了得到广泛关注的议题。
然而,主流的交易策略仅仅停留在对价格等交易本身数据进行分析。随着社交媒体软件的普及,互联网上出现诸多类型的文本数据,也会左右投资者的决策。同时,文本挖掘技术[2]与机器学习技术[3]的逐渐成熟,也让越来越多的人考虑将文本数据纳入交易决策中。
目前海外已有研究提出,新闻文本与期货市场价格变动关系密切[4]。国内有学者提出将新闻按主题聚类,在新闻主题与市场表现间建立联系[5];也有学者运用向量回归的方法量化新闻内容,再与市场价格进行回归[6]。他们都探寻了新闻与市场间的关系,但没有考虑进一步制定交易策略。目前有学者提出将对新闻的分析纳入到传统交易策略中,该方法能够最大程度地利用已知信息,使决策更加客观[7]。因此,本文考虑基于新闻文本分析建立一种决策支持系统,结合传统交易策略,提出一种利用复合型数据的新型交易策略。
海龟交易策略是期货市场上广泛流行的著名交易策略,曾在市场上得到大规模应用并取得过优异的成绩。但逐渐地,海龟交易策略暴露了其回撤大、胜率低的缺陷[8]。本文选择海龟交易策略作为基准场景,在其基础上引入新闻文本分析的方法对海龟捕捉的趋势信号进行过滤,以建立胜率更高、风险更小的交易策略,即事件驱动的程序化交易策略。
二、模型设计
1.模型总体设计
模型的总体流程如图1所示,模型主要由两部分组成。模型一部分为海龟交易系统,按照原有海龟交易策略执行操作指令。原有的海龟交易策略的弊病在于,无法识别市场中经常出现的假突破信号,反复在无盈利机会时进行交易,过多次交易带来过高的手续费,进而导致策略无法盈利。另一部分为决策支持系统,该系统针对原海龟系统无法有效分辨趋势信号这一缺点,通过对新闻文本的分析,对海龟捕捉的趋势信号进行过滤。因此,加入决策支持系统能使对趋势信号的选择更加精准,进而提高交易成功率、优化决策效率。
图1 事件驱动交易策略设计流程
海龟交易策略本质是一个趋势跟踪策略,其主题思路是通过对期货历史价格的分析预判大幅的价格波动是否即将到来,并有针对性地提前做多/做空以期获得超额收益。交易策略主要包括四个方面:何时开仓、加仓、止损、平仓[9]。本文沿用原始海龟策略的参数,以突破20天内最高/最低价作为趋势信号。
决策支持系统利用了文本挖掘技术、情绪分析技术[10]和Logistic回归技术[11]作为核心的技术支持。具体来说,首先对海龟捕捉的趋势信号挖掘前置的文本信息,并用情绪极性分析的方法测量新闻的情感。其次,利用新闻的情绪分值预测价格波动趋势,预测所用方程由历史新闻文本情绪分值与价格波动情况拟合得到。最后,对比预测结果是否与海龟系统判断的价格波动方向一致。若一致,认为信号为真,则依照海龟法则继续执行;若信号为假,则不执行交易操作。这样就实现了对海龟信号的过滤效果。
2.新闻文本情绪分析
文本情绪分析的作用是识别出一个句子中作者对评价对象所持的态度,本文中采用基本面分析的方法,使该模块能够针对性地识别出一个新闻标题对期货价格的影响方向与程度,并将其影响效果以数值的方式表示出来。该模块的搭建主要分为以下两步:
(1)生成情感词典
情感词典由两部分组成:含有全部情感词语的语料库,与词语对应的权重值。
语料库要求尽可能详尽、全面地涵盖有关价格走势的词语。本文采用基本面分析的方法,将影响价格的因素分为资金技术、价格结构、供求关系、宏观经济、政治导向五大类。进而,可以对每类按“使价格上涨/下跌”再拆分,最终得到十个大类。接下来,通过对相关新闻的大范围检索,整合所有符合类目条件的词语,即可得到一个基本完善的情感语料库。
按以下原则对情感词语赋权重值:属于“使期货价格上涨”类的词语赋正分,属于“使期货价格下跌”类的词语赋负分。属于价格结构、供求关系类的词语,因为其对价格波动具有直接影响,赋2分。属于资金技术、宏观经济和政治导向类的词语,因为其对价格波动具有间接影响,赋1分。程度副词按对形容词的修饰程度等级赋分,如“非常”赋2分、“有些”赋1分。
最终将赋好权重值的词语按分值形成负值词典(negative_dict),正值词典(positive_dict),词组单独形成词组词典:(phrase_dict),即完成情感词典的建立。
(2)文本情感值计算
在建立了情感词典后,用捕捉情感词语的方式计算文本情绪值。具体来说,对一个语句进行分词,获得分词序列,筛选出情感词语、词组与程度副词,再按照情感词典的权重值对识别出的词语权重累加,计算得出语句的情感值。
上述方法计算的情感值正向越大,说明句子倾向正向情感的程度越大,即期货价格存在上涨趋势;负向越大,说明句子倾向负向情感的程度越大,即期货价格存在下跌趋势; 情感倾向值为零,说明句子不是情感句,即期货价格不存在波动趋势。
3.预测价格波动趋势
该模块的作用为使用文本情感值预测出价格的波动趋势。为了完成预测,首先需要对文本情感值与价格趋势拟合回归模型。价格趋势可以分为“上涨”和“下跌”两类,因此可以将问题看做定量变量对定性变量的拟合问题。本文选用Logistic模型进行拟合。
Logistic回归是一种二分类模型,其自变量取值为实数,因变量为0或者1。二项Logistic回归的条件概率公式为:
上式中,ρ为回归拟合的条件概率,χ为回归自变量,β0和β1为要求解的模型参数,通常采用最大似然估计。设置0.5为阈值,记y为预测结果,则:如果ρ≥0.5,y=1;否则y=0。
三、模型回测
本文选择的期货合约代码为JM2105,即2021年5月份交割的焦煤合约。使用该合约从2020年6月1日到2021年2月1日的价格数据,以及同时段从东方财富网取得的新闻文本数据进行模型回测分析。
为了展示策略性能,将在同时间段下分别使用海龟交易策略和事件驱动交易策略,通过对比二者的胜率和收益率来衡量策略优劣。
1. 基础海龟交易策略效果分析
海龟交易策略采用20日均线交易方式,价格选择每日收盘价。其收益概览如图2所示,其回测收益为373%,回测年化收益为:944%。可以看出,海龟交易策略作为一个经典的交易策略,具有较为优良的性能。然而,通过对比交易操作的后续盈亏情况,可以发现海龟的胜率仅有42.2%,具有较大的改进空间。
图2 基础海龟策略收益概览
2.基础海龟交易策略效果分析
(1)新闻文本情绪分析
①焦煤情感词典
以焦煤为主题,选取东方财富网的新闻文本进行检索,共搜集了相关词句500余个。依照上文所述方法分类后,得到焦煤主题的情感词典。表1展示了情感语料库的部分内容。从语料库的结果,可以直观看出情感词语是如何影响焦煤价格的。
表1 焦煤新闻语料库(部分)
②计算新闻情绪值
利用Python语言编程实现新闻标题情绪值的计算。图3为两条新闻标题的情绪值计算实例,可以看出,分析结果能够明确区分语句中的上涨或下跌含义,并以数值的形式表现出价格波动程度,分析效果显著。
图3 文本情绪分析输出示例
(2)回归拟合与回测
①数据预处理
考虑后续价格走势,将后续价格上涨的操作记为1,后续价格下跌的操作记为0,作为回归所用因变量。将海龟操作前20天内新闻总情绪分值作为回归自变量。自变量的获取步骤如下。第一步,选取东方财富网“焦煤”板块的新闻,并用文本挖掘技术取得带时间戳的新闻文本。第二步,将爬取到的新闻文本使用新闻文本情绪方法计算情绪值。对一个操作点加总其前20天内的新闻总分值,得到拟合所需自变量。最终得到的回归所需部分数据如表2所示。
表 2 回归数据示意表
②描述性统计分析
统计不同新闻得分下价格上涨/下跌趋势的个数,可做频数直方图,更为直观地显示价格趋势与新闻得分的关系。
如图4所示,浅色表示价格将下降,深色表示价格将上涨,横轴对应新闻总得分。可以看出,随着新闻得分分数增加,浅色条越来越短,深色条越来越长。即新闻得分分值越高,价格越可能上涨。这个结果与情绪分值设置的原则一致,说明价格趋势与新闻间确实存在相关性,可以进行拟合。
图4 频数直方图
③拟合回归方程
使用R实现Logistic回归方程的拟合。令p表示后续价格上涨的概率,x表示此前20天内新闻的总情绪分值,则Logistic回归得到的方程为:
④数据回测
利用拟合的原始数据对回归方程进行回测。经计算,引入新闻文本作为判断标准后,操作的胜率为57.9%,较之前上升了15.7%,显然引入新闻语义分析对降低传统交易策略的误判率有显著效果。
⑤收益概览
利用上述回测结果,过滤掉错误的海龟信号,重新制定交易策略。具体的形式为:若结合新闻文本判断海龟的交易节点确实有价格上涨趋势,则照常执行海龟策略;若新闻判断海龟的交易节点价格将下跌,则不执行原有海龟策略。
执行事件驱动的交易策略,收益概览如图5所示。可以看到:引入决策支持系统的交易策略回测收益显著上涨,为404%;回测年化收益也涨至1049%。其余各项指标对比如表3所示。相较于原始海龟,事件驱动策略的回测收益上涨了31%,回测年化收益上涨了105%。显然,引入新闻判断对提高传统交易策略收益率、促进收益最大化有重要意义。
表3 策略收益指标对比
图5 事件驱动策略收益概率
四、结语
本文通过引入基于新闻文本情绪分析的决策支持系统,并将其与传统交易策略相结合,形成了事件驱动的程序化交易策略。实验证明,新的交易策略能够成功过滤原有海龟捕捉的错误信号,将决策胜率提升了16%;同时,新的交易策略被证实在交易中也能取得良好收益。事件驱动策略相对原始海龟,不仅在回测收益、年化收益、夏普率等多项收益指标中表现更优,更降低了海龟的最大回撤,使得交易能够更稳健、高效地进行。但本文的策略仍存在一些不足,如回测时段可以更长,实验选取的合约种类也可以有所增加,等等。总体来说,引入文本分析的交易策略具有巨大的研究潜力,分析复合数据类型的策略研究也将成为大数据时代下程序化交易的必然趋势,期待更多学者对此进行继续钻研与不断探索。