股指指数平稳性检验和随机性检验

平稳性检验(描述性)

平稳性检验的方法分为描述性方法与计量性方法。前者主要指时序图检验、ACF 图检验,后者主要指 DF 检验、ADF 检验与PP检验。

如下两个模型:

                      p_{t}=\phi _{1}p_{t-1}+e_{t}

                     p_{t}=\phi _{0}+\phi _{1}p_{t-1}+e_{t}

原假设H_{0}:\phi _{1}=1,备择假设H_{a}:\phi _{1}<1

def ADF_p(start_date=None,end_date=None,stock=None,count=None,frequency=None):
    if not isinstance(stock,str):
        return 
    p = list()
    if frequency == '1m':
        trade_days = jd.get_trade_days(start_date=start_date,end_date=end_date)
        trade_days = list(map(lambda x:x.strftime('%Y-%m-%d'),trade_days))
        
        for days in trade_days:
            data = jd.get_price(security=stock, start_date=days+' 09:30:00', 
                        end_date=days+' 15:00:00', frequency='1m',
                        fields=['close'], skip_paused=False, fq='pre', count=None)['close']
            data = np.log(data.reset_index(drop=True))
            p.append((ADF(data)[1],days))   
    
    if frequency == '1d':
        trade_days = pd.date_range(start=start_date,end=end_date,freq='A')
        trade_days = list(map(lambda x:x.strftime('%Y-%m-%d'),trade_days))
        for days in trade_days:
            data = jd.get_price(security=stock,end_date=days, frequency='1d',
                        fields=['close'], skip_paused=False, fq='pre', count=250)['close']
            data = np.log(data.reset_index(drop=True))
            p.append((ADF(data)[1],days))
            
    return p

p_min:上证指数,2020-01-01到2020-04-01,每日日内分钟收盘价的ADF检验的p值。大多数情况下p>0.05,日内每分钟收盘价是非平稳的即存在趋势性。

p_d:上证指数,2015-2019,每年每日收盘价的ADF检验的p值,大多数情况下p>0.05,日收盘价是非平稳的即存在趋势性。

随机性时间序列的定义与检验

LB_p_min:上证指数,2020-01-01到2020-04-01,每日日内分钟收盘价的LB检验的p值。p<0.05,日内每分钟收盘价不是随机的。

LB_p_d:上证指数,2015-2019,每年每日收盘价的LB检验的p值,p<0.05,日收盘价是非随机的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值