1.本发明属于人工智能领域,具体涉及一种基于凯利准则和止损策略的股票交易决策方法。
背景技术:2.近年来,以人工智能为代表的新兴技术蓬勃发展。人工智能技术具有很强的适用性。它可以应用于许多领域,如医学,农业,通信,金融。在金融领域,包括投资、保险、预测在内的许多服务都与人工智能技术有关。预测是金融市场上最有趣的事情。许多学者和投资者不断研究和发展不同的预测方法,特别是在股票预测方面。起初,人们用许多方法来预测股票价格的波动。但是,由于影响股价波动的因素很多,金融市场充满了不确定性。此外,投资者往往受到自身情绪的影响,无法进行理性判断,导致对股价波动的预测精度不高,投资者收益不高,或出现资金损失。
3.现有技术存在以下缺陷:虽然已有技术对于股票交易预测提出了不同的方法和模型,但是以往的股票预测采用的数据往往只有历史价格等基础数据,不包括期权和期货等领先指标,从而导致股票预测准确性低;已有技术在进行模拟股票交易的过程中,并没有考虑投入本金的比例,或者并没有采用较为科学的计算方法得到科学的投资比例,导致在整个交易过程中投资者的收益无法实现更大化;已有技术对于股票交易中的止损策略往往采用止损单阈值的模式,但是研究发现,采用单阈值的止损策略存在着非常严重的问题,它可能会造成投资者不必要的损失,而且损失金额可能超出投资者可接受的范围。
技术实现要素:4.为了解决上述问题,本发明提出了一种基于凯利准则和止损策略的股票交易决策方法,该方法提出了一种融合lstmli模型、粒子群算法、凯利准则和止损双阈值的股票交易策略,基于该策略为投资者确定最佳交易时机、资本投资比例,并及时做出止损抛售决定。
5.本发明的技术方案如下:一种基于凯利准则和止损策略的股票交易决策方法,包括如下步骤:步骤1、获取股票历史数据,构建数据集,并进行处理;步骤2、训练lstmli模型,优化交易阈值,然后进行测试评价;交易阈值包括买入阈值、卖出阈值、止损双阈值,止损双阈值包括止损下限和止损上限;步骤3、实时获取当天待决策股票前30天的股票相关数据,基于lstmli模型得出买入信号值、持有信号值和卖出信号值,分别将买入信号值、卖出信号值与优化后的买入阈值、卖出阈值进行比较,得到最合适的交易时机,然后再通过凯利准则进行资金管理,得到资本投资比率;
步骤4、采用止损策略监控买入股票的状态,如果价格持续下跌超过止损双阈值,及时止损抛售。
6.进一步地,步骤1的具体过程如下:步骤1.1、分别获取股票的历史价格、期权和期货数据,构建数据集;步骤1.2、采用滑动矩阵窗口的方式读取数据集中的数据,将其处理成矩阵的形式;步骤1.3、进行标准化处理,标准化过程如下:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)其中,x表示当前数据,x
mean
表示数据的平均值,x
max
表示数据的最大值,x
min
表示数据的最小值,x
*
表示标准化后的数据;步骤1.4、将标准化后的数据,划分为训练集和测试集。
7.进一步地,步骤2的具体过程如下:步骤2.1、采用训练集数据训练lstmli模型;lstmli模型结构的状态信息如公式(2)所示:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)其中,f
t
、i
t
和o
t
分别表示遗忘门、输入门和输出门,c
t
表示传输特定信息的细胞状态;h
t-1
表示前一时间的输出,h
t
表示当前时间的输出;w和v均表示权重,b表示偏差,g表示sigmoid激活函数,用于确定要传输的信息;x
t
表示t时刻输入的数据,b0、b1、b2均表示神经网络中的偏置信息,用来增加神经元的灵活性,表示t时刻的细胞状态的候选值向量,会被加入到细胞状态中,c
t-1
表示t-1时刻的细胞状态;tanh用于处理前一阶段的输出值和当前阶段的输入;lstmli模型的输入数据集包含三项数据:历史价格、期货和期权;输出包含三个交易信号值:买入信号值、持有信号值和卖出信号值;lstmli模型的工作过程为:首先,根据投资者的投资习惯,选择一个具体的分类范围,如公式(3)所示:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)当股票价格的波动大于分类范围的临界上限值时,将其分类为1,这表明股票价格将在第二天上涨,且上涨范围符合投资者的预期;当股票价格的波动小于分类范围的临界下限值时,将其分类为-1,这表明股票价格将在第二天下跌,且下跌范围不符合投资者的预期;此外,当股票价格在分类范围内时,将其分类为0,这表明股票价格波动较小,投资者不
会买入或卖出;然后,lstmli模型再给出买入信号值、卖出信号值;其中,买入信号值为分类为1的概率值,卖出信号值为分类为-1的概率值;采用训练集数据训练lstmli模型时,每次训练会产生一个损失值,损失值代表实际的结果和预测的结果的误差,经过不断迭代,当损失值接近于0时,停止训练,保存训练好的lstmli模型;步骤2.2、采用粒子群算法优化交易阈值,得到最优的股票买入阈值、卖出阈值、止损下限和止损上限;粒子群算法的粒子位置设为四维,分别对应买入阈值、卖出阈值、止损下限和止损上限;使用粒子群算法优化的具体过程为:首先,初始化每个粒子的速度和位置;在使用训练集进行lstmli模型训练时,会产生三个节点值:买入信号值、持有信号值和卖出信号值,由于三个节点值之和为1,因此首先将买入信号和卖出信号的阈值均设置为0到1之间的随机数,另止损下限和止损上限也设置为0到1之间的随机数,其中止损下限的值小于止损上限的值;然后,粒子群算法会根据买入信号、卖出信号、损失率以及买入阈值、卖出阈值、止损下限和止损上限进行迭代,最终得到最优的买入阈值、卖出阈值、止损下限和止损上限;最后,进行适应度评价,适应度函数用于评估交易阈值的临界值;将一段时间内的累积收益作为适应度函数,如等式(5)所示:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)其中,表示第k次迭代时第i个粒子在第d维上的速度;w1表示惯性因子,用于调整粒子群的全局优化能力和局部优化能力,c1表示个体学习因子,c2表示群体学习因子,r1、r2均为0~1之间的随机数,pbest
id
表示第i个粒子的个体极值的d维的最优值,而gbestd表示全局最优解的d维,表示第k次迭代时第i个粒子在第d维上的位置;粒子更新涉及四个维度,更新后的粒子将继续进行适应度的评估,并判断它们是否满足迭代或适合性的要求;当满足要求时,输出四维粒子的位置,此时对应得到最优的买入阈值、卖出阈值、止损下限和止损上限;步骤2.3、训练过程中产生胜率、净利润率、净损失率,将其带入到凯利准则的计算公式中,得到投资比例;凯利准则的计算公式为:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)其中,f表示投入资金比例,p表示胜率,b1表示净利润率,b2表示净损失率;步骤2.4、采用测试集对训练完成的lstmli模型、优化后的交易阈值、计算完成后的凯利准则各个变量进行性能测试,当测试结果表示当前性能最优良好时,保存当前模型、阈值和投入资金比例。
8.进一步地,步骤3的具体过程如下:步骤3.1、首先获取当天待决策股票前30天的股票相关数据,然后进行矩阵标准化处理,股票相关数据包括历史价格、期货、期权;步骤3.2、将处理后的数据输入lstmli模型,经过模型的计算,输出当天待决策股票的买入信号值、持有信号值和卖出信号值;步骤3.3、将买入信号值和优化后的买入阈值进行对比,如果大于买入阈值,就进行买入;同理,将卖出信号值和优化后的卖出阈值进行对比,如果大于卖出阈值,就进行卖出;步骤3.4、根据投入资金比例投入资金。
9.进一步地,步骤4的具体过程如下:首先,计算止损率lr:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)其中,invf表示投资基金,incf表示收入基金;然后,当止损率处于止损下限和止损上限之间时,就进行止损抛售。
10.本发明所带来的有益技术效果:提出了一种基于lstmli框架的股票交易策略,lstmli框架集成了历史价格、期货和期权等多方位数据,通过这些多方位数据的集成,增加了股票预测的准确性;在股票交易策略中加入了凯利准则,用来指导投资者决定股票的购买比例,从而实现投资者收益最大化;提出了止损双阈值的止损模式,将止损阈值从单个值转化为一个投资者可以接受的止损范围,即止损双阈值,止损双阈值的加入能够有效地避免止损单阈值存在的问题,避免造成投资者不必要的损失。
附图说明
11.图1为本发明基于凯利准则和止损策略的股票交易决策方法的流程图;图2为本发明lstmli模型的结构图;图3为本发明止损单值与止损范围之间的收入比较结果图,其中,(a)为止损策略中使用临界单值的情况,(b)为止损策略中使用临界双阈值的情况;图4为本发明添加止损策略后示例的具体交易流程图;图5为本发明实验1中粒子群算法和遗传算法优化阈值后各股票的年收益差异比较结果图;图6为本发明实验2中止损单阈值和止损双阈值的年收益率比较结果图;图7为本发明实验2中买入或卖出信号出现的示例图;图8为本发明实验3中在美国市场的三个数据集上根据提出的交易框架计算年收益率的对比图,其中(a)为aapl股票、(b)为amzn股票、(c)为fb股票、(d)为ibm股票、(e)为msft股票的年回报率;图9为本发明实验3中在中国台湾市场的四个数据集上根据提出的交易框架计算年收益率的对比图,其中(a)为cda股票、(b)为cfo股票、(c)为djo股票、(d)为dvo股票、(e)
为ijo股票的年回报率。
具体实施方式
12.下面结合附图以及具体实施方式对本发明作进一步详细说明:本发明提出了一种基于凯利标准和止损策略的股票交易决策方法,该方法是一种融合lstmli模型、粒子群算法、凯利准则和止损双阈值的股票交易策略,旨在为投资者提供准确的交易信号,以增加投资者的收入。对于股票交易来说,有比较重要的两个环节,一个是交易时机,另一个是资产管理。本发明通过使用lstmli模型和粒子群算法来选择合适的交易时机,通过凯利准则来进行资金管理(也就是每次交易投入多少资产,即资本投资比率)。另外,利用双阈值的止损策略能够有效的降低股票交易的风险,帮助投资者及时止损。如图1所示,该股票交易决策方法具体包括如下步骤:步骤1、获取股票历史数据,构建数据集,并进行处理。具体过程如下:步骤1.1、分别获取股票的历史价格、期权和期货数据,构建数据集。
13.期权和期货均属于领先指标。领先指标是指在经济形势发生变化之前能够率先改变的指标,是一组用于预测未来经济状况的指标,它们用于在早期阶段预测经济运行和市场趋势。领先指标可以反映经济发展的未来,为制定交易策略提供有效的信息,从而降低投资者的风险,最大限度地提高投资者的利润。因此,在使用历史价格作为数据集的基础上,本发明添加了两个领先指标,即期权和期货。
14.历史价格包括:开盘价、最高价、最低价、收盘价、交易量等。期权包括买入选择权结算价、买入选择权持仓量、卖出选择权结算价、卖出选择权持仓量、交易量、未平仓头寸、收盘价和结算价等。期货包括开盘价、最高值、最低值、收盘价、交易量等。
15.步骤1.2、采用滑动矩阵窗口的方式读取数据集中的数据,将其处理成矩阵的形式,处理方式为:对所有的数据进行滑动取值,得到长度为30、宽度为股票数据维度的矩阵;步骤1.3、考虑到不一致的数据大小可能会对结果产生一定的影响,因此在将数据输入lstmli框架之前对其进行标准化。标准化数据符合标准正态分布,以确保数据范围的一致性,减少其他因素对结果的影响。标准化过程如下:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)其中,x表示当前数据,x
mean
表示数据的平均值,x
max
表示数据的最大值,x
min
表示数据的最小值,x
*
表示标准化后的数据。
16.步骤1.4、将标准化后的数据,划分为训练集和测试集。
17.步骤2、采用训练集数据训练lstmli模型,优化交易阈值,然后采用测试集数据进行测试评价;交易阈值包括买入阈值、卖出阈值、止损双阈值,止损双阈值包括止损下限和止损上限。
18.步骤2.1、lstmli模型的训练;本发明在lstm模型的基础上融入了领先指标,构建了基于领先指标和lstm的股票价格趋势模型lstmli,主要用于对股票价格进行分类。lstmli模型的结构如图2所示,状态信息如公式(2)所示:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)其中,f
t
、i
t
和o
t
分别表示遗忘门、输入门和输出门,c
t
表示传输特定信息的细胞状态。h
t-1
表示前一时间的输出,h
t
表示当前时间的输出。w和v均表示权重,b表示偏差,g表示sigmoid激活函数,用于确定要传输的信息。x
t
表示t时刻输入的数据,b0、b1、b2都表示神经网络中的偏置信息,用来增加神经元的灵活性,表示t时刻的细胞状态的候选值向量,会被加入到细胞状态中,c
t-1
表示t-1时刻的细胞状态。sigmoid函数激活后的结果范围为0
∼
1,如果为0,则表示不会传输所有信息。相反,如果为1,则表示将传输所有信息。tanh用于处理前一阶段的输出值和当前阶段的输入。
19.lstmli模型的输入数据集包含三项数据:历史价格、期货和期权。
20.lstmli模型的输出包含三个值,对应三个交易信号,分别是买入信号值、持有信号值和卖出信号值。
21.lstmli模型的工作过程为:首先会先根据投资者的投资习惯,选择一个具体的分类范围,如公式(3)所示:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)当股票价格的波动大于分类范围的临界上限值时,将其分类为1,这表明股票价格将在第二天上涨,且上涨范围符合投资者的预期。当股票价格的波动小于分类范围的临界下限值时,它被分类为-1,这表明股票价格将在第二天下跌,且下跌范围不符合投资者的预期。此外,当股票价格在分类范围内时,它被分类为0,这意味着股票价格波动较小,投资者不会买入或卖出。
22.分类目的在于给股票的涨跌划定一个临界值。如果预测未来的股票要涨,就在它涨之前提前买入,如果预测到要跌,就在它跌之前提前卖出。当预测股票不仅要涨,而且超过临界上限值时,才进行买入。临界上限值根据经验自行设定,在试验过程中可以手动调整的一个值,它只是起到一个分类作用,当上涨波动超过临界上限值时,将它分类为1。同理,临界下限值也是一样的,如果下跌超过临界下限值,就把它分类为-1,其他情况分类为0。
23.然后lstmli模型再给出买入信号、卖出信号。其中,买入信号为分类为1的概率值,卖出信号为分类为-1的概率值。
24.买入阈值也是一个概率值,只有当买入信号的值(也就是预测分类为1的概率)大于买入阈值时,就进行买入。同理,卖出也是一样。
25.训练lstmli模型时,每次训练会产生一个损失值,损失值代表实际的结果和预测的结果的误差,经过迭代几百次或者几千次后,误差不断减小,当损失值很小,甚至接近于0时,停止训练,保存训练好的lstmli模型。
26.步骤2.2、采用粒子群算法优化交易阈值,得到最优的股票买入阈值、卖出阈值、止损下限和止损上限。
27.交易信号的选择是股票交易过程中的核心问题,正确的交易信号可以给投资者带来良好的回报。因此,如何更准确地找到交易信号对投资者来说是非常重要的。粒子群算法是一种智能进化算法,可以模拟鸟类飞行和觅食等社会活动,它利用单个鸟类之间的信息传递来找到全球最佳位置。该算法将解空间模拟为鸟类的飞行空间,空间中每只鸟的位置为解空间中的一个粒子,即问题的一个解。每个粒子都有两个属性:位置和速度,如方程(4)所示:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)其中,s表示解空间中的所有n个粒子,xn表示第n个粒子。pi表示第i个粒子移动的不同位置,p
in
表示第i个粒子移动到第n个位置,vi表示第i个粒子在每个位置时的速度,v
in
表示第i个粒子在第n个位置时的速度。此外,每个粒子的速度和位置都是多维的,这取决于解空间的维数。
28.其中,本发明添加止损策略后,粒子位置p是四维的,四个维度分别是买入阈值、卖出阈值、止损下限和止损上限。例如,p(0.6,0.7,0.2,0.3),则表示买入阈值是0.6,卖出阈值是0.7,止损下限是0.2,止损上限是0.3。
29.使用粒子群算法优化的具体步骤为:首先,初始化每个粒子的速度和位置。在使用训练集进行lstmli模型训练时,会产生三个节点值:买入信号值、持有信号值和卖出信号值,由于三个节点值之和为1,因此首先将买入信号和卖出信号的阈值设置为0到1之间的随机数。另外由于止损下限和止损上限的值也是位于0和1之间,并且止损下限的值一定小于止损上限的值,所以同样将止损下限和止损上限的值设置为0到1之间的随机数,且止损下限的值一定小于止损上限的值。然后粒子群算法会根据买入信号、卖出信号、损失率以及买入阈值、卖出阈值、止损下限和止损上限进行迭代,最终得到最优的买入阈值、卖出阈值、止损下限和止损上限。
30.最后,进行适应度评价。适应度函数用于评估交易阈值的临界值。本发明将一段时间内的累积收益作为适应度函数,如等式(5)所示:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)其中,表示第k次迭代时第i个粒子在第d维上的速度;w1表示惯性因子,用于调整粒子群的全局优化能力和局部优化能力,c1表示个体学习因子,c2表示群体学习因子,r1、r2均为0~1之间的随机数,pbest
id
表示第i个粒子的个体极值的d维的最优值,而gbestd表示全局最优解的d维,表示第k次迭代时第i个粒子在第d维上的位置。
31.粒子更新涉及四个维度,更新后的粒子将继续进行适应度的评估,并判断它们是否满足迭代或适合性的要求。当满足要求时,输出四维粒子的位置,此时对应得到最优的买入阈值、卖出阈值、止损下限和止损上限。
32.步骤2.3、训练过程中产生胜率、净利润率、净损失率,将其带入到凯利准则的计算公式中,得到投资比例;凯利准则就是计算在模拟交易的过程中,应该投入资金的比例。依靠这一比例,投资者可以有效降低风险,获得更多回报。
33.凯利准则的计算公式为:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)其中,f表示投入资金比例,p表示胜率,b1表示净利润率,b2表示净损失率。其中,胜率是指在训练的过程中,盈利的交易次数占总交易次数的比例,比如在训练的过程中一共发生了10次交易,有7次盈利了,3次亏损了,那么胜率就是0.7。
34.步骤2.4、采用测试集的数据对模型进行性能测试。
35.采用测试集对训练完成的lstmli模型、优化后的交易阈值、计算完成后的凯利准则各个变量进行性能测试,当测试结果表示当前性能良好时,保存当前模型、阈值和投入资金比例。例如,使用10万元本金进行模拟股票交易,经过多次的买入和卖出之后,得出股票交易的年收益率,年收益率越高,说明当前提出的股票交易策略(lstmli模型的训练、交易阈值的优化过程以及投资比例的计算过程)越好。
36.步骤3、实时获取当天待决策股票前30天的股票相关数据,基于lstmli模型得出买入信号值、持有信号值和卖出信号值,分别将买入信号值、卖出信号值与优化后的买入、卖出阈值进行比较,得到最合适的交易时机,然后再通过凯利准则进行资金管理,得到资本投资比率。具体过程如下:步骤3.1、首先获取当天待决策股票前30天的股票相关数据,然后进行矩阵标准化处理,股票相关数据包括历史价格、期货、期权;步骤3.2、将处理后的数据输入lstmli模型,经过模型的计算,输出当天待决策股票的买入信号值、持有信号值和卖出信号值;步骤3.3、将买入信号值和优化后的买入阈值进行对比,如果大于买入阈值,就进行买入;同理,将卖出信号值和优化后的卖出阈值进行对比,如果大于卖出阈值,就进行卖出。
37.步骤4、采用止损策略监控买入股票的状态,如果价格持续下跌超过止损双阈值,及时止损抛售。
38.对于一个复杂的股票交易决策过程,合理的交易时间、适当的资本投资和及时止损抛售是三个非常重要的环节。
39.投资者购买股票后,如果股票价格出现下跌,并且止损率在预先设定范围内,就会触发及时止损策略,将进行及时出售止损操作。如果它超过了预先设定的范围,它将选择继续持有股票。过去,股票交易的止损通常使用单个值作为止损临界点,但这会适得其反,如图3所示。图3(a)显示了止损策略中使用临界单值的情况,横坐标表示交易日,纵坐标表示交易价格。如果投资者在第三个交易日之前买入并持有股票,并且股票价格将在第四个交易日大幅下跌,在使用临界单值的止损策略中,此时的损失将不可避免地超过止损的临界单值,因此将会在第四交易日进行止损抛售,那么,它将不可避免地造成巨大损失。由于第三个交易日的价格为320美元,第四个交易日价格为254美元,止损率为20.635%。公式(7)是
止损率lr的计算过程。
40.ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)其中,invf表示投资基金,incf表示收入基金。
41.图3(b)使用了临界范围,即使用止损上限和止损下限替换临界单值。只有当损失值在该临界范围内时,才能触发止损策略进行止损抛售,即当止损率处于止损下限和止损上限之间时,就进行止损抛售。因此,在这种情况下,当股票价格在第四个交易日急剧下跌时,由于损失值不在止损范围内,在下一个卖出信号出现之前不会进行卖出,也就是说,直到第七个交易日才进行卖出。由于第三个交易日的价格为320美元,第七个贸易日的价格是369美元,故收益率为15.3125%。
42.因此可以看出,当采用止损单阈值作为止损策略时,止损率为20.635%,而当采用止损双阈值也就是止损范围作为止损策略时,收益率为15.3125%。因此,临界双阈值的设计可以有效避免较为重大的损失,这是及时止损策略中非常重要的一点。
43.下面给出添加止损策略后的一个示例,具体交易流程如图4所示。其中,第一列是交易日,第二列是买入阈值,第三列是卖出阈值,第四列是止损下限,第五列是止损上限,最后一列是交易当天的股票价格。第一个交易日的买入信号值为0.89346,显然它大于买入阈值0.86341,所以在第一个交易日买入。第二个交易日的卖出信号值为0.65374,低于卖出阈值,但是其交易价格为93.237,计算止损率为6.896%,在止损范围的5.831%和12.074%之间。因此,尽管在第二个交易日没有达到卖出阈值,但及时止损策略被触发,因此进行了卖出操作。第三个交易日的购买信号值大于购买阈值,因此执行购买操作。在买入信号之后,它必须与卖出信号相对应。第四个交易日的卖出信号低于卖出阈值,止损率不在及时止损范围内,因此未卖出。第五个交易日的卖出信号值大于交易阈值,所以在第五个交易日卖出股票。
44.为了证明本发明的可行性与优越性,进行了如下实验。
45.实验数据采用的是美国五支股票和中国台湾的五支股票共十支股票数据。美国五支股票:微软(msft)、国际商业机器(ibm)、脸书(fb)、亚马逊(amzn)和苹果(aapl);中国台湾的五支股票:台积电(cda)、台塑(cfo)、华硕(djo)、联发科(dvo)和大立光(ijo)。下面以五只中国台湾股票为例,表1-表3展示了实验中使用的五只股票的部分数据。
46.表1 中国台湾五只股票的历史价格表2 中国台湾五只股票的期货数据
表3 中国台湾五只股票的期权数据在实验中,数据以矩阵的形式输入到lstmli框架中。矩阵的宽度为30,表示30天的库存数据。如表4所示,以历史价格为例介绍框架的输入矩阵。
47.表4 输入矩阵形式将上述数据进行标准化处理,处理后的结果表示为:表5 标准化处理后的数据因为本发明中使用的lstmli是采用第1-30天的股票预测第31天的股票价格是涨还是跌,所以在进行数据处理时,每30天作一个时间窗进行股票价格的预测。
48.实验1:粒子群算法与遗传算法在优化阈值上的性能比较。
49.在以往的研究中,遗传算法经常被用来优化事务阈值,而粒子群算法由于其原理简单、参数少、易于实现而被广泛使用。粒子群算法和遗传算法都可以用来优化阈值并找到特定问题的最优解。
50.本实验以美国和中国台湾10只股票的历史价格、期货和期权为研究对象,使用lstmli模型预测股票价格的波动,然后分别使用粒子群算法和遗传算法优化买入阈值、卖出阈值,并模拟股票交易过程以获得股票交易的年收益。
51.图5显示了分别使用粒子群算法和遗传算法优化股票交易阈值,并进行股票交易获得的年收益的比较结果。其中aapl、fb、msft、amzn、ibm分别代表不同的股票,横坐标代表每个股票的不同数据集,纵坐标代表通过两种不同的优化算法获得的年度收益的水平,其中纵坐标的值越小,两者的年度收益之间的差异就越小。差异率的计算过程如公式(8)所示。由两种算法优化的每个数据集交易阈值的年收益率的差异水平通过虚线上每个点之间的距离的大小和虚线的平滑度来衡量。如果一个股票的所有数据集的差异水平形成的折叠曲线较小,且差异值趋于0,则可以说,粒子群算法和遗传算法对该股票所有数据集具有非常相似的优化效果。可以看出,每支股票的差异水平线的弯曲范围在
−
1%和1%,只有单个数据集的差异约为2%,这表明两种算法优化的交易阈值获得的年收益率差异不大。
52.ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)由于粒子群算法和遗传算法在优化效果上的差异较小,因此在年收益水平相同的情况下选择了更快的优化速度。
53.表6和表7显示了在相同条件下使用粒子群算法pso和遗传算法ga的阈值优化过程中达到收敛时的迭代次数。表6中“hp”表示历史价格数据集,“o”表示期权数据集。由于美国股市没有期货,因此“all”表示历史价格和期权数据集的组合,不包括期货。表7中,“hp”表示历史价格数据集,“o”表示期权,“f”表示期货,“all”表示历史价格、期货和期权。可以看出,在所有数据集中,粒子群算法可以在较少的迭代后收敛,而遗传算法需要更多的迭代才能达到收敛。因此,本发明使用粒子群算法具有更大的优越性。
54.表6 在美国股票中使用pso和ga收敛时迭代次数的比较表7 中国台湾股市使用pso和ga收敛时迭代次数的比较实验2:止损双阈值优势验证实验。
55.为了验证止损双阈值在股票市场上的优势,本发明以美国五只股票的hp+o数据集和中国台湾五只股票hp+o+f数据集为研究对象,使用lstm进行股票价格波动预测,粒子群算法用于阈值优化,凯利准则用于基金管理,对止损单阈值和止损双阈值进行了比较。如图6所示,可以看出,使用止损双阈值的年收益率明显高于使用止损单阈值的年收益率。这是
因为当股票价格急剧下跌时,单一止损阈值无法避免止损卖出,而双止损阈值可以很好地避免这种情况。
56.图7显示了ibm股票价格的波动,买入信号和卖出信号成对出现。可以看出,在第24个交易日买入后,股票价格下跌,但由于止损双阈值的限制,此时未进行止损卖出,股票继续持有至第30个交易日。同样,在第88个交易日买入后,股价也下跌了,直到第95天股票才被卖出。
57.实验3:股票交易策略整体优势验证实验。
58.本发明将所提出的融合lstmli、凯利准则、止损策略的股票交易策略模型与其他两种股票交易模型进行了比较,分别为两个模型进行了比较,模型1为:ga优化的ssacnn模型;模型2为:pso的lstmli模型,两种模型都不包括止损策略。
59.图8显示了美国五支股票的实验结果。其中横坐标表示实验数据集,“hp”表示历史价格数据集,“o”表示期权数据集。由于美国股市没有期货,因此“all”表示历史价格和期权数据集的组合,不包括期货。纵坐标表示年收益率,即一年中获取的总利润与本金的比率。从实验结果可以看出,本发明的股票交易模型的效果优于其他两种模型。这表明,使用凯利准则进行基金管理比不使用凯利准则进行基金管理更有利可图。在使用凯利准则进行基金管理的情况下,添加止损策略可以有效提高最终收益。此外,使用历史数据和期权作为研究数据集的效果优于单独使用历史价格和期权作为调查数据集。
60.图9为中国台湾股市五支股票的实验结果。其中横坐标表示实验数据集,“hp”表示历史价格数据,“o”表示期权数据,“f”表示期货数据,“all”表示历史价格、期权和期货的组合。纵坐标表示年收益率,即一年中获取的总利润与本金的比率。从实验结果可以看出,使用凯利准则进行基金管理和止损策略的股票交易模型比其他没有凯利准则或止损策略的模型具有更高的本金回报率。此外,使用历史数据、期权和期货组合作为研究数据集的效果优于使用任何其他数据集作为研究数据。
61.通过上述实验也验证了止损双阈值对投资者及时止损、降低投资者风险、提高投资者收益的有着良好的效果。
62.本发明由交易阈值、止损上限、止损下限和凯利准则共同限制了交易决策的过程,大大提高了交易策略的绩效,提高了投资者的收益。最终收入位于圆角矩形中。
63.当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。