使用Python库valuequant处理时间序列结构变化的建模方法4

本文介绍了使用Python库valuequant处理时间序列结构变化的一种建模方法,涉及移动平均预处理、差分序列分析和概率状态更新模型,旨在适应不同场景,特别是处理季节性、异方差和趋势识别。通过移动平均窗口消除季节性影响,根据1阶和2阶差分确定趋势状态,并利用概率状态更新模型进行未来推演,有效避免短期异常影响。
摘要由CSDN通过智能技术生成

本期在之前三期关于时间序列结构变化讨论的基础上,再对建模方法稍做变化,以适应不同场景。需要注意的是,包括本期在内关于使用Python处理时间序列结构变化的方法,都源于自动化批量识别时间序列结构变化的需求。

场景描述

(1)时间序列具有季节周期,且季节项估计误差使得趋势项估计存在明显的异方差

(2)时间序列的随机项波幅较大,时间序列的趋势容易被剧烈的非周期波动掩盖

(3)需要识别时间序列当前趋势状态,即识别时间序列当前n阶差分正负偏向

(4)避免短期异常造成识别过敏

(5)对时间序列当前趋势状态的判定需要足够的时间步数据进行验证

(6)对时间序列的未来估计只考虑符合当前趋势的最新信息

(7)环境多变,单序列数据稀疏量少,暴力型大数据算法不适用

建模方法

第一步,针对第(1)(2)点需求,按移动平均窗口MW对时间序列进行移动平均预处理,获得移动平均序列MY_t(t=MW,MW+1...L)。为消除季节项估计误差导致的异方差问题,可将移动平均窗口MW设置为季节周期的倍数。

第二步,针对第(3)点需求,计算时间序列的n阶差分序列。因为实际应用过程中,时间序列趋势变化一般以线性变化为主(例如往期上市公司利润表历史数据研究案例),除随机变化情况外,差分序列偏向大多出现在1阶和2阶,极少出现3阶以上的差分偏向。所以,本期的建模方法根据时间序列的1阶和2阶差分序列的正负偏向分析时间序列当前趋势状态,即计算1阶差分\Delta MY_t(t=MW+1,MW+2...L)和2阶差分\Delta^2 MY_t(t=MW+2,MW+3,...L)

第三步,针对第(4)(5)点需求,本期模型将移动平均处理后的时间序列数据按概率状态更新模型进行处理,按分析者设置的粒子时间步MS将时间序列划分为多个粒子波段。

第四步,从1阶差分最新粒子波段\Delta MY_t(t=L-MS+1,L-MS+2...L)开始向前回溯,逐个粒子波段按显著性水平\alpha (0<\alpha<0.5)分别进行偏向正和偏向负的单尾假设检验,判定1阶粒子波段趋势状态1阶为正(+)、负(-)或无(n):

(a)若粒子波段

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值