🔴
入学要求
💯
能力测试
🛣️
课程安排
🕹️
研究资源

练习

习题 1: 测试人工示例

习题 1a: 协整检验 I

判断以下两个人工序列A和B是否协整,使用coint()函数并选择合理的置信度水平。

import numpy as np
import pandas as pd
from statsmodels.tsa.stattools import coint

A_returns = np.random.normal(0, 1, 100)
A = pd.Series(np.cumsum(A_returns), name='A') + 50

some_noise = np.random.exponential(1, 100)
B = A - 7 + some_noise

习题 1b: 协整检验 II

判断以下两个人工序列C和D是否协整,使用coint()函数并选择合理的置信度水平。

C_returns = np.random.normal(1, 1, 100)
C = pd.Series(np.cumsum(C_returns), name='C') + 100

D_returns = np.random.normal(2, 1, 100)
D = pd.Series(np.cumsum(D_returns), name='D') + 100

习题 2: 测试真实案例

习题 2a: 真实协整检验 I

使用2015年数据,判断期货品种CN和SB是否协整。

import yfinance as yf

cn_price = yf.download('CN=F', start='2015-01-01', end='2016-01-01')['Close']
sb_price = yf.download('SB=F', start='2015-01-01', end='2016-01-01')['Close']

习题 2b: 真实协整检验 II

使用2015年数据,判断期货品种CL和HO是否协整。

cl_price = yf.download('CL=F', start='2015-01-01', end='2016-01-01')['Close']
ho_price = yf.download('HO=F', start='2015-01-01', end='2016-01-01')['Close']

习题 3: 样本外验证

习题 3a: 计算价差

使用2015年数据构建线性回归模型,找到使CL和HO价差平稳的线性组合系数。

import statsmodels.api as sm

# 使用前需确保已获取cl_price和ho_price数据

习题 3b: 测试系数有效性

使用2016年上半年数据验证系数有效性,并检验价差平稳性。

cl_out = yf.download('CL=F', start='2016-01-01', end='2016-07-01')['Close']
ho_out = yf.download('HO=F', start='2016-01-01', end='2016-07-01')['Close']

附加题: 赫斯特指数

计算价差序列的赫斯特指数,并实现时间维度上的持续监控。

# 需要自行实现或寻找现成的赫斯特指数计算库
# 参考链接:
# https://en.wikipedia.org/wiki/Hurst_exponent
# https://www.quantopian.com/posts/pair-trade-with-cointegration-and-mean-reversion-tests