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获取当前时间String类型和Date类型方式

《Java获取当前时间String类型和Date类型方式》:本文主要介绍Java获取当前时间String类型和Date类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录Java获取当前时间String和Date类型String类型和Date类型输出结果总结Java获取

Python实现批量提取BLF文件时间戳

《Python实现批量提取BLF文件时间戳》BLF(BinaryLoggingFormat)作为Vector公司推出的CAN总线数据记录格式,被广泛用于存储车辆通信数据,本文将使用Python轻松提取... 目录一、为什么需要批量处理 BLF 文件二、核心代码解析:从文件遍历到数据导出1. 环境准备与依赖库

Python Web框架Flask、Streamlit、FastAPI示例详解

《PythonWeb框架Flask、Streamlit、FastAPI示例详解》本文对比分析了Flask、Streamlit和FastAPI三大PythonWeb框架:Flask轻量灵活适合传统应用... 目录概述Flask详解Flask简介安装和基础配置核心概念路由和视图模板系统数据库集成实际示例Stre

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Spring的RedisTemplate的json反序列泛型丢失问题解决

《Spring的RedisTemplate的json反序列泛型丢失问题解决》本文主要介绍了SpringRedisTemplate中使用JSON序列化时泛型信息丢失的问题及其提出三种解决方案,可以根据性... 目录背景解决方案方案一方案二方案三总结背景在使用RedisTemplate操作redis时我们针对

python生成随机唯一id的几种实现方法

《python生成随机唯一id的几种实现方法》在Python中生成随机唯一ID有多种方法,根据不同的需求场景可以选择最适合的方案,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习... 目录方法 1:使用 UUID 模块(推荐)方法 2:使用 Secrets 模块(安全敏感场景)方法

go中的时间处理过程

《go中的时间处理过程》:本文主要介绍go中的时间处理过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 获取当前时间2 获取当前时间戳3 获取当前时间的字符串格式4 相互转化4.1 时间戳转时间字符串 (int64 > string)4.2 时间字符串转时间

Java设计模式---迭代器模式(Iterator)解读

《Java设计模式---迭代器模式(Iterator)解读》:本文主要介绍Java设计模式---迭代器模式(Iterator),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录1、迭代器(Iterator)1.1、结构1.2、常用方法1.3、本质1、解耦集合与遍历逻辑2、统一

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

Spring 框架之Springfox使用详解

《Spring框架之Springfox使用详解》Springfox是Spring框架的API文档工具,集成Swagger规范,自动生成文档并支持多语言/版本,模块化设计便于扩展,但存在版本兼容性、性... 目录核心功能工作原理模块化设计使用示例注意事项优缺点优点缺点总结适用场景建议总结Springfox 是