从金融时间序列的角度,以沪深300的收益作为研究标的,使用ARCH等衍生模型进行探讨和对比,并尝试对价格和波动率进行一定的拟合和预测。
金融时间序列(二)
作者:邱吉尔
1. 输入库包
In [1]:
from scipy import stats
import statsmodels.api as sm
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
plt.style.use('seaborn')
import arch
2. 取出数据
In [2]:
HS300_close=get_price(['000300.SH'], '20151125', '20190125', '1d', ['close'], True, None,is_panel=1)['close']
HS300_close.columns=['HS300_close']
HS300_close['return']=HS300_close['HS300_close'].pct_change()
HS300_close.dropna(inplace=True)
datetime=pd.to_datetime(HS300_close.index)
fig,ax=plt.subplots(figsize=(20,8))
rect1=ax.plot(datetime,HS300_close['return'],color='IndianRed')
ax.set_ylabel('HS300 Return',size=15)
ax=ax.twinx()
rect2=ax.plot(datetime,HS300_close['HS300_close'])
ax.set_ylabel('HS300 Close',size=15)
plt.title('HS300',size=25)
Out[2]:
<matplotlib.text.Text at 0x7fca33a75f60>
3. ARCH 模型
ARCH模型由两个方程组成:
其中,{ϵt} 是均值为0,方差为1的独立同分布随机变量序列, α0>0,α1,⋯,αm≥0, σ2t为条件异方差.
在金融时间序列(上)中,我们使用的模型干扰项的方差被假设为恒定。但是现实情况下市场呈现出波动的集聚性,在这种情况下假设方差为恒定是不合适的。ARCH模型将采用某种自回归形式来刻划方差的变异,从上面公式看出,过去较大的平方“扰动”会导致信息at有较大的条件异方差。这意味着:在ARCH的框架下,大的"扰动"会倾向于紧接着出现另一个大的"扰动"。这与波动率聚集的现象相似.
基本思想:
- 资产收益率的扰动序列at是前后不相关的, 但是前后不独立.
- at的不独立性可以用at平方的滞后值的线性组合表示.
ARCH模型波动率特征:
(1)存在波动率聚集现象.
(2)波动率以连续时间变化,很少发生跳跃.
(3)波动率不会发散到无