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编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

Java实现时间与字符串互相转换详解

《Java实现时间与字符串互相转换详解》这篇文章主要为大家详细介绍了Java中实现时间与字符串互相转换的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、日期格式化为字符串(一)使用预定义格式(二)自定义格式二、字符串解析为日期(一)解析ISO格式字符串(二)解析自定义

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为

在java中如何将inputStream对象转换为File对象(不生成本地文件)

《在java中如何将inputStream对象转换为File对象(不生成本地文件)》:本文主要介绍在java中如何将inputStream对象转换为File对象(不生成本地文件),具有很好的参考价... 目录需求说明问题解决总结需求说明在后端中通过POI生成Excel文件流,将输出流(outputStre

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python GUI框架中的PyQt详解

《PythonGUI框架中的PyQt详解》PyQt是Python语言中最强大且广泛应用的GUI框架之一,基于Qt库的Python绑定实现,本文将深入解析PyQt的核心模块,并通过代码示例展示其应用场... 目录一、PyQt核心模块概览二、核心模块详解与示例1. QtCore - 核心基础模块2. QtWid

SpringBoot如何通过Map实现策略模式

《SpringBoot如何通过Map实现策略模式》策略模式是一种行为设计模式,它允许在运行时选择算法的行为,在Spring框架中,我们可以利用@Resource注解和Map集合来优雅地实现策略模式,这... 目录前言底层机制解析Spring的集合类型自动装配@Resource注解的行为实现原理使用直接使用M