用于高频交易预测的最优输出LSTM

用于高频交易预测的最优输出LSTM

J.P.Morgan的python教程

Content

本文提出了一种改进的长短期记忆(LSTM)单元,称为最优输出LSTM(OPTM-LSTM),用于实时选择最佳门或状态作为最终输出。这种单元采用浅层拓扑结构,具有最小的回顾期,并且支持在线训练。通过在美国和北欧股票的限价单簿(LOB)中进行测试,证明了OPTM-LSTM在高频交易预测任务中的有效性,特别是在预测LOB中间价格方面,相较于其他循环神经网络,它具有更低的预测误差。

第一章:引言(Introduction)

高频交易(HFT)在美国股票市场交易活动中占比超过50%。HFT过程中,信号和交易在几纳秒内分析和执行,这种速度要求为参与者提供了利用其基础设施和专业技术知识的机会。文章中提到了限价单簿(LOB)的概念,这是HFT活动的一种形式,其中流动性提供者和流动性接受者形成订单流动动态。文章还涉及了快速订单流动信息分析的重要性,特别是预测限价单簿的下一个中间价格,这是实验协议的主要目标。预测下一个中间价格等同于在线或逐刻预测,这在数据规模消化和时间不规则性检查方面是一个挑战。这些挑战可以通过特定类型的神经网络(NN)适当处理,特别是循环神经网络(RNN)家族中的长短期记忆神经网络(LSTM)。LSTM在多个领域,包括金融和算法交易中,已经显示出良好的预测能力。文中还提到了HFT LOB数据集的研究需要模型能够解析所有相关信息而无处理延迟。此外,文章讨论了构建实时在线机器学习实验协议的挑战,不仅仅是工程目标(即LOB的中间价格预测),还包括开发适合基于较少训练周期的短期训练的动态调整的NN。

第二章:相关工作(Related Work)

LSTM网络已被用于预测中间价格的变动,并在预测能力方面表现优异。此外,通过引入注意力机制,LSTM的预测性能得到了进一步提升。还有研究将LSTM与注意力机制结合,用于预测股票价格的跳跃。LSTM还被用于市场做市策略的实施。LSTM单元的架构基于一系列预定义的操作,这些操作基于对内部计算顺序、门/状态数量和单元输出信息的假设。文中提到了一些研究,这些研究根据信息流调整LSTM内部门的顺序,但这些方法存在一些限制,例如调整或消除RNN门并不直接与最终预测目标相关联。此外,文中还提到了一些简化的LSTM单元结构,以及对LSTM单元中最重要的门进行修改的建议。还有一些研究提出了更轻量级的RNN单元。文中还提到了LSTM网络的更复杂变体,例如peephole LSTM和双向LSTM,这些变体在预测开盘、最高、最低和收盘股票价格方面有效。LSTM还被用作混合模型,与CNN结合用于股票价格预测。尽管这些模型在预测方面表现出色,但它们在处理高速信息流时不够灵活,因为LSTM单元在训练和学习期间保持静态,并且与预测任务脱节。

第三章:提出的方法(Proposed Method)

高频交易限价单簿(LOB)的行为特征是股票库存的快速变化,这直接影响股票价格。为了有效应对这种动态变化,提出的长短期记忆(LSTM)网络需要能够迅速识别这些变化并提供优化的建议或信息。

图片

文章提出了一种自适应的LSTM单元架构,称为OPTM-LSTM单元,它与现有的RNN单元在两个关键方面有所不同:首先,LSTM单元的门和状态被视为特征,并通过内部特征重要性机制来衡量它们处理在线信息流的能力;其次,该机制作为一个非预测性监督回归问题,依赖于代表当前已知LOB中间价格的标签。

图片

OPTM-LSTM单元的核心思想是改进LSTM单元的原始机制,通过在线评估内部门和状态的重要性来重新排列和选择LSTM单元的最终输出。这一过程涉及到一个内部的非预测性监督回归问题,该问题与主要的预测目标(即预测下一个中间价格)相似但不相同。

OPTM-LSTM单元的工作机制基于两个关键组件:简单的优化方法(遵循梯度下降学习算法)和非预测性监督回归问题。这两个组件在LSTM单元内部结合,优化结果随后传递给下一个LSTM单元。

在结构上,OPTM-LSTM单元包含与原始LSTM单元相同数量的门和状态,以及相同数量的输出。不同之处在于,在生成两个输出张量(即时间t的隐藏和细胞状态)之前,会进行一个基于内部非预测性监督回归的特征重要性计算。

特征存储库(Feature Repo)是一个包含六个内部门和状态的集合,基于梯度下降学习算法更新的梯度权重这些组件结合在一起,通过计算每个内部门或状态的平均重要性来确定哪个状态或门是最重要的特征。

图片

此外,文章还提供了在线梯度下降算法的描述,以及对OPTM-LSTM单元的时间和空间复杂性的分析。这包括前向传播和反向传播(BPTT)的复杂性分析。

图片

LSTM架构的主要优势在于包括保留信息和延迟梯度消失或爆炸的问题。文章还提到了通过实验方法观察到的LSTM单元内部状态和门的行为特征,这些观察结果支持了开发OPTM-LSTM单元的决策。

第四章:实验(Experiments)

实验部分旨在验证OPTM-LSTM单元在高频交易(HFT)预测任务中的性能。实验的目标是预测限价单簿(LOB)的下一个中间价格,这是一个在线回归预测任务,不依赖于时间信息,而是依赖于每个交易事件的最新信息。

数据集和实验协议:

  • 实验使用了包括美国和北欧的高流动性和低流动性股票的数据集,数据遵循ITCH协议,确保了市场数据的超低延迟。

  • 数据集涵盖了2015年的前两个月的两支美国股票和2010年的两支北欧股票的交易数据。

  • 实验采用了渐进式训练方法,训练集包含高达2000万次交易事件,测试集则使用了1000次交易事件。

性能评估:

  • 性能通过均方误差(MSE)来评估,这是衡量预测准确性的常用指标。

  • 实验结果基于原始数据和两种不同的数据归一化方法:最小-最大归一化(MinMax)和Z分数标准化(Zscore)。

实验设置:

  • 实验比较了OPTM-LSTM单元与其他几种循环神经网络(RNN)结构,包括标准LSTM、带有注意力机制的LSTM、双向LSTM、GRU以及LSTM和CNN的混合模型。

  • 还包括了两个基线模型:一个基于LOB数据输入的朴素回归器和一个基于中间价格的持续性算法。

训练和测试:

  • 训练过程采用了在线学习的方法,其中模型在每个交易事件后立即更新。

  • 测试过程则是在训练集之后立即进行,以评估模型对新数据的预测能力。

结果:

  • OPTM-LSTM在多个数据集上展示了较低的MSE分数,表明其在预测任务中的优越性能。

  • 与其他RNN模型相比,OPTM-LSTM在不同的数据大小和归一化设置下均表现出更好的稳定性和预测准确性。

图片

图片

局限性和未来研究方向:

  • 尽管OPTM-LSTM在实验中表现出色,但研究的局限性在于所使用的股票数量有限,且交易时间范围受限。

  • 未来的研究可以探索更广泛的股票样本和更长的交易时间范围,以及将OPTM-LSTM应用于其他在线预测任务的可能性。

第五章:总结和未来研究方向(Conclusion and Future Research)

本文总结了OPTM-LSTM单元在高频交易(HFT)预测任务中的优势,包括其在多个数据集上实现的低预测误差和快速适应市场变化的能力,并指出了研究的局限性,如股票样本数量和交易时间范围的限制,同时提出了未来研究的方向,例如将OPTM-LSTM应用于其他在线预测任务,以及进一步优化模型以处理更广泛的市场数据和交易场景。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/885941.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Elasticsearch:使用 LLM 实现传统搜索自动化

作者:来自 Elastic Han Xiang Choong 这篇简短的文章是关于将结构化数据上传到 Elastic 索引,然后将纯英语查询转换为查询 DSL 语句,以使用特定过滤器和范围搜索特定条件。完整代码位于此 Github repo 中。 首先,运行以下命令安装…

Apache POI 2024/10/2

导入Apache POI的maven坐标 通过POI向Excel文件写入文件内容 package com.sky.test;import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook;import java.io.File; import java.…

【C++并发入门】opencv摄像头帧率计算和多线程相机读取(下):完整代码实现

前言 高帧率摄像头往往应用在很多opencv项目中,今天就来通过简单计算摄像头帧率,抛出一个单线程读取摄像头会遇到的问题,同时提出一种解决方案,使用多线程对摄像头进行读取。上一期:【C并发入门】摄像头帧率计算和多线…

1.5 测试用例

欢迎大家订阅【软件测试】 专栏,开启你的软件测试学习之旅! 文章目录 前言1 测试用例介绍2 测试用例编写3 案例分析4 执行测试用例 前言 测试用例的设计和编制是软件活动中最重要的工作。本文详细讲解了测试用例的基本概念以及如何编写测试用例。 本篇文…

深入掌握 Protobuf 与 RPC 的高效结合:实现C++工程中的高效通信

目录 一、Protobuf与RPC框架的通信流程概述二、Protobuf与RPC在C中的实际应用2.1 定义 .proto 文件2.2 编译 .proto 文件生成C代码2.3 实现服务器端逻辑2.4 实现客户端逻辑2.5 使用CMake构建工程2.6 编译与运行2.7 关键组件解析2.8 序列化与反序列化的实现 三、关键实现与解析四…

Redis: Sentinel哨兵监控架构及环境搭建

概述 在主从模式下,我们通过从节点只读模式提高了系统的并发能力并发不断增加,只需要扩展从节点即可,只要主从服务器之间,网络连接正常主服务器就会将写入自己的数据同步更新给从服务器,从而保证主从服务器的数据相同…

网络安全 DVWA通关指南 DVWA Weak Session IDs(弱会话)

DVWA Weak Session IDs(弱会话) 文章目录 DVWA Weak Session IDs(弱会话)Low LevelMedium LevelHigh LevelImpossible Level 参考文献 WEB 安全靶场通关指南 相关阅读 Brute Force (爆破) Command Injection(命令注入…

C# 无边框窗体,加阴影效果、多组件拖动、改变大小等功能完美实现优化版效果体验

一、预览效果 国庆节第一天,祝祖国繁荣昌盛! 1.1 效果图 (WinForm无边框窗体,F11可全屏) 拖动窗体时半透明效果(拖动时参考窗体后面释放位置) 说明:本功能的实现基于网友的原型完善而来,更多代码可以参考他的文章 h

Golang | Leetcode Golang题解之第449题序列化和反序列化二叉搜索树

题目: 题解: type Codec struct{}func Constructor() (_ Codec) { return }func (Codec) serialize(root *TreeNode) string {arr : []string{}var postOrder func(*TreeNode)postOrder func(node *TreeNode) {if node nil {return}postOrder(node.Le…

量产小妙招---向量间的Project和Product

1 背景 在日常工作中,不管是在感知或者规控,或者其它的模块中,经常需要处理两个向量之间的关系,这就引入了本篇博客和读者朋友们讨论的一个话题:Project和Product。 2 Project和Product 向量间的Project和Product在定义…

C++语言学习(2): name lookup 的概念

何谓 name lookup C 中很重要的一个概念:name lookup。 当编译器在遇到一个 name 的时候, 会做查找(lookup),会把引入这个 name 的声明和它关联起来,具体来说,又包含两种类型的 lookup&#xf…

【学习笔记】手写 Tomcat 八

目录 一、NIO 1. 创建 Tomcat NIO 类 2. 启动 Tomcat 3. 测试 二、解析请求信息 三、响应数据 创建响应类 修改调用的响应类 四、完整代码 五、测试 六、总结 七、获取全部用户的功能 POJO 生成 POJO 1. 在 Dao 层定义接口 2. 获取用户数据 3. 在 Service 层定…

ArcGIS与ArcGIS Pro去除在线地图服务名单

我们之前给大家分享了很多在线地图集,有些地图集会带有制作者信息,在布局制图的时候会带上信息影响出图美观。 一套GIS图源集搞定!清新规划底图、影像图、境界、海洋、地形阴影图、导航图 比如ArcGIS: 比如ArcGIS Pro&#xff1a…

.Net 基于IIS部署blazor webassembly或WebApi

1.安装IIS(若安装,请忽略) 选择:控制面板–>程序–>程序和功能 选择:启动或关闭Windows功能,勾选相关项,再点击确定即可。 2.安装Hosting Bundle 以.net6为例,点击连接https://dotnet.microsoft.com/en-us/download/dot…

zabbix7.0创建自定义模板的案例详解(以监控httpd服务为例)

前言 服务端配置 链接: rocky9.2部署zabbix服务端的详细过程 环境 主机ip应用zabbix-server192.168.10.11zabbix本体zabbix-client192.168.10.12zabbix-agent zabbix-server(服务端已配置) 创建模板 模板组直接写一个新的,不用选择 通过名称查找模板&#xf…

详解CSS中的伪元素

4.3 伪元素 可以把样式应用到文档树中根本不存在的元素上。 ::first-line 文本中的第一行 ::first-letter 文本中的第一个字母 ::after 元素之后添加 ::before 元素之前 代码&#xff1a; <!DOCTYPE html> <html> <head><meta charset"utf-8&q…

测试用例的举例

1. 基于测试公式设计测试用例 通过功能&#xff0c;性能&#xff0c;安全性&#xff0c;界面&#xff0c;安全性&#xff0c;易用&#xff0c;兼容对于一个水杯进行测试用例的设计&#xff1b; 对于一个软件的测试用例设计&#xff1a; 功能&#xff1a;软件本质上能够用来干什…

本科生已不够 AI公司雇佣各领域专家训练大模型

9月29日消息&#xff0c;人工智能模型的性能在很大程度上依赖于其训练数据的质量。传统方法通常是雇用大量低成本劳动力对图像、文本等数据进行标注&#xff0c;以满足模型训练的基本需求。然而&#xff0c;这种方式容易导致模型在理解和生成信息时出现“幻觉”现象&#xff0c…

【递归】11. leetcode 129 求根节点到叶节点数字之和

1 题目描述 题目链接&#xff1a; 求根节点到叶节点数字之和 2 解答思路 第一步&#xff1a;挖掘出相同的子问题 &#xff08;关系到具体函数头的设计&#xff09; 第二步&#xff1a;只关心具体子问题做了什么 &#xff08;关系到具体函数体怎么写&#xff0c;是一个宏观…

追随 HarmonyOS NEXT,Solon v3.0 将在10月8日发布

Solon &#xff08;开放原子开源基金会&#xff0c;孵化项目&#xff09;原计划10月1日发布 v3.0 正式版。看到 HarmonyOS NEXT 将在 10月8日启用公测&#xff0c;现改为10月8日发布以示庆贺。另外&#xff0c;Solon 将在2025年启动“仓颉”版开发&#xff08;届时&#xff0c;…