在进行配对交易前,用OLS回归对两只股票的对数价格进行协整检验 代码示例
时间: 2024-03-15 21:46:07 浏览: 191
下面是对两只股票的对数价格进行协整检验的 Python 代码示例,使用了OLS回归:
```python
import pandas as pd
import statsmodels.api as sm
# 读取两只股票的价格数据
stock1 = pd.read_csv('stock1.csv', index_col=0)
stock2 = pd.read_csv('stock2.csv', index_col=0)
# 对两只股票的价格取对数,计算价格比率
price_ratio = pd.Series(stock1['close'].apply(np.log) - stock2['close'].apply(np.log))
# 拟合OLS回归模型
model = sm.OLS(stock1['close'], sm.add_constant(stock2['close'])).fit()
# 打印协整检验结果
print(model.summary())
```
上述代码中,我们首先使用 Pandas 库读取了两只股票的价格数据,分别存储在 `stock1` 和 `stock2` 变量中。然后,我们对两只股票的价格取对数,计算价格比率,并将结果存储在 `price_ratio` 变量中。接着,我们使用 `sm.OLS()` 函数拟合OLS回归模型,并将结果存储在 `model` 变量中。最后,我们打印了协整检验的OLS回归结果。
需要注意的是,这里使用的 `sm.OLS()` 函数是来自于 `statsmodels.api` 模块,它可以拟合OLS回归模型。此外,由于我们拟合的是股票价格之间的关系,所以在拟合回归模型时,我们使用了 `stock1['close']` 作为因变量,`sm.add_constant(stock2['close'])` 作为自变量。最后,我们打印的OLS回归结果中,我们需要关注的是截距项和自变量的系数,以及 p 值。如果截距项和自变量的系数都显著不为零,并且 p 值小于设定的显著性水平,则说明两只股票之间存在协整关系。
阅读全文