【金融风险管理】python进行动态波动率的计算和时间序列的预测

该文详细介绍了如何对股票对数收益率进行预测,包括数据的时间格式转换、训练集和测试集的划分,然后运用朴素法、简单平均法、简单移动平均法(5日、10日、15日)以及一次、二次和三次指数平滑法进行预测,并通过RMSE和ADF检验评估模型的稳定性和预测准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

根据前一篇文章算计算出来的股票对数收益率,我们在这一篇文章在前文的基础上,分别用朴素法(平均法)简单移动平均法5日简单移动平均法10日移动平均法15日移动平均法来一次指数平滑法二次指数平滑法三次指数平滑法来预测。并且用RMSEADF检验对数据进行平稳性检验。


一、数据整理

1.时间格式转换

先对数据进行整体的概览:
用python中的pandas库的to_datetime()来对时间进行一个格式的转换。

#format = '%Y/%m/%d'
df.index = df.Timestamp
df_ts = df.resample('D').sum()
df_ts
on

2.训练集和测试集

#2007 年 1 月- 2007 年 12 月用作训练数据,2007 年 9 月 – 2007 年 12 月用作测试数据。
train = df_ts['2007/1/4':'2007/12/28']
test = df_ts['2007/10/1':'2007/12/28']
all = df['Count']
date = df['Datetime']
train.tail()
#print(train)

注:由于在划分的时候,数据包含了一年中每一天,而实际的股票开盘日并非每一天都有,所以存在在部分空缺值,故在后面利用dropna()来进行删除空缺行,以便后文分析。

train2 = train[train.loc[:]!= 0].dropna()

3.原始股票对数收益率数据展示

train.Count.plot(figsize=(15,8), title= 'Logarithmic yield', fontsize=14)
test.Count.plot(figsize=(15,8), title=
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一帆1018

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值