CN114612231A - 股票量化交易方法、装置、终端设备及可读存储介质 - Google Patents
股票量化交易方法、装置、终端设备及可读存储介质 Download PDFInfo
- Publication number
- CN114612231A CN114612231A CN202210136184.9A CN202210136184A CN114612231A CN 114612231 A CN114612231 A CN 114612231A CN 202210136184 A CN202210136184 A CN 202210136184A CN 114612231 A CN114612231 A CN 114612231A
- Authority
- CN
- China
- Prior art keywords
- transaction
- trading
- data
- model
- quantitative
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06393—Score-carding, benchmarking or key performance indicator [KPI] analysis
Abstract
本发明实施例提供了一种股票量化交易方法及装置,所述方法包括:获取目标交易账户中的输入数据,其中,输入数据至少包括初始资金、交易标的和交易手续费;在每个交易日股票收盘后,获取所选交易标的的历史基本面数据,并计算所选交易标的的因子数据;将输入数据和因子数据输入到预先训练好的量化交易算法模型中,确定下一个交易日的交易选项及交易规模;根据交易选项及交易规模,生成交易指令,并执行交易指令,获取交易收益,能够充分获取股票的信息,选择合适的交易选项及交易规模,极大提高了模型的拟合能力和泛化能力,提高了量化交易效率。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种股票量化交易方法、装置、终端设备及可读存储介质。
背景技术
近年来,随着经济全球化和全球财富的快速增长,金融领域蓬勃发展。传统投资分析方法在面对日益增长的金融交易数据面前,越来越无能为力。大数据技术、人工智能和计算机领域相关的软硬件技术的高速发展,为金融领域的人工智能技术的发展奠定了坚实基础,量化交易由于其高效和稳定的性能吸引了众多投资者。
量化交易的核心思想是基于数学模型和人工智能模型来分析金融时序数据,通过计算机程序完成交易订单,以获取最大的收益。相比投资者自身有限的知识结构和精力,量化交易克服了信息处理能力的制约,借助于对大量数据进行快速处理的技术、人工智能技术和计算机信息处理技术等,从海量数据中捕获信息,建立数学模型,设计交易策略,极大克服了投资者主观情绪的影响。得益于快速跟踪市场变化的功能,量化交易系统能够短时间自动下单,把握住细小和敏感的盈利机会,极大地提高交易频率,捕捉到更多的交易机会,便于获取更大的投资收益。量化交易技术彰显出巨大的潜能,同时具备广阔的应用前景。
目前,量化交易策略模型的设计,可以分为两大类:
一类是通过固定的规则和模拟现实中交易员和用户的实际经验、观察和偏好进行建模分析。该类方法通过挖掘因子,构建趋势类、周期类、波动性等多种类型的指标,基于指标的数值设定固定规则,以选择交易时点及交易的规模。该方法所面临的问题:所构建出的指标,会有很多噪声,容易产生虚假信号;部分指标在判断趋势上准确度较高,但是具有严重滞后的问题,容易错过最佳交易时点;固定规则难以应对复杂多变的金融市场。
另一类是引入机器学习和深度学习的方式实现金融时序数据的预测。现有技术的预测处理,一般通过循环神经网路或者长短期记忆网络等方法来实现。这种方法虽然能够记忆部分上下文信息,但它无法记录长期的记忆,无法充分捕获长时间序列的特征。监督学习的模型,往往是静态的,对于新数据,没有很好的适应调整能力,容易出现过拟合,泛化性较低。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种股票量化交易方法、装置、终端设备及可读存储介质。
第一个方面,本发明实施例提供一种股票量化交易方法,所述方法包括:
获取目标交易账户中的输入数据,其中,所述输入数据至少包括初始资金、交易标的和交易手续费;
在每个交易日股票收盘后,获取所选交易标的的历史基本面数据,并计算所选交易标的的因子数据;
将所述输入数据和所述因子数据输入到预先训练好的量化交易算法模型中,确定下一个交易日的交易选项及交易规模;
根据所述交易选项及交易规模,生成交易指令,并执行所述交易指令,获取交易收益。
可选地,所述量化交易算法模型通过如下方式获得:
获取股票的历史数据,并对所述历史数据进行预处理,得到样本数据;
计算股票的技术指标,并进行因子有效性的筛选,得到因子参数;
构建智能体的网络结构体主网络模型和目标网络模型,定义动作网络和状态动作值网络,并根据所述股票的历史数据、技术指标和所述因子参数对网络结构体主网络模型和目标网络模型进行训练;
基于训练好的深度确定性策略梯度模型进行回测,验证网络结构体主网络模型和目标网络模型的有效性,确定所述量化交易算法模型。可选地,
所述获取股票的历史数据,并对所述历史数据进行预处理,得到样本数据,包括:
采用Tushare大数据开放社区提供的API接口获取股票的历史数据,得到原始数据;
根据预设条件对所述原始数据进行筛选,得到筛选后的股票数据,其中,所述预设条件至少包括股票类型或交易停牌时间;
对所述筛选后的股票数据进行缺失值处理,得到处理后的股票数据;
对所述处理后的股票数据进行规范化处理,并按照一定比例进行缩放,确定符合标准正态分布的样本数据。
可选地,所述计算股票的技术指标,并进行因子有效性的筛选,得到因子参数,包括:
基于股票的历史数据,计算趋势类指标、动量类指标、波动类指标和量价类指标,使用因子与股票收益率的相关系数作为度量因子有效性的标准,进行因子的有效性筛选,得到因子参数。可选地,
所述构建智能体的网络结构体主网络模型和目标网络模型,每个模型中都包含了动作网络和状态-动作值网络,所述动作网络和状态-动作值网络至少包括时间嵌入模块、多头注意力机制模块和多层感知器,所述时间嵌入模块包括时间嵌入层,所述多头注意力机制至少包括自注意力层、多头注意力层、全连接层、批标准化层,所述多层感知器至少包括全连接层、激活层、全连接层、激活层、全连接层和批标准化层;
所述主网络模型中的动作网络用于根据当前状态计算智能体所应采取的动作,状态-动作值网络用于根据当前状态对所采取的动作进行价值评估;
目标网络模型用于根据主网络模型中与环境交互所得的状态、动作、奖励、下一状态的转换序列,构建损失函数,更新模型参数,不断迭代训练;
将得到的目标网络模型确定为所述量化交易算法模型。可选地,
所述根据所述股票的历史数据、技术指标和所述因子参数对网络结构体主网络模型和目标网络模型进行训练,包括:
基于网络结构,使用Pytorch构建主网络模型和目标网络模型;
对于每一次完整的量化交易过程,在量化交易环境中一个智能体启动后的过程中,获取该交易过程中的第一个状态和启动特定次数的循环;
获取当前时刻市场所处的状态,所述当前时刻市场所处的状态包括标的的原始技术及计算出来的因子;
将当前市场所处的状态输入到主网络模型中的动作网络和状态-动作值网络当中;
执行动作并计算采取对应动作之后所到达的下一状态,以及所获取的奖励值;将本轮的转换序列存入经验回放池中;
判断是否满足采样次数,若未满足跳转,继续与环境互动,否则从经验回放池中采样特定数量轮转换序列,计算目标值、损失函数、计算主网络模型中的动作网络的参数更新量并进行参数更新、并更新目标网络模型;
检查智能体是否到达最后一个状态,若未到达则跳转继续探索,否则判断整个训练过程是否结束;若未结束则跳转开启下一个过程的探索学习,若整个训练过程已结束,则存储训练好的目标网络模型及学习好的参数。
可选地,所述基于训练好的深度确定性策略梯度模型进行回测,验证网络结构体主网络模型和目标网络模型的有效性,确定所述量化交易算法模型,包括:
初始化量化交易账户的初始资金、交易标的、交易手续费、无风险利率和回测区间,获取标的所选交易标的的历史基本面数据并计算所选因子数据;
调用已训练好的量化交易算法模型,并输入计算好的数据;
在回测期间的每一个交易日,量化交易算法模型都会基于截止到当前交易日的历史数据对下一个交易日的交易行为进行预测;
获取预测所得的交易方向及交易规模,在第二个交易日以开盘价进行交易;
每个交易日都重复上述步骤,直到回测结束;
回测结束后,基于回测结果计算总收益率、胜率、夏普比率及最大回撤率,并对比买入持有收益,进行量化交易算法模型的有效性验证;
调整模型参数,对比不同参数所得的回测结果,确定所述量化交易算法模型。
第二个方面,本发明实施例提供一种股票量化交易装置,所述装置包括:
获取模块,用于获取目标交易账户中的输入数据,其中,所述输入数据至少包括初始资金、交易标的和交易手续费;
计算模块,用于在每个交易日股票收盘后,获取所选交易标的的历史基本面数据,并计算所选交易标的的因子数据;
确定模块,用于将所述输入数据和所述因子数据输入到预先训练好的量化交易算法模型中,确定下一个交易日的交易选项及交易规模;
交易模块,用于根据所述交易选项及交易规模,生成交易指令,并执行所述交易指令,获取交易收益。
可选地,所述装置还包括模型建立模块,所述模型建立模块用于:
获取股票的历史数据,并对所述历史数据进行预处理,得到样本数据;
计算股票的技术指标,并进行因子有效性的筛选,得到因子参数;
构建智能体的网络结构体主网络模型和目标网络模型,定义动作网络和状态动作值网络,并根据所述股票的历史数据、技术指标和所述因子参数对网络结构体主网络模型和目标网络模型进行训练;
基于训练好的深度确定性策略梯度模型进行回测,验证网络结构体主网络模型和目标网络模型的有效性,确定所述量化交易算法模型。
可选地,所述模型建立模块用于:
采用Tushare大数据开放社区提供的API接口获取股票的历史数据,得到原始数据;
根据预设条件对所述原始数据进行筛选,得到筛选后的股票数据,其中,所述预设条件至少包括股票类型或交易停牌时间;
对所述筛选后的股票数据进行缺失值处理,得到处理后的股票数据;
对所述处理后的股票数据进行规范化处理,并按照一定比例进行缩放,确定符合标准正态分布的样本数据。
可选地,所述模型建立模块用于:
基于股票的历史数据,计算趋势类指标、动量类指标、波动类指标和量价类指标,使用因子与股票收益率的相关系数作为度量因子有效性的标准,进行因子的有效性筛选,得到因子参数。
可选地,所述构建智能体的网络结构体主网络模型和目标网络模型,每个模型中都包含了动作网络和状态-动作值网络,所述动作网络和状态-动作值网络至少包括时间嵌入模块、多头注意力机制模块和多层感知器,所述时间嵌入模块包括时间嵌入层,所述多头注意力机制至少包括自注意力层、多头注意力层、全连接层、批标准化层,所述多层感知器至少包括全连接层、激活层、全连接层、激活层、全连接层和批标准化层;
所述主网络模型中的动作网络用于根据当前状态计算智能体所应采取的动作,状态-动作值网络用于根据当前状态对所采取的动作进行价值评估;
所述目标网络模型用于根据主网络模型中与环境交互所得的状态、动作、奖励、下一状态的转换序列,构建损失函数,更新模型参数,不断迭代训练;
将得到的目标网络模型确定为所述量化交易算法模型。
可选地,所述模型建立模块用于:基于网络结构,使用Pytorch构建主网络模型和目标网络模型;
对于每一次完整的量化交易过程,在量化交易环境中一个智能体启动后的过程中,获取该交易过程中的第一个状态和启动特定次数的循环;
获取当前时刻市场所处的状态,所述当前时刻市场所处的状态包括标的的原始技术及计算出来的因子;
将当前市场所处的状态输入到主网络模型中的动作网络和状态-动作值网络当中;
执行动作并计算采取对应动作之后所到达的下一状态,以及所获取的奖励值;将本轮的转换序列存入经验回放池中;
判断是否满足采样次数,若未满足跳转,继续与环境互动,否则从经验回放池中采样特定数量轮转换序列,计算目标值、损失函数、计算主网络模型中的动作网络的参数更新量并进行参数更新、并更新目标网络模型;
检查智能体是否到达最后一个状态,若未到达则跳转继续探索,否则判断整个训练过程是否结束;若未结束则跳转开启下一个过程的探索学习,若整个训练过程已结束,则存储训练好的目标网络模型及学习好的参数。
可选地,所述模型建立模块用于:
初始化量化交易账户的初始资金、交易标的、交易手续费、无风险利率和回测区间,获取标的所选交易标的的历史基本面数据并计算所选因子数据;
调用已训练好的量化交易算法模型,并输入计算好的数据;
在回测期间的每一个交易日,量化交易算法模型都会基于截止到当前交易日的历史数据对下一个交易日的交易行为进行预测;
获取预测所得的交易方向及交易规模,在第二个交易日以开盘价进行交易;
每个交易日都重复上述步骤,直到回测结束;
回测结束后,基于回测结果计算总收益率、胜率、夏普比率及最大回撤率,并对比买入持有收益,进行量化交易算法模型的有效性验证;
调整模型参数,对比不同参数所得的回测结果,确定所述量化交易算法模型。
第三个方面,本发明实施例提供一种终端设备,包括:至少一个处理器和存储器;
所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现第一个方面提供的股票量化交易方法。
第四个方面,本发明实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现第一个方面提供的股票量化交易方法。
本发明实施例包括以下优点:
本发明实施例提供的股票量化交易方法、装置、终端设备及可读存储介质,通过获取目标交易账户中的输入数据,其中,输入数据至少包括初始资金、交易标的和交易手续费;在每个交易日股票收盘后,获取所选交易标的的历史基本面数据,并计算所选交易标的的因子数据;将输入数据和因子数据输入到预先训练好的量化交易算法模型中,确定下一个交易日的交易选项及交易规模;根据交易选项及交易规模,生成交易指令,并执行交易指令,获取交易收益,能够充分获取股票的信息,选择合适的交易选项及交易规模,极大提高了模型的拟合能力和泛化能力,提高了量化交易效率。
附图说明
图1是本发明的一种股票量化交易方法实施例的步骤流程图;
图2是本发明的又一种股票量化交易方法实施例的步骤流程图;
图3是本发明的深度确定性策略梯度模型结构图;
图4是本发明的智能体动作网络和状态-动作值网络结构图;
图5是本发明的深度确定性策略梯度的量化交易算法训练流程图;
图6是本发明的深度确定性策略梯度的量化交易算法应用流程图;
图7是本发明的一种股票量化交易装置实施例的结构框图;
图8是本发明的一种终端设备的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明一实施例提供一种股票量化交易方法,用于对宫颈细胞病理图像中的异常细胞进行检测。本实施例的执行主体为股票量化交易装置,设置在终端设备上。
参照图1,示出了本发明的一种股票量化交易方法实施例的步骤流程图,该方法具体可以包括如下步骤:
S101、获取目标交易账户中的输入数据,其中,输入数据至少包括初始资金、交易标的和交易手续费;
具体的,用户可以在终端设备上登录交易账户,终端设备获取到目标交易账户中的输入数据,该输入数据至少包括初始资金、交易标的和交易手续费等。
S102、在每个交易日股票收盘后,获取所选交易标的的历史基本面数据,并计算所选交易标的的因子数据;
具体地,在每个交易日股票收盘后,终端设备获取所选择的交易标的的历史基本面数据,并计算所选择的交易标的的因子数据。
S103、将输入数据和因子数据输入到预先训练好的量化交易算法模型中,确定下一个交易日的交易选项及交易规模;
在终端设备上,预先训练量化交易算法模型,即构建两套结构相同的主网络模型和目标网络模型,定义动作网络和状态动作值网络,引入多头注意力机制获取时间序列的长距离依赖关系;训练量化交易算法模型;基于训练好的模型进行回测,验证模型的有效性,筛选出拟合能力和泛化能力强的模型进行模拟交易,即得到量化交易算法模型。
终端设备将获取到的输入数据和因此数据都输入到预先训练好的量化交易算法模型,可以预测下一个交易日的交易选项及交易规模,其中,交易选项包括股票类型、交易时间等。
S104、根据交易选项及交易规模,生成交易指令,并执行交易指令,获取交易收益。
具体地,终端设备可以根据交易选项及交易规模,生成交易指令,终端设备再执行交易指令,获取交易收益。
初始化量化交易账户的初始资金、交易标的和交易手续费,每个交易日股票收盘后,获取所选交易标的的历史基本面数据并计算所选因子数据;调用存储的已训练并筛选好的量化交易算法模型,并输入计算好的数据;基于所输入数据,量化交易算法模型会自动预测出下一个交易日的交易方向及交易规模,获取预测行为,并向量化交易系统发送交易指令;终端设备上的交易系统自动执行交易指令后,获取交易收益。
本发明实施例提供的股票量化交易方法,通过获取目标交易账户中的输入数据,其中,输入数据至少包括初始资金、交易标的和交易手续费;在每个交易日股票收盘后,获取所选交易标的的历史基本面数据,并计算所选交易标的的因子数据;将输入数据和因子数据输入到预先训练好的量化交易算法模型中,确定下一个交易日的交易选项及交易规模;根据交易选项及交易规模,生成交易指令,并执行交易指令,获取交易收益,能够充分获取股票的信息,选择合适的交易选项及交易规模,极大提高了模型的拟合能力和泛化能力,提高了量化交易效率。
本发明又一实施例对上述实施例提供的股票量化交易方法做进一步补充说明。
如图2所示,该股票量化交易方法包括如下步骤:
1)数据获取及预处理;
2)模型搭建;可选地,量化交易算法模型通过如下方式获得:
获取股票的历史数据,并对历史数据进行预处理,得到样本数据;
计算股票的技术指标,并进行因子有效性的筛选,得到因子参数;
3)模型训练;构建智能体的网络结构体主网络模型和目标网络模型,定义动作网络和状态动作值网络,并根据股票的历史数据、技术指标和因子参数对网络结构体主网络模型和目标网络模型进行训练;
4)模型验证筛选;基于训练好的深度确定性策略梯度模型进行回测,验证网络结构体主网络模型和目标网络模型的有效性,确定量化交易算法模型。
5)模型应用。
可选地,获取股票的历史数据,并对历史数据进行预处理,得到样本数据,包括:
采用Tushare大数据开放社区提供的API接口获取股票的历史数据,得到原始数据;
根据预设条件对原始数据进行筛选,得到筛选后的股票数据,其中,预设条件至少包括股票类型或交易停牌时间;
对筛选后的股票数据进行缺失值处理,得到处理后的股票数据;
对处理后的股票数据进行规范化处理,并按照一定比例进行缩放,确定符合标准正态分布的样本数据。
具体地,采用Tushare大数据开放社区提供的API接口获取股票的历史数据,得到原始数据。
股票池筛选:全A股,剔除ST股票,剔除每个截面期下一个交易日停牌的标的,剔除上是3个月以内的股票。
缺失值处理:对原始数据进行描述性统计分析,获取缺失值占比,考虑到原始数据规模较大,缺失值占比较小,故对包含缺失值的条目,采取直接删除的方式。
规范化处理:原始数据中存在不同特征量纲不一致的情况,数值间的差别较大,直接输入模型训练会降低模型的精度,故对数据采取标准化值处理,按照一定比例进行缩放,使得处理后的数据符合标准正态分布。标准化处理公式如下所示:
其中,xold表示原始数据,μ表示原始数据的均值,δ表示原始数据的方差,xnew表示处理数据。
可选地,计算股票的技术指标,并进行因子有效性的筛选,得到因子参数,包括:
基于股票的历史数据,计算趋势类指标、动量类指标、波动类指标和量价类指标,使用因子与股票收益率的相关系数作为度量因子有效性的标准,进行因子的有效性筛选,得到因子参数。
具体地,基于股票历史数据计算趋势类指标、动量类指标、波动类指标和量价类指标,使用因子与股票收益率的相关系数作为度量因子有效性的标准,进行因子的有效性测试,筛选相关系数值大于0.05的因子参与模型的训练,表1为各个指标说明。
表1指标说明
如图4所示,可选地,构建智能体的网络结构体主网络模型和目标网络模型,每个模型中都包含了动作网络和状态-动作值网络,动作网络和状态-动作值网络至少包括时间嵌入模块、多头注意力机制模块和多层感知器,时间嵌入模块包括时间嵌入层,多头注意力机制至少包括自注意力层、多头注意力层、全连接层、批标准化层,多层感知器至少包括全连接层、激活层、全连接层、激活层、全连接层和批标准化层;
主网络模型中的动作网络用于根据当前状态计算智能体所应采取的动作,状态-动作值网络用于根据当前状态对所采取的动作进行价值评估;
目标网络模型用于根据主网络模型中与环境交互所得的状态、动作、奖励、下一状态的转换序列,构建损失函数,更新模型参数,不断迭代训练;
将得到的目标网络模型确定为量化交易算法模型。
具体地,如图3所示,模型的搭建包括量化交易强化学习的状态、动作、奖励等要素的定义,时间嵌入层、transformer模型和深度确定性策略梯度模型的搭建。
量化交易强化学习要素的定义:量化市场的交易环境和强化学习的智能体在一系列时间点进行交互,在每个时间点,智能体接收标的历史数据、标的交易指标信息等外部环境信息,基于当前状态和已有策略,模拟投资者选择合适的时间点进行买入、卖出、持有标的的交易行为。交易行为执行后,账户收益(盈利或者亏损)作为奖惩反馈至智能体,智能体基于反馈调整下一个时间点的交易行为。在与量化市场交易环境的不断交互中,智能体会逐渐提高能使累计收益最高的动作的选择概率,最终找到一个最优的交易策略。
状态:智能体观测到的量化交易市场环境状态包括基本行情信息、基本面数据和技术指标等信息。基本行情信息包括:开盘价、最高价、最低价、收盘价、成交量,基本面数据包括市盈率、市净率和净资产收益率等,技术指标包括平均趋向指数、真实波动均值、异同移动平均线等。
动作:智能体动作是在一个连续的动作空间中输出一个确定值,该值包括交易的方向及交易的规模。本发明设计的确定值介于-1至1之间,若确定值大于0时,则基于账户当前可用资金和标的当前交易日的收盘价,计算下一个交易日的买入规模;若确定值小于0时,则基于账户当前的持仓规模计算下一个交易日的卖出规模;若确定值等于0时,则下一个交易日的交易规模为0,不进行交易。
具体定义如下所示:
其中,percent是模型输出的确定值,即预测出交易的比例;size为智能体计算的交易规模;position表示账户当前的持仓规模;cash表示账户当前的可用资金;close表示标的当前交易日的收盘价;tax表示交易的手续费。
奖励:智能体执行交易行为之后,以账户收益(盈利或者亏损)作为该交易行为的奖惩,反馈至智能体。具体定义如下:
asset=cash+position×close
profit=asset0-asset-1
其中,asset表示账户总资产,asset0表示当前交易日账户的总资产;asset-1表示上一交易日账户的总资产;cash表示账户当前的可用资金;close表示标的当前交易日的收盘价;profit表示账户当前交易日相对于上一个交易日的收益;initial_asset表示账户初始资金;reward表示以当前交易日的总收益比作为当前交易日所执行的交易动作的奖惩反馈。
时间嵌入层:神经网络处理时间序列数据时,序列数据会一次同时通过神经网络中,本发明采用时间嵌入层,将量化交易市场中的金融时间序列,表示成周期性和非周期性模式,以向量的形式输入到神经网络中以提高模型的性能。
具体定义如下所示:
t2v(τ)[i]表示时间嵌入层的第i个元素的向量表示;表示时间向量的非周期性特征;表示时间向量的周期性特征;wi表示可学习的权重参数;表示可学习的偏置项;τ表示原始的时间序列,k表示时间嵌入层的维度;F表示周期性激活函数,选用正弦函数表示。
多头注意力机制:输入的训练数据经过自注意力层,计算注意力得分。该得分决定了预测未来股价时,将注意力集中在各个时间序列上的程度。多头注意力层对多个自注意力层进行拼接,将拼接得到的向量输出到全连接层进行非线性变换。通过增加注意力头的数量,加强模型捕获远程依赖关系的能力。
深度确定性策略梯度模型:强化学习是智能体通过与环境的不断交互以感知环境,所得到的的最优策略参数是保存于网络中。本发明搭建了两个结构相同、参数不同的主网络模型和目标网络模型,每个模型中都包含了动作网络和状态-动作值网络,模型的网络结构图如图2所示。主网络模型中的动作网络基于当前状态计算智能体所应采取的动作,状态-动作值网络基于当前状态对所采取的动作进行价值评估。目标网络模型基于主网络模型中与环境交互所得的状态、动作、奖励、下一状态的转换序列,构建损失函数,更新模型参数,不断迭代训练。最终得到的目标网络模型即为训练出的模型。
如图4所示,智能体动作网络和状态-动作值网络结构,包括11层神经网路,可以分为三大部分:时间嵌入层、多头注意力机制和多层感知器部分。时间嵌入层获取序列的周期非周期性特征;自注意力层和多头注意力层捕获序列的长距离依赖关系,批标准化层能够用来规范化多头注意力层的输入,从而固定每层输入信号的均值与方差,加速模型的训练;多层感知器不仅能并行训练,还具备联想记忆功能,强自适应和自学习的功能,其中全连接层对序列的高维特征进行表征,激活层增加了神经网络的非线性,批标准化层能够提高神经网络的稳健性。
如图5所示,可选地,根据股票的历史数据、技术指标和因子参数对网络结构体主网络模型和目标网络模型进行训练,包括:
基于网络结构,使用Pytorch构建主网络模型和目标网络模型;
对于每一次完整的量化交易过程,在量化交易环境中一个智能体启动后的过程中,获取该交易过程中的第一个状态和启动特定次数的循环;
获取当前时刻市场所处的状态,当前时刻市场所处的状态包括标的的原始技术及计算出来的因子;
将当前市场所处的状态输入到主网络模型中的动作网络和状态-动作值网络当中;
执行动作并计算采取对应动作之后所到达的下一状态,以及所获取的奖励值;将本轮的转换序列存入经验回放池中;
判断是否满足采样次数,若未满足跳转,继续与环境互动,否则从经验回放池中采样特定数量轮转换序列,计算目标值、损失函数、计算主网络模型中的动作网络的参数更新量并进行参数更新、并更新目标网络模型;
检查智能体是否到达最后一个状态,若未到达则跳转继续探索,否则判断整个训练过程是否结束;若未结束则跳转开启下一个过程的探索学习,若整个训练过程已结束,则存储训练好的目标网络模型及学习好的参数。
可选地,基于训练好的深度确定性策略梯度模型进行回测,验证网络结构体主网络模型和目标网络模型的有效性,确定量化交易算法模型,包括:
初始化量化交易账户的初始资金、交易标的、交易手续费、无风险利率和回测区间,获取标的所选交易标的的历史基本面数据并计算所选因子数据;
调用已训练好的量化交易算法模型,并输入计算好的数据;
在回测期间的每一个交易日,量化交易算法模型都会基于截止到当前交易日的历史数据对下一个交易日的交易行为进行预测;
获取预测所得的交易方向及交易规模,在第二个交易日以开盘价进行交易;
每个交易日都重复上述步骤,直到回测结束;
回测结束后,基于回测结果计算总收益率、胜率、夏普比率及最大回撤率,并对比买入持有收益,进行量化交易算法模型的有效性验证;
调整模型参数,对比不同参数所得的回测结果,确定量化交易算法模型。
模型的训练步骤如图5所示:
(1)基于网络结构,使用Pytorch构建两套结构相同的模型(主网络模型和目标网络模型),随机初始化网络参数θQ和θμ,得到主网络模型中的动作网络μ(s|θμ)和状态-动作值网络Q(s,a|θQ),将主网络模型中的网络参数复制到目标网络模型中,得到目标网络模型中的动作网络μ(s|θμ′)和状态-动作值网络Q(s,a|θQ′)。
初始化经验回放池,开启一个M次的循环,每次循环都启动一次完整的量化交易过程,让智能体在量化交易环境中不停的采取交易行为,直到交易结束。
(2)对于每一次完整的量化交易过程,在量化交易环境中一个智能体启动后的过程中,需完成以下事项:
获取该交易过程中的第一个状态s1;
启动特定次数的循环,假设为T次,每次迭代都是一个智能体的每一步。
(3)对每一步,需完成以下步骤:
步骤3.1:深度确定性策略梯度模型获取当前时刻市场所处的状态(即为标的的原始技术及计算出来的因子),输入到主网络模型中的动作网络μ(s|θμ)和状态-动作值网络Q(s,a|θQ)当中。
在动作at的选择上,先由动作网络基于参数θμ计算要采取的动作μ(st|θμ),再加上一个大小为Nt噪声,作为状态st下最终的输出动作at。增加噪声是为了扩大取值范围,让动作的输出试探更加丰富。
步骤3.2:模型执行动作at并计算采取对应动作之后所到达的下一状态st+1,以及所获取的奖励值rt。将本轮的转换序列(st,at,rt,st+1)存入经验回放池中。
步骤3.3:判断是否满足采样次数,若未满足跳转步骤3.1继续与环境虎互动,否则从经验回放池R中采样特定数量N轮转换序列(si,ai,ri,si+1),计算目标值、损失函数、计算主网络模型中的动作网络的参数更新量并进行参数更新、并更新目标网络模型。
步骤3.3.1:计算目标值,公式如下所示:
yi=ri+γQ′(si+1,μ′(si+1|θμ′)|θQ′):
其中,ri表示i时刻对应的奖励值;γ表示折扣系数;si+1表示i+1时刻市场的状态;μ′(si+1|θμ′)表示目标网络模型中的动作网络基于状态si+1输出的动作;Q′(si+1,μ′(si+1|θμ′)|θQ′)表示目标网络模型中的状态-动作网络对输出的动作的价值评估。
将i时刻市场下一个时刻所处的状态si+1传入目标网络模型中的动作网络μ(s|θμ′)和状态-动作值网络Q(s,a|θQ′)中,由目标网络模型中的动作网络计算此时要采取的动作,再由目标网络模型中的状态-动作网络对该动作进行评估,将得到的评估值乘以一个折扣系数γ,再加上i时刻对应的奖励值ri,即可得到目标值。
步骤3.3.2:计算主网络模型中的状态-动作值网络Q(s,a|θQ)的损失函数,公式如下所示:
其甲,L表示均方损失值;N表示从经验回放池中挑选出来的样本数量;yi表示目标值;Q(si,ai|θQ)表示主网络模型中的状态-动作网络的估值。
主网络模型中的状态-动作网络基于自身的估值,结合目标值,计算均方误差函数,以拟合自身估值与目标网络模型中状态-动作网络估值之间的距离,并通过最小化损失函数进行主网络模型中的状态-动作网络的参数优化。
步骤3.3.3:计算主网络模型中的动作网络μ(s|θμ)的参数θμ的更新量,并计算网络参数的更新,更新量的公式如下所示:
其中,表示主网络模型中动作网络μ(s|θμ)的参数θμ的更新量;N表示从经验回放池中挑选出来的样本数量;表示主网路模型中状态-动作值网络Q(s,a|θQ)对状态s=si下采取动作a=ai的估值;表示估值的梯度。
步骤3.3.4:更新目标网络模型中的动作网络μ(s|θμ′)和状态-动作值网络Q(s,a|θQ′),更新公式如下所示:
θμ′=τθμ+(1-τ)θμ′
θQ′=τθQ+(1-τ)θQ′
其中,τ是软更新参数;θQ是主网络模型中的状态-动作值网络的参数;θQ′是目标网络模型中的状态-动作值网络的参数;θμ是主网络模型中的动作网络的参数;θμ′是目标网络模型中的参数。
(4)检查智能体是否到达最后一个状态,若未到达则跳转(3)继续探索,否则判断整个训练过程是否结束;若未结束则跳转(2)开启下一个过程的探索学习,若整个训练过程已结束,则存储训练好的目标网络模型及学习好的参数。
另外,终端设备还对模型的有效性验证及筛选;
初始化量化交易账户的初始资金、交易标的、交易手续费、无风险利率和回测区间,获取标的所选交易标的的历史基本面数据并计算所选因子数据;调用已训练好的量化交易算法模型,并输入计算好的数据;在回测期间的每一个交易日,量化交易算法模型都会基于截止到当前交易日的历史数据对下一个交易日的交易行为进行预测;获取预测所得的交易方向及交易规模,在第二个交易日以开盘价进行交易;每个交易日都重复以上步骤,直到回测结束。回测结束后,基于回测结果计算总收益率、胜率、夏普比率及最大回撤率,并对比买入持有收益,进行量化交易算法模型的有效性验证。调整模型参数,对比不同参数所得的回测结果,筛选出表现最好的模型进行存储,
如图6所示,该股票量化交易方法包括:
1、获取股票的历史数据,进行数据预处理;
2、计算股票的技术指标,并进行因子有效性的筛选;
3、搭建智能体的网络结构体主网络模型和目标网络模型,定义动作网络和状态动作值网络并进行训练;
4、基于训练好的深度确定性策略梯度模型进行回测,验证模型的有效性,完成模型的筛选;
5、将股票数据传入筛选所得模型,模型预测下一个交易日的交易方向及规模,发送交易指令,系统执行交易。
与现有的技术相比,本发明实施例提供了如下技术方案:
1、本发明实施例引入了时间嵌入层:
目前处理金融时间序列的常用的做法是设计不同的时间窗口、滞后算子等特征,此类操作太复杂,且需较多领域经验知识,本发明引入时间嵌入层,将量化交易市场中的金融时间序列,表示成周期性和非周期性模式,以向量的形式输入到神经网络中以提高模型的性能。时间嵌入层的引入能够对时间的变动保持稳定不变,且操作简单,并能与诸多模型相结合使用,适用范围广。
2、本发明实施例引入了多头注意力机制;
当前前馈网络和循环网络存在计算能力和优化算法限制。计算能力的限制:当要记住很多“信息”,模型就要变得更复杂,然而目前计算能力依然是限制神经网络发展的瓶颈。优化算法的限制:虽然局部连接、权重共享以及pooling等优化操作可以让神经网络变得简单一些,有效缓解模型复杂度和表达能力之间的矛盾;但是,如循环神经网络中的长距离以来问题,信息“记忆”能力并不高。
本发明引入了多头注意力机制,借助人脑处理信息过载的方式,“动态”地生成不同连接的权重,从而处理变长的信息序列,在提取金融时间序列背后的隐层时考虑了序列的前后顺序,能够更好的捕捉长距离时间序列的特征,且能提高神经网络处理序列的能力,能够大幅度的提高模型精度。
3、本发明实施例引入了深度确定性策略梯度模型;
目前神经网络训练量化交易模型时,通常只能在买入、卖出、持有三种行为中进行预测,需要人为提前设定每次交易的数量,导致实际交易中出现账户可用资金不足无法交易,或者账户持仓小于卖出规模等情况,降低模型的有效性及准确度。本发明引入了深度确定性策略梯度模型,不仅能预测出买入、卖出、持有的交易方向,还能预测出交易规模,不仅拓宽了量化交易场景中的实用性,还极大的提高了交易策略的总收益率。此外,智能体主网络模型和目标网络模型中梯度单步更新的训练方式,使得模型具有较高学习效率的同时,还能保持较小的方差,提高了模型收敛的稳定性。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
本发明实施例提供的股票量化交易方法,通过获取目标交易账户中的输入数据,其中,输入数据至少包括初始资金、交易标的和交易手续费;在每个交易日股票收盘后,获取所选交易标的的历史基本面数据,并计算所选交易标的的因子数据;将输入数据和因子数据输入到预先训练好的量化交易算法模型中,确定下一个交易日的交易选项及交易规模;根据交易选项及交易规模,生成交易指令,并执行交易指令,获取交易收益,能够充分获取股票的信息,选择合适的交易选项及交易规模,极大提高了模型的拟合能力和泛化能力,提高了量化交易效率。
本发明另一实施例提供一种股票量化交易装置,用于执行上述实施例提供的股票量化交易方法。
参照图7,示出了本发明的一种股票量化交易装置实施例的结构框图,该装置具体可以包括如下模块:获取模块301和定位模块302,其中:
获取模块701用于获取目标交易账户中的输入数据,其中,输入数据至少包括初始资金、交易标的和交易手续费;
计算模块702用于在每个交易日股票收盘后,获取所选交易标的的历史基本面数据,并计算所选交易标的的因子数据;
确定模块703用于将输入数据和因子数据输入到预先训练好的量化交易算法模型中,确定下一个交易日的交易选项及交易规模;
交易模块704用于根据交易选项及交易规模,生成交易指令,并执行交易指令,获取交易收益。
本发明实施例提供的股票量化交易装置,通过获取目标交易账户中的输入数据,其中,输入数据至少包括初始资金、交易标的和交易手续费;在每个交易日股票收盘后,获取所选交易标的的历史基本面数据,并计算所选交易标的的因子数据;将输入数据和因子数据输入到预先训练好的量化交易算法模型中,确定下一个交易日的交易选项及交易规模;根据交易选项及交易规模,生成交易指令,并执行交易指令,获取交易收益,能够充分获取股票的信息,选择合适的交易选项及交易规模,极大提高了模型的拟合能力和泛化能力,提高了量化交易效率。
本发明又一实施例对上述实施例提供的股票量化交易装置做进一步补充说明。
可选地,该装置还包括模型建立模块,模型建立模块用于:
获取股票的历史数据,并对历史数据进行预处理,得到样本数据;
计算股票的技术指标,并进行因子有效性的筛选,得到因子参数;
构建智能体的网络结构体主网络模型和目标网络模型,定义动作网络和状态动作值网络,并根据股票的历史数据、技术指标和因子参数对网络结构体主网络模型和目标网络模型进行训练;
基于训练好的深度确定性策略梯度模型进行回测,验证网络结构体主网络模型和目标网络模型的有效性,确定量化交易算法模型。
可选地,模型建立模块用于:
采用Tushare大数据开放社区提供的API接口获取股票的历史数据,得到原始数据;
根据预设条件对原始数据进行筛选,得到筛选后的股票数据,其中,预设条件至少包括股票类型或交易停牌时间;
对筛选后的股票数据进行缺失值处理,得到处理后的股票数据;
对处理后的股票数据进行规范化处理,并按照一定比例进行缩放,确定符合标准正态分布的样本数据。
可选地,模型建立模块用于:
基于股票的历史数据,计算趋势类指标、动量类指标、波动类指标和量价类指标,使用因子与股票收益率的相关系数作为度量因子有效性的标准,进行因子的有效性筛选,得到因子参数。
可选地,构建智能体的网络结构体主网络模型和目标网络模型,每个模型中都包含了动作网络和状态-动作值网络,动作网络和状态-动作值网络至少包括时间嵌入模块、多头注意力机制模块和多层感知器,时间嵌入模块包括时间嵌入层,多头注意力机制至少包括自注意力层、多头注意力层、全连接层、批标准化层,多层感知器至少包括全连接层、激活层、全连接层、激活层、全连接层和批标准化层;
主网络模型中的动作网络用于根据当前状态计算智能体所应采取的动作,状态-动作值网络用于根据当前状态对所采取的动作进行价值评估;
目标网络模型用于根据主网络模型中与环境交互所得的状态、动作、奖励、下一状态的转换序列,构建损失函数,更新模型参数,不断迭代训练;
将得到的目标网络模型确定为量化交易算法模型。
可选地,模型建立模块用于:基于网络结构,使用Pytorch构建主网络模型和目标网络模型;
对于每一次完整的量化交易过程,在量化交易环境中一个智能体启动后的过程中,获取该交易过程中的第一个状态和启动特定次数的循环;
获取当前时刻市场所处的状态,当前时刻市场所处的状态包括标的的原始技术及计算出来的因子;
将当前市场所处的状态输入到主网络模型中的动作网络和状态-动作值网络当中;
执行动作并计算采取对应动作之后所到达的下一状态,以及所获取的奖励值;将本轮的转换序列存入经验回放池中;
判断是否满足采样次数,若未满足跳转,继续与环境互动,否则从经验回放池中采样特定数量轮转换序列,计算目标值、损失函数、计算主网络模型中的动作网络的参数更新量并进行参数更新、并更新目标网络模型;
检查智能体是否到达最后一个状态,若未到达则跳转继续探索,否则判断整个训练过程是否结束;若未结束则跳转开启下一个过程的探索学习,若整个训练过程已结束,则存储训练好的目标网络模型及学习好的参数。
可选地,模型建立模块用于:
初始化量化交易账户的初始资金、交易标的、交易手续费、无风险利率和回测区间,获取标的所选交易标的的历史基本面数据并计算所选因子数据;
调用已训练好的量化交易算法模型,并输入计算好的数据;
在回测期间的每一个交易日,量化交易算法模型都会基于截止到当前交易日的历史数据对下一个交易日的交易行为进行预测;
获取预测所得的交易方向及交易规模,在第二个交易日以开盘价进行交易;
每个交易日都重复上述步骤,直到回测结束;
回测结束后,基于回测结果计算总收益率、胜率、夏普比率及最大回撤率,并对比买入持有收益,进行量化交易算法模型的有效性验证;
调整模型参数,对比不同参数所得的回测结果,确定量化交易算法模型。
需要说明的是,本实施例中各可实施的方式可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施本申请不做限定。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例提供的股票量化交易装置,通过获取目标交易账户中的输入数据,其中,输入数据至少包括初始资金、交易标的和交易手续费;在每个交易日股票收盘后,获取所选交易标的的历史基本面数据,并计算所选交易标的的因子数据;将输入数据和因子数据输入到预先训练好的量化交易算法模型中,确定下一个交易日的交易选项及交易规模;根据交易选项及交易规模,生成交易指令,并执行交易指令,获取交易收益,能够充分获取股票的信息,选择合适的交易选项及交易规模,极大提高了模型的拟合能力和泛化能力,提高了量化交易效率。
本发明再一实施例提供一种终端设备,用于执行上述实施例提供的股票量化交易方法。
图8是本发明的一种终端设备的结构示意图,如图8所示,该终端设备包括:至少一个处理器801和存储器802;
存储器存储计算机程序;至少一个处理器执行存储器存储的计算机程序,以实现上述实施例提供的股票量化交易方法。
本实施例提供的终端设备,通过获取目标交易账户中的输入数据,其中,输入数据至少包括初始资金、交易标的和交易手续费;在每个交易日股票收盘后,获取所选交易标的的历史基本面数据,并计算所选交易标的的因子数据;将输入数据和因子数据输入到预先训练好的量化交易算法模型中,确定下一个交易日的交易选项及交易规模;根据交易选项及交易规模,生成交易指令,并执行交易指令,获取交易收益,能够充分获取股票的信息,选择合适的交易选项及交易规模,极大提高了模型的拟合能力和泛化能力,提高了量化交易效率。
本申请又一实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,计算机程序被执行时实现上述任一实施例提供的股票量化交易方法。
根据本实施例的计算机可读存储介质,通过获取目标交易账户中的输入数据,其中,输入数据至少包括初始资金、交易标的和交易手续费;在每个交易日股票收盘后,获取所选交易标的的历史基本面数据,并计算所选交易标的的因子数据;将输入数据和因子数据输入到预先训练好的量化交易算法模型中,确定下一个交易日的交易选项及交易规模;根据交易选项及交易规模,生成交易指令,并执行交易指令,获取交易收益,能够充分获取股票的信息,选择合适的交易选项及交易规模,极大提高了模型的拟合能力和泛化能力,提高了量化交易效率。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、电子设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理电子设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理电子设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理电子设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理电子设备上,使得在计算机或其他可编程电子设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程电子设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者电子设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者电子设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者电子设备中还存在另外的相同要素。
以上对本发明所提供的一种股票量化交易方法和一种股票量化交易装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种股票量化交易方法,其特征在于,所述方法包括:
获取目标交易账户中的输入数据,其中,所述输入数据至少包括初始资金、交易标的和交易手续费;
在每个交易日股票收盘后,获取所选交易标的的历史基本面数据,并计算所选交易标的的因子数据;
将所述输入数据和所述因子数据输入到预先训练好的量化交易算法模型中,确定下一个交易日的交易选项及交易规模;
根据所述交易选项及交易规模,生成交易指令,并执行所述交易指令,获取交易收益。
2.根据权利要求1所述的方法,其特征在于,所述量化交易算法模型通过如下方式获得:
获取股票的历史数据,并对所述历史数据进行预处理,得到样本数据;
计算股票的技术指标,并进行因子有效性的筛选,得到因子参数;
构建智能体的网络结构体主网络模型和目标网络模型,定义动作网络和状态动作值网络,并根据所述股票的历史数据、技术指标和所述因子参数对网络结构体主网络模型和目标网络模型进行训练;
基于训练好的深度确定性策略梯度模型进行回测,验证网络结构体主网络模型和目标网络模型的有效性,确定所述量化交易算法模型。
3.根据权利要求2所述的方法,其特征在于,所述获取股票的历史数据,并对所述历史数据进行预处理,得到样本数据,包括:
采用Tushare大数据开放社区提供的API接口获取股票的历史数据,得到原始数据;
根据预设条件对所述原始数据进行筛选,得到筛选后的股票数据,其中,所述预设条件至少包括股票类型或交易停牌时间;
对所述筛选后的股票数据进行缺失值处理,得到处理后的股票数据;
对所述处理后的股票数据进行规范化处理,并按照一定比例进行缩放,确定符合标准正态分布的样本数据。
4.根据权利要求2所述的方法,其特征在于,所述计算股票的技术指标,并进行因子有效性的筛选,得到因子参数,包括:
基于股票的历史数据,计算趋势类指标、动量类指标、波动类指标和量价类指标,使用因子与股票收益率的相关系数作为度量因子有效性的标准,进行因子的有效性筛选,得到因子参数。
5.根据权利要求4所述的方法,其特征在于,所述构建智能体的网络结构体主网络模型和目标网络模型,每个模型中都包含了动作网络和状态-动作值网络,所述动作网络和状态-动作值网络至少包括时间嵌入模块、多头注意力机制模块和多层感知器,所述时间嵌入模块包括时间嵌入层,所述多头注意力机制至少包括自注意力层、多头注意力层、全连接层、批标准化层,所述多层感知器至少包括全连接层、激活层、全连接层、激活层、全连接层和批标准化层;
所述主网络模型中的动作网络用于根据当前状态计算智能体所应采取的动作,状态-动作值网络用于根据当前状态对所采取的动作进行价值评估;
目标网络模型用于根据主网络模型中与环境交互所得的状态、动作、奖励、下一状态的转换序列,构建损失函数,更新模型参数,不断迭代训练;
将得到的目标网络模型确定为所述量化交易算法模型。
6.根据权利要求5所述的方法,其特征在于,所述根据所述股票的历史数据、技术指标和所述因子参数对网络结构体主网络模型和目标网络模型进行训练,包括:
基于网络结构,使用Pytorch构建主网络模型和目标网络模型;
对于每一次完整的量化交易过程,在量化交易环境中一个智能体启动后的过程中,获取该交易过程中的第一个状态和启动特定次数的循环;
获取当前时刻市场所处的状态,所述当前时刻市场所处的状态包括标的的原始技术及计算出来的因子;
将当前市场所处的状态输入到主网络模型中的动作网络和状态-动作值网络当中;
执行动作并计算采取对应动作之后所到达的下一状态,以及所获取的奖励值;将本轮的转换序列存入经验回放池中;
判断是否满足采样次数,若未满足跳转,继续与环境互动,否则从经验回放池中采样特定数量轮转换序列,计算目标值、损失函数、计算主网络模型中的动作网络的参数更新量并进行参数更新、并更新目标网络模型;
检查智能体是否到达最后一个状态,若未到达则跳转继续探索,否则判断整个训练过程是否结束;若未结束则跳转开启下一个过程的探索学习,若整个训练过程已结束,则存储训练好的目标网络模型及学习好的参数。
7.根据权利要求5所述的方法,其特征在于,所述基于训练好的深度确定性策略梯度模型进行回测,验证网络结构体主网络模型和目标网络模型的有效性,确定所述量化交易算法模型,包括:
初始化量化交易账户的初始资金、交易标的、交易手续费、无风险利率和回测区间,获取标的所选交易标的的历史基本面数据并计算所选因子数据;
调用已训练好的量化交易算法模型,并输入计算好的数据;
在回测期间的每一个交易日,量化交易算法模型都会基于截止到当前交易日的历史数据对下一个交易日的交易行为进行预测;
获取预测所得的交易方向及交易规模,在第二个交易日以开盘价进行交易;
每个交易日都重复上述步骤,直到回测结束;
回测结束后,基于回测结果计算总收益率、胜率、夏普比率及最大回撤率,并对比买入持有收益,进行量化交易算法模型的有效性验证;
调整模型参数,对比不同参数所得的回测结果,确定所述量化交易算法模型。
8.一种股票量化交易装置,其特征在于,所述装置包括:
获取模块,用于获取目标交易账户中的输入数据,其中,所述输入数据至少包括初始资金、交易标的和交易手续费;
计算模块,用于在每个交易日股票收盘后,获取所选交易标的的历史基本面数据,并计算所选交易标的的因子数据;
确定模块,用于将所述输入数据和所述因子数据输入到预先训练好的量化交易算法模型中,确定下一个交易日的交易选项及交易规模;
交易模块,用于根据所述交易选项及交易规模,生成交易指令,并执行所述交易指令,获取交易收益。
9.一种终端设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现权利要求1-7中任一项所述的股票量化交易方法。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现权利要求1-7中任一项所述的股票量化交易方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210136184.9A CN114612231A (zh) | 2022-02-15 | 2022-02-15 | 股票量化交易方法、装置、终端设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210136184.9A CN114612231A (zh) | 2022-02-15 | 2022-02-15 | 股票量化交易方法、装置、终端设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114612231A true CN114612231A (zh) | 2022-06-10 |
Family
ID=81859754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210136184.9A Pending CN114612231A (zh) | 2022-02-15 | 2022-02-15 | 股票量化交易方法、装置、终端设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114612231A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116894731A (zh) * | 2023-07-11 | 2023-10-17 | 中北大学 | 基于改进detr模型的全自动量化交易方法及设备 |
-
2022
- 2022-02-15 CN CN202210136184.9A patent/CN114612231A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116894731A (zh) * | 2023-07-11 | 2023-10-17 | 中北大学 | 基于改进detr模型的全自动量化交易方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Fabretti | On the problem of calibrating an agent based model for financial markets | |
KR102009309B1 (ko) | 금융상품 관리자동화 시스템 및 관리자동화 방법 | |
US20180348716A1 (en) | Non-markovian control with gated end-to-end memory policy networks | |
Bakhach et al. | TSFDC: A trading strategy based on forecasting directional change | |
CN110827143A (zh) | 训练信用评分模型的方法、装置及设备 | |
Wei et al. | Estimating parameters of structural models using neural networks | |
He et al. | A multi-agent virtual market model for generalization in reinforcement learning based trading strategies | |
CN114612231A (zh) | 股票量化交易方法、装置、终端设备及可读存储介质 | |
CN114846500A (zh) | 从动态生成的电子数据库中执行选择的系统 | |
CN111310931A (zh) | 参数生成方法、装置、计算机设备及存储介质 | |
Neri et al. | Simulating and modelling the DAX index and the USO Etf financial time series by using a simple agent‐based learning architecture | |
CN115563568A (zh) | 异常数据的检测方法及其装置、电子设备及存储介质 | |
Andersen et al. | A novel algorithmic trading framework applying evolution and machine learning for portfolio optimization | |
KR102409041B1 (ko) | 액터 크리틱 모델을 이용한 포트폴리오 자산배분 강화학습방법 | |
Goosen | Calibrating high frequency trading data to agent based models using approximate Bayesian computation | |
Aryan et al. | Deep MVA: Deep Learning for Margin Valuation Adjustment of Callable Products | |
Bach et al. | On machine learning based cryptocurrency trading | |
Ruiz et al. | Machine Learning for Risk Calculations: A Practitioner's View | |
Poli et al. | WATTNet: learning to trade FX via hierarchical spatio-temporal representation of highly multivariate time series | |
KR102153540B1 (ko) | 에이전트 기반 시뮬레이션에서 기계학습을 이용한 미시 시뮬레이션 파리미터 교정 방법 및 장치 | |
Liu et al. | LSTM-based cross-prediction price model for gold and bitcoin | |
CN114693447A (zh) | 股票量化交易方法、装置、终端设备及可读存储介质 | |
Dong | Reinforcement Learning for Multiple Time Series: Forex Trading Application | |
Tran et al. | Initial coin offering prediction comparison using Ridge regression, artificial neural network, random forest regression, and hybrid ANN-Ridge | |
CN115204493A (zh) | 利率敏感性的预测方法及装置、电子设备、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |