使用 Python 和 FFT 查找金融时间序列中的宏观和微观季节性

问题描述 投票:0回答:1

让我们在这里设置一些背景,我正在研究一个金融时间序列,它代表 2022 年每一天的每小时电价,所以我有一个包含两列的 Pandas DataFrame:

第一个是 TimeIndex,包含 Pandas 日期时间格式的日期和时间。 第二个包含与每小时相关的价格。

我正在研究这个样本,以便对 2024 年的每小时价格做出一些预测。为此,我想在多个粒度级别(小时、天、周)上深入研究该时间序列中的季节性模式、月份和季度)。

最后我想获得一个由 8760 个标量组成的列向量,对应于一年中定价的 8760 个小时。这些标量代表季节性系数,我将用它来预测来年。

现在我来这里的原因是,我想使用 FFT 和适当的窗口函数来搜索季节性。 我想知道你们应该使用哪种窗口函数来实现此目的,我知道每个窗口函数都有其优点和缺点。 我还想知道应该如何选择窗口的宽度,因为显然这会对执行的 FFT 产生影响。 我也愿意接受有关如何完成这项季节性研究的建议,您会采用其他方式吗?您会使用哪个工具?

这是一个一般性问题,我正在寻找其他人对如何进行这项研究的意见,目前我没有遇到任何特定的编码问题。

python-3.x time-series fft forecasting spectrum
1个回答
0
投票

如果函数(在时域中)以与开始时不同的值结束,则窗口的形状很重要。

矩形窗口:起点和终点必须相同。如果不是这种情况,您将在频谱中得到该步骤的伪影(起始值和最后值之间的差异)。

Hamming 和 Hanning:这些窗口以更平滑的方式衰减信号的开头和结尾(因此两端都接近于零,并且起始值和最终值之间的阶跃被抑制)。结果是靠近窗口末端的事件被低估,中间的事件被高估。

对于完美的周期信号,完全适合窗口持续时间的矩形窗口是最准确的。如果该周期不适合窗口持续时间,则矩形窗口会产生大多数“窗口折叠伪影”。 理想情况下,使用汉宁或汉明窗,窗口应包含您想要观察的频率的多个周期,以最大限度地减少末端衰减的影响。

其他:大多数技术设备使用汉宁或汉明窗。除此之外,有时也使用高斯形状的窗口。

© www.soinside.com 2019 - 2024. All rights reserved.