在线强化学习交易系统及方法与流程

文档序号:12672742阅读:322来源:国知局
在线强化学习交易系统及方法与流程

本发明涉及计算机技术领域,特别涉及一种在线强化学习交易系统及方法。



背景技术:

随着市场的交易数据越来越多,对大量数据进行快速分析的需求越来越迫切,尤其是在一些高频交易中,依靠人发出交易指令很可能滞后导致获利机会的丢失。因此,计算机技术被应用在交易中,从而依靠程序自动分析已有的数据发掘套利的机会并发出交易的指令,进而获利。

相关技术中,程序化交易的应用主要有如下两个方面:

1.对基本面信息的分析,可采用程序自动分析公司财务报表之类的文件,得到该公司的资金,财务,发展状况等有价值的基本面信息帮助交易人员决策。

2.对交易信息的分析,采用程序分析证券之间的相关性,在整个市场中寻找相关性较强的证券对,做配对交易或者分析证券的自相关性预测证券价格走势。

除此之外,现在运用比较多的是根据量化人员的交易经验分析证券价格、波动的模式,得出一些均线策略,反转策略,突破策略等。

然而,经过大规模的对数据的分析得出的判断具有更高的准确性和可信度,但是程序可分析出比较抽象的模式,这些模式凭人的经验可能很难从历史数据发现。不仅如此,快速的交易指令的发出使得对高置信概率的套机机会把握的更加及时。然而,现有的程序化交易算法还有很多的不足,例如大多数都需要设计者有丰富的交易经验,对交易经验进行提炼,得出交易思想,然后用程序实现,不但受限于交易人员的交易经验,而且不利于充分分析市场数据来发掘更多套利机会。因此,相关技术存在一定缺陷,有待改进。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明的一个目的在于提出一种在线强化学习交易系统,该系统能够学习交易市场的复杂信号,并且实时学习和适应市场变化。

本发明的另一个目的在于提出一种在线强化学习交易方法。

为达到上述目的,本发明一方面实施例提出了一种在线强化学习交易系统,包括以下步骤:采集模块,用于采集交易市场的交易数据;特征映射模块,用于将所述交易数据进行连续空间的映射,得到强化学习的状态;强化学习模型,用于通过迭代方式近似Q函数,更新模型参数;输出模块,用于根据每一次迭代后得到的所述强化学习模型与所述强化学习的状态输出每个操作的Q值,并提取所述每个操作的Q值中最大值;计算模块,用于根据所述每个操作的Q值中最大值评价交易效果。

本发明实施例的在线强化学习交易系统,利用深度学习将出入的各种因子数据映射到另一个连续空间中,可以从大量带噪声的数据中提取出市场状态准确的表示,且利用Q-learning的model-free的特性,保证了模型能够自己从学习的过程中发现市场规律,不受认为人为假设的限制,并且利用强化学习能够在线学习的特性,捕捉市场的动态特性,不会随着时间的推移而失效,以及作为一个端对端的系统,输入已有的交易历史信息,直接输出选择的操作,而不是像以往的模型一样输出的是对市场的预测,然后再人为的决定操作,从而避免了人错误判断造成损失,不但能够学习交易市场的复杂信号,而且实时学习和适应市场变化,提高系统的实用性和可靠性,简单易实现。

另外,根据本发明上述实施例的在线强化学习交易系统还可以具有以下附加的技术特征:

进一步地,在本发明的一个实施例中,所述采集模块还用于对所述交易数据进行规整处理,以整理所述交易数据中异常数据。

进一步地,在本发明的一个实施例中,通过多层以下映射函数进行映射:

Q=g(x)

其中,g(x)为所述映射函数,并且采用以下神经网络模型:

h=f(w*x+b),

其中,f(x)为激发函数,x为输入的历史k线数据,h为隐层表示,以作为Q网络的输入。

进一步地,在本发明的一个实施例中,所述每一次迭代包括:根据预设时刻更新得到的Q网络将初始数据的隐层表示作为输入,得到输出值计算目标Q值;通过当前的Q网络获取实际值;获取损失值,更新权值。

进一步地,在本发明的一个实施例中,所述计算模块具体用于根据所述每个操作的Q值中最大值得到交易指标,以根据所述交易指标得到所述交易效果,其中,所述交易指标包括收益率和夏普率。

为达到上述目的,本发明另一方面实施例提出了一种在线强化学习交易方法,包括:采集交易市场的交易数据;将所述交易数据进行连续空间的映射,得到强化学习的状态;强化学习模型,用于通过迭代方式近似Q函数,更新强化学习模型的模型参数;根据每一次迭代后得到的所述强化学习模型与所述强化学习的状态输出每个操作的Q值,并提取所述每个操作的Q值中最大值;根据所述每个操作的Q值中最大值评价交易效果。

本发明实施例的在线强化学习交易系统,利用深度学习将出入的各种因子数据映射到另一个连续空间中,可以从大量带噪声的数据中提取出市场状态准确的表示,且利用Q-learning的model-free的特性,保证了模型能够自己从学习的过程中发现市场规律,不受认为人为假设的限制,并且利用强化学习能够在线学习的特性,捕捉市场的动态特性,不会随着时间的推移而失效,以及作为一个端对端的方法,输入已有的交易历史信息,直接输出选择的操作,而不是像以往的模型一样输出的是对市场的预测,然后再人为的决定操作,从而避免了人错误判断造成损失,不但能够学习交易市场的复杂信号,而且实时学习和适应市场变化,提高系统的实用性和可靠性,简单易实现。

另外,根据本发明上述实施例的在线强化学习交易方法还可以具有以下附加的技术特征:

进一步地,在本发明的一个实施例中,在所述采集交易市场的交易数据之后,还包括:对所述交易数据进行规整处理,以整理所述交易数据中异常数据。

进一步地,在本发明的一个实施例中,通过多层以下映射函数进行映射:

Q=g(x),

其中,g(x)为所述映射函数,并且采用以下神经网络模型:

h=f(w*x+b),

其中,f(x)为激发函数,x为输入的历史k线数据,h为隐层表示,以作为Q网络的输入。

进一步地,在本发明的一个实施例中,所述每一次迭代包括:根据预设时刻更新得到的Q网络将初始数据的隐层表示作为输入,得到输出值计算目标Q值;通过当前的Q网络获取实际值;获取损失值,更新权值。

进一步地,在本发明的一个实施例中,所述根据所述每个操作的Q值中最大值评价交易效果,进一步包括:根据所述每个操作的Q值中最大值得到交易指标,以根据所述交易指标得到所述交易效果,其中,所述交易指标包括收益率和夏普率。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为根据本发明实施例的在线强化学习交易系统的结构示意图;

图2为根据本发明一个实施例的强化学习的框架示意图;

图3为根据本发明实施例的线强化学习交易方法的流程图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参照附图描述根据本发明实施例提出的在线强化学习交易系统及方法,首先将参照附图描述根据本发明实施例提出的在线强化学习交易系统。

图1是本发明实施例的在线强化学习交易系统的结构示意图。

如图1所示,该在线强化学习交易系统100包括:采集模块10、特征映射模块20、强化学习模型30、输出模块40和计算模块50。

其中,采集模块10用于采集交易市场的交易数据。特征映射模块20用于将交易数据进行连续空间的映射,得到强化学习的状态。强化学习模型30用于通过迭代方式近似Q函数,更新模型参数。输出模块40用于根据每一次迭代后得到的强化学习模型与强化学习的状态输出每个操作的Q值,并提取每个操作的Q值中最大值。计算模块50用于根据每个操作的Q值中最大值评价交易效果。本发明实施例的系统100能够学习交易市场的复杂信号,并且实时学习和适应市场变化,提高系统的实用性和可靠性,简单易实现。

具体地,强化学习是一种通用的用于时序决策的学习框架,通过让机器自己选择操作和环境交互并从环境得到相应的奖励让机器逐渐能够选择合适的操作。强化学习有很多应用,比如已为人所知的学会玩游戏,学会下围棋。在这些任务中能达到甚至超过人的水平。而这个学习过程只输入原始数据,如图像,棋盘,并不输入一些先验的知识。有的强化学习算法如Q-learning更是模型自由(model-free)的算法,不对市场进行任何假设,避免一些错误的或是限制性很强的假设条件带来负面影响。结合深度学习,强化学习能够获得强大的表示能力,帮助其对环境的情况有准确的认知并据此选择合适的操作。

如图2所示,在每一个时间片t:

1.从环境中观察到状态st

2.执行操作at

3.得到奖励rt

学习的目标就是选择合适的操作,最大化打折的未来累积奖励:

r0+γr12r2+…,其中0≤γ<1,(1)

其中,γ为折扣因子。定义价值行为函数:

Q(s,a)=rt+γrt+12rt+2+…,(2)

其表示在状态s和操作a下,预计得到的总奖励之和。当能够学习出这个Q函数,就能知道在当前的市场状态下,各种操作(持多头头寸,空仓和持空头头寸)的预期收益。选择预期收益最大的一个的操作即可。

由于最优Q函数Q*有着非常好的迭代形式,称为贝尔曼公式(Bellman equation):

Q*(s,a)=rt+γmaxa′Q*(s′,a′),(3)

根据上式只需要最小化:

(rt+γmaxa′Q(s′,a′)-Q(s,a))2,(4)

因此,能够用迭代化得方式去近似Q函数得到Q*。采用神经网络近似Q值,能拟合十分复杂的Q函数。

也就是说,本发明实施例的系统100基于Deep Q-learning的在线学习的交易模型,从而能够学习交易市场的复杂信号,并且实时学习和适应市场变化。

进一步地,在本发明的一个实施例中,采集模块还用于对交易数据进行规整处理,以整理交易数据中异常数据。

可以理解的是,采集模块10获取对应交易市场的交易数据,并进行市场交易数据的处理,对异常数据进行处理(停牌、跌停等数据的处理),将规整后的交易数据交给候选模块处理。

其中,交易数据获取的方式可以有很多种,交易数据来源于行情接口,也可以来源于开源的数据接口。对于异常数据定义处理的规则可以有很多种,例如,对于停牌数据,对于一只股票的停牌数据,采用停牌前一天的数据作为停牌期数据,保证数据的连续性;对于复权点数据处理,在股票数据中,统一采用前复权处理。

需要说明的是,对交易数据的处理,不仅限于k线数据和停牌、复权异常点的处理。

进一步地,在本发明的一个实施例中,通过多层以下映射函数进行映射:

Q=g(x)

其中,g(x)为映射函数,并且采用以下神经网络模型:

h=f(w*x+b),

其中,f(x)为激发函数,x为输入的历史k线数据,h为隐层表示,以作为Q网络的输入。

具体地,特征映射模块20将市场的交易数据进行连续空间的映射,作为强化学习的状态st,即将市场的交易数据进行连续空间的映射,作为强化学习的价值函数。价值函数表征在当前状态下,每个动作对应的价值。

在本发明的实施例中,交易数据可以为K线数据xt,映射函数采用神经网络模型。具体如下:

假设交易t时刻的k线数据为对应的映射函数为:

Q=g(x),

其中,g(x)为映射函数,在这里采用神经网络模型,神经网络模型映射如下:

h=f(w*x+b),

其中,f(x)为激发函数,x为输入的历史k线数据,h为隐层表示,作为Q网络的输入,如果采用多层神经网络,即将上一层的隐层向量作为输入得到这一层的隐层表示,如此重复得到最后一层隐层表示。

进一步地,在本发明的一个实施例中,每一次迭代包括:根据预设时刻更新得到的Q网络将初始数据的隐层表示作为输入,得到输出值计算目标Q值;通过当前的Q网络获取实际值;获取损失值,更新权值。

可选地,在本发明的一个实施例中,计算模块50具体用于根据每个操作的Q值中最大值得到交易指标,以根据交易指标得到交易效果,其中,交易指标包括收益率和夏普率。

具体而言,强化学习模型30用p(x)表示Q函数,输入值为观察到的环境状态s,输出一个向量,该向量的每个元素表示对应操作a的未来累积奖励的预期值。采用迭代的方式近似Q函数。每一次迭代进行如下操作:

1.根据上上时刻更新得到的Q网络(权值为θt-1)将初始数据的隐层表示作为输入,得到的输出值计算目标Q值,即为公式(3)的右边项。其中的奖励r由我们的奖励函数给出,奖励函数可以为收益,财富及一些风险指标如夏普率。

2.采用最新的Q网络(权值为θt)计算实际值。即为公式(3)的左边项。

3.最小化公式(4)得出的损失,更新权值。

进一步地,输出模块40将强化学习模型30输出的结果转换为交易信号,在交易市场进行实时的交易。其中,根据强化学习模型30的目标,在使用模型时,只要选取对应的价值函数对应的最大价值的动作,就能获取最大的收益。具体计算如下:

action=argmaxQ(X)。

综上所述,action对应了具体的交易信号,产生对应的action后输出相映射的交易信号。

最后,计算模块50根据模型输出的交易信号,计算常用的交易指标,如收益率,夏普率,最大回撤,以评价交易的效果。

本发明实施例将历史价格信息,成交量信息等各种因子作为输入,通过神经网络得到每种操作(持多头头寸,持空仓,持空头头寸)上的预期收益,从而选择最优的一种操作。

根据本发明实施例的在线强化学习交易系统,利用深度学习将出入的各种因子数据映射到另一个连续空间中,可以从大量带噪声的数据中提取出市场状态准确的表示,且利用Q-learning的model-free的特性,保证了模型能够自己从学习的过程中发现市场规律,不受认为人为假设的限制,并且利用强化学习能够在线学习的特性,捕捉市场的动态特性,不会随着时间的推移而失效,以及作为一个端对端的系统,输入已有的交易历史信息,直接输出选择的操作,而不是像以往的模型一样输出的是对市场的预测,然后再人为的决定操作,从而避免了人错误判断造成损失,不但能够学习交易市场的复杂信号,而且实时学习和适应市场变化,提高系统的实用性和可靠性,简单易实现。

其次参照附图描述根据本发明实施例提出的在线强化学习交易方法。

图3是本发明实施例的在线强化学习交易方法的流程图。

如图3所示,该在线强化学习交易方法包括以下步骤:

步骤S301,采集交易市场的交易数据。

其中,在本发明的一个实施例中,在采集交易市场的交易数据之后,还包括:对交易数据进行规整处理,以整理交易数据中异常数据。

步骤S302,将交易数据进行连续空间的映射,得到强化学习的状态。

进一步地,在本发明的一个实施例中,通过多层以下映射函数进行映射:

Q=g(x),

其中,g(x)为映射函数,并且采用以下神经网络模型:

h=f(w*x+b),

其中,f(x)为激发函数,x为输入的历史k线数据,h为隐层表示,以作为Q网络的输入。

步骤S303,强化学习模型,用于通过迭代方式近似Q函数,更新强化学习模型的模型参数。

步骤S304,根据每一次迭代后得到的强化学习模型与强化学习的状态输出每个操作的Q值,并提取每个操作的Q值中最大值。

进一步地,在本发明的一个实施例中,每一次迭代包括:根据预设时刻更新得到的Q网络将初始数据的隐层表示作为输入,得到输出值计算目标Q值;通过当前的Q网络获取实际值;获取损失值,更新权值。

步骤S305,根据每个操作的Q值中最大值评价交易效果。

进一步地,在本发明的一个实施例中,根据每个操作的Q值中最大值评价交易效果,进一步包括:根据每个操作的Q值中最大值得到交易指标,以根据交易指标得到交易效果,其中,交易指标包括收益率和夏普率。

需要说明的是,前述对线强化学习交易系统实施例的解释说明也适用于该实施例的线强化学习交易方法,此处不再赘述。

根据本发明实施例的在线强化学习交易方法,利用深度学习将出入的各种因子数据映射到另一个连续空间中,可以从大量带噪声的数据中提取出市场状态准确的表示,且利用Q-learning的model-free的特性,保证了模型能够自己从学习的过程中发现市场规律,不受认为人为假设的限制,并且利用强化学习能够在线学习的特性,捕捉市场的动态特性,不会随着时间的推移而失效,以及作为一个端对端的方法,输入已有的交易历史信息,直接输出选择的操作,而不是像以往的模型一样输出的是对市场的预测,然后再人为的决定操作,从而避免了人错误判断造成损失,不但能够学习交易市场的复杂信号,而且实时学习和适应市场变化,提高系统的实用性和可靠性,简单易实现。

在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1