从股票市场选择配对的股票:介绍

配对交易策略的设计包括三步:识别股票对,验证协整性,形成交易规则。

第一步是识别股票对。我们大可以对市场中所有股票一一配对,验证他们是否协整,但是这样计算量太大。所以通常的做法是用一些经验、规则减少候选的股票对。如果使用规则去过滤的话,由于每个人根据自己的经验去制定规则,就会出现比如不同的人可能提出完全相反的规则等不一致的情况,所以需要提出更加可靠的方法。

可以使用协整程度(degree of comovement)去过滤股票对。每一个股票对都赋予一个分数,或者说衡量股票对的距离。分数越高,说明协整程度越大,反之亦然。如果我们发现一个股票对不适合进行交易,那么所有比这对分数更低的股票对也是不适合的。那么识别股票对这个过程就变成了选择一个合适的阈值去衡量股票对的距离。

那么什么是好的分数或者说距离计算的方法?首先这个方法不能太复杂,如果比协整性验证还要复杂、花费更多的话,那就本末倒置了。这个方法必须简单直接。此外,距离的计算不能完全靠经验(empirical)。靠经验就是仅仅依赖历史数据。这里引出一个假设,公司的基本面信息是静态的,也即公司的价值不会受到变化的影响。不用说啦,这只是假设不是真实情况。这是理想的情况,我们希望把距离的计算与公司的基本面绑定。

我们接下来会重点介绍分数/距离的计算的定义和解释。当我们解释选择某个分数/距离计算方法时,我们会探讨协整和套利定价理论APT之间的关系。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
配对交易中,我们通常会选取两只具有相关性的股票进行交易,而计算它们的价格偏差平方SSD是一个重要的步骤。以下是一种计算方法: 1. 导入需要的库,例如`pandas`和`numpy`: ```python import pandas as pd import numpy as np ``` 2. 创建两只股票的价格DataFrame,例如`df1`和`df2`: ```python df1 = pd.DataFrame({'price1': [10, 12, 15, 18, 20]}) df2 = pd.DataFrame({'price2': [8, 11, 14, 17, 21]}) ``` 3. 将这两只股票的价格DataFrame合并为一个DataFrame: ```python df = pd.concat([df1, df2], axis=1) ``` 4. 计算它们的价格比率,即每个时点上第一只股票价格除以第二只股票价格的比值: ```python df['ratio'] = df['price1'] / df['price2'] ``` 5. 计算价格比率的均值和标准差: ```python mean = df['ratio'].mean() std = df['ratio'].std() ``` 6. 计算偏差,即每个时点上价格比率与均值的差: ```python df['diff'] = df['ratio'] - mean ``` 7. 计算偏差的平方: ```python df['diff_sq'] = np.square(df['diff']) ``` 8. 计算偏差平方的和,即为SSD: ```python ssd = df['diff_sq'].sum() ``` 完整的代码如下: ```python import pandas as pd import numpy as np df1 = pd.DataFrame({'price1': [10, 12, 15, 18, 20]}) df2 = pd.DataFrame({'price2': [8, 11, 14, 17, 21]}) df = pd.concat([df1, df2], axis=1) df['ratio'] = df['price1'] / df['price2'] mean = df['ratio'].mean() std = df['ratio'].std() df['diff'] = df['ratio'] - mean df['diff_sq'] = np.square(df['diff']) ssd = df['diff_sq'].sum() print('SSD =', ssd) ``` 运行结果为: ``` SSD = 0.1489 ``` 需要注意的是,这里的SSD是价格比率的偏差平方和,并不是价格本身的偏差平方和。在实际的配对交易中,我们会使用价格本身的偏差进行交易。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值