ICLR 2024 | FTS-Diffusion: 用于合成具有不规则和尺度不变模式的金融时间序列的生成框架

本文主要是介绍ICLR 2024 | FTS-Diffusion: 用于合成具有不规则和尺度不变模式的金融时间序列的生成框架,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ICLR 2024 | FTS-Diffusion: 用于合成具有不规则和尺度不变模式的金融时间序列的生成框架

原创 QuantML QuantML 2024-04-17 09:53 上海

Content

本文提出了一个名为FTS-Diffusion的新颖生成框架,用于模拟金融时间序列中的不规则和尺度不变模式。这些模式由于其独特的时间动态特性(即模式在持续时间和幅度上的变化重复)而难以用现有方法捕捉。FTS-Diffusion框架由三个模块组成:尺度不变模式识别算法、基于扩散的生成网络以及模式的时间演变建模。通过大量实验,作者证明了FTS-Diffusion能够生成与观测数据高度相似的合成金融时间序列,并在股票市场预测的下游实验中将错误率降低了高达17.9%。据作者所知,这是首次针对金融领域中具有不规则和尺度不变特性的复杂时间序列数据生成问题的研究。

引言:

金融经济研究者已经展示了深度学习在解决金融环境中复杂问题方面的潜力。然而,数据的缺乏和金融数据的低信噪比是阻碍深度学习在金融领域进一步发展的两大障碍。与自然科学不同,金融研究者无法通过实验来获取更多数据,因此金融时间序列受到现有历史的局限。此外,价格和回报数据受到高噪声水平的影响,使得从有限的数据集中提取有用信息变得更加困难。在不足的数据上训练的深度学习模型容易过拟合,不能期望其在未见数据上可靠地表现。

图片

相关工作:

论文回顾了深度生成建模在多个领域生成时间序列数据的进展,特别是变分自编码器(VAEs)、生成对抗网络(GANs)和基于扩散的模型。然而,这些方法在处理具有不规则性和尺度不变性的复杂金融时间序列方面存在挑战。

图片

问题陈述:

金融时间序列中的不规则和尺度不变模式对于假设规律性和均匀性的现有模型来说难以捕捉。论文提出了一个新的框架来模拟这些模式,并将其分解为模式识别、生成和演变三个过程。

FTS-Diffusion框架:

FTS-Diffusion框架是为了生成具有不规则和尺度不变模式的金融时间序列而设计的。这个框架通过分解金融时间序列生成问题为三个主要步骤:模式识别、模式生成和模式演变

图片

1. 模式识别模块 (Pattern Recognition Module)

这个模块的目的是在金融时间序列中识别不规则和尺度不变的模式。为此,论文提出了一种新的算法,称为尺度不变子序列聚类(Scale-Invariant Subsequence Clustering, SISC)。这个算法使用动态时间规整(Dynamic Time Warping, DTW)来处理不同长度和幅度的子序列,并通过贪婪策略来确定最优的分段长度。SISC算法首先通过一个初始化过程来准备候选的聚类中心,然后使用DTW距离来比较候选长度的子序列与聚类中心的距离,从而找到最优的分段。这个过程会迭代进行,直到聚类分配稳定或达到预设的迭代次数。

2. 模式生成模块 (Pattern Generation Module)

这个模块的目标是合成模式的片段。它由两个专门的网络组成:一个扩散网络和一个缩放自编码器(Scaling Autoencoder, AE)。

  • 扩散网络:基于去噪扩散概率模型(Denoising Diffusion Probabilistic Model, DDPM),通过逐步添加噪声(扩散过程)和逐步去除噪声(去噪过程)来模拟模式的生成。去噪过程由一个神经网络近似,该网络学习每一步的去噪梯度。

  • 缩放AE:用于学习可变长度序列与固定长度表示之间的转换。编码器将可变长度的序列拉伸成固定长度的表示,而解码器则从固定长度的表示重构出可变长度的序列。

这两个网络联合训练,使用在模式识别模块中识别出的序列作为训练数据。

图片

3. 模式演变模块 (Pattern Evolution Module)

这个模块负责模拟连续生成的序列片段之间的时间演变。它使用一个马尔可夫链来模型化模式之间的转换状态,包括模式本身、持续时间和幅度。为了捕捉这些状态的时序动态,论文引入了一个模式演变网络,该网络学习给定当前状态的情况下下一个模式的概率以及相应的持续时间和幅度的缩放因子。

合成整个金融时间序列 (Synthesizing Entire Financial Time Series)

FTS-Diffusion将模式视为生成的基本构建块,并基于模式逐个生成合成时间序列。给定一个从历史数据中采样的初始片段,它通过迭代地应用模式生成模块和模式演变模块来生成连续的片段。在每个位置,模式演变网络预测下一个模式及其持续时间和幅度的缩放因子。然后,模式生成模块根据这些状态生成下一个片段。随着更多片段的生成和附加,合成时间序列逐渐增长。这个过程重复进行,直到整个时间序列达到所需的总长度。

图片

数值实验:

作者通过数值实验评估了FTS-Diffusion的性能,并与其他方法进行了比较。实验结果表明,FTS-Diffusion生成的合成金融时间序列在分布上与观测数据高度相似,并且在下游任务中具有实用性。

结论:

论文提出了FTS-Diffusion框架,用于合成具有不规则和尺度不变模式的金融时间序列。通过将金融时间序列生成分解为模式识别-生成-演变过程,并设计了三个专门的模块来实现这一过程。实验结果证实了FTS-Diffusion在合成与观测数据相似的金融时间序列方面的有效性,并为下游任务提供了有用的数据。这是首次在金融领域中生成具有不规则和尺度不变特性的复杂时间序列数据的研究。

论文下载地址:Generative Learning for Financial Time Series with Irregular and Scale-Invariant Patterns | OpenReview

这篇关于ICLR 2024 | FTS-Diffusion: 用于合成具有不规则和尺度不变模式的金融时间序列的生成框架的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/922903

相关文章

Java controller接口出入参时间序列化转换操作方法(两种)

《Javacontroller接口出入参时间序列化转换操作方法(两种)》:本文主要介绍Javacontroller接口出入参时间序列化转换操作方法,本文给大家列举两种简单方法,感兴趣的朋友一起看... 目录方式一、使用注解方式二、统一配置场景:在controller编写的接口,在前后端交互过程中一般都会涉及

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

Java中字符串转时间与时间转字符串的操作详解

《Java中字符串转时间与时间转字符串的操作详解》Java的java.time包提供了强大的日期和时间处理功能,通过DateTimeFormatter可以轻松地在日期时间对象和字符串之间进行转换,下面... 目录一、字符串转时间(一)使用预定义格式(二)自定义格式二、时间转字符串(一)使用预定义格式(二)自

Nginx location匹配模式与规则详解

《Nginxlocation匹配模式与规则详解》:本文主要介绍Nginxlocation匹配模式与规则,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、环境二、匹配模式1. 精准模式2. 前缀模式(不继续匹配正则)3. 前缀模式(继续匹配正则)4. 正则模式(大

Python实现word文档内容智能提取以及合成

《Python实现word文档内容智能提取以及合成》这篇文章主要为大家详细介绍了如何使用Python实现从10个左右的docx文档中抽取内容,再调整语言风格后生成新的文档,感兴趣的小伙伴可以了解一下... 目录核心思路技术路径实现步骤阶段一:准备工作阶段二:内容提取 (python 脚本)阶段三:语言风格调

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码

《Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码》:本文主要介绍Java中日期时间转换的多种方法,包括将Date转换为LocalD... 目录一、Date转LocalDateTime二、Date转LocalDate三、LocalDateTim

MySQL中动态生成SQL语句去掉所有字段的空格的操作方法

《MySQL中动态生成SQL语句去掉所有字段的空格的操作方法》在数据库管理过程中,我们常常会遇到需要对表中字段进行清洗和整理的情况,本文将详细介绍如何在MySQL中动态生成SQL语句来去掉所有字段的空... 目录在mysql中动态生成SQL语句去掉所有字段的空格准备工作原理分析动态生成SQL语句在MySQL