Python配对交易策略统计套利量化交易分析股票市场附代码数据

  • 2022-11-16
  • John Dowson

  我的思路是寻找量价齐升的企业本站

Python配对交易策略统计套利量化交易分析股票市场附代码数据本站

  说到在股票市场上赚钱,有无数种不同的赚钱方式。似乎在金融界,无论你走到哪里,人们都在告诉你应该学习 Python

  毕竟,Python 是一种流行的编程语言,可用于所有类型的领域,包括数据科学。有大量软件包可以帮助您实现目标,许多公司使用 Python 来开发与金融界相关的以数据为中心的应用程序和科学计算。

  最重要的是,Python 可以帮助我们利用许多不同的交易策略,这些策略(没有它)将很难用手或电子表格进行分析。我们将讨论的交易策略之一称为 配对交易。

  原理如下。假设您有一对具有某种潜在经济联系的证券 X 和 Y。一个例子可能是生产相同产品的两家公司,或一条供应链中的两家公司。如果我们可以用数学模型对这种经济联系进行建模,我们就可以对其进行交易。

  平稳性是时间序列分析中最常见的未经检验的假设。当数据生成过程的参数不随时间变化时,我们通常假设数据是平稳的。或者考虑两个系列:A 和 B。系列 A 将生成具有固定参数的平稳时间序列,而 B 将随时间变化。

  是均值和 是标准差。标准差的平方, ,是方差。经验法则规定 66% 的数据应该介于 和 ,这意味着该函数normal 更有可能返回靠近均值的样本,而不是那些远离均值的样本。

  许多统计测试要求被测试的数据是平稳的。在非平稳数据集上使用某些统计数据可能会导致垃圾结果。作为一个例子,让我们通过我们的非平稳 .

  计算的平均值将显示所有数据点的平均值,但对未来状态的任何预测都没有用。与任何特定时间相比,它毫无意义,因为它是不同时间的不同状态混搭在一起的集合。这只是一个简单而清晰的例子,说明了为什么非平稳性会扭曲分析,在实践中会出现更微妙的问题。

  它被称为单位根 tet 因为在原假设下,自回归多项式, 的根等于 1。 在原假设下趋势平稳。如果 然后首先进行差分,它变成:

  是最小二乘估计和 SE() 是通常的标准误差估计。该测试是单侧左尾测试。如果 {} 是平稳的,那么可以证明或者并且是 ,然而,在非平稳性原假设下,上述结果给出以下函数将允许我们使用 Augmented Dickey Fuller (ADF) 检验来检查平稳性。

  正如我们所见,基于时间序列 A 的检验统计量(与特定的 p 值对应),我们可能无法拒绝原假设。因此,A 系列很可能是静止的。另一方面,B系列被假设检验拒绝,所以这个时间序列很可能是非平稳的。

  金融数量之间的相关性是出了名的不稳定。尽管如此,几乎所有的多元金融问题都经常使用相关性。相关性的另一种统计度量是协整。这可能是衡量两个金融数量之间联系的更稳健的衡量标准,但迄今为止,几乎没有基于此概念的偏差理论。

  两只股票可能在短期内完全相关,但从长远来看却出现分歧,一只增长,另一只下跌。相反,两只股票可能相互跟随,相距不会超过一定距离,但具有相关性,正负相关变化。如果我们是短期,相关性可能很重要,但如果我们在投资组合中长期持有股票,则无关紧要。

  相关性和协整性虽然在理论上相似,但完全不同。为了证明这一点,我们可以查看两个相关但不协整的时间序列的示例。

  正如我们所看到的,序列 X 和 Y 之间存在非常强的相关性。然而,我们协整检验的 p 值产生了 0.7092,这意味着时间序列 X 和 Y 之间没有协整。

  我们正在查看一组科技公司,看看它们中是否有任何一家是协整的。我们将首先定义我们想要查看的证券列表。然后我们将获得 2013 - 2018 年每个证券的定价数据..

  如前所述,我们已经制定了一个经济假设,即科技行业内的证券子集之间存在某种联系,我们想测试是否存在任何协整对。与搜索数百种证券相比,这产生的多重比较偏差要小得多,而比为单个测试形成假设的情况略多。

  我们的算法列出了两个协整对:AAPL/EBAY 和 ABDE/MSFT。我们可以分析他们的模式。

  现在我们可以绘制这两个时间序列的价差。为了实际计算价差,我们使用线性回归来获得我们两个证券之间的线性组合的系数,正如之前提到的恩格尔-格兰杰方法。

  无论我们是使用价差法还是比率法,我们都可以看到我们的第一个图对 ADBE/SYMC 倾向于围绕均值移动。我们现在需要标准化这个比率,因为绝对比率可能不是分析这种趋势的最理想方式。为此,我们需要使用 z 分数。

  z 分数是数据点与平均值的标准差数。更重要的是,高于或低于总体平均值的标准差的数量来自原始分数。z-score 的计算方法如下:

  通过将另外两条线 处,我们可以清楚地看到,在大多数情况下,与平均值的任何大背离最终都会收敛。这正是我们想要的配对交易策略。

  在进行任何类型的交易策略时,明确定义和描述实际进行交易的时间点总是很重要的。例如,我需要买卖特定股票的最佳指标是什么?

  我们将使用我们创建的比率时间序列来查看它是否告诉我们是在特定时间买入还是卖出。我们将首先创建一个预测变量

  配对交易信号的好处在于,我们不需要知道价格将走向的绝对信息,我们只需要知道它的走向:上涨或下跌。

  在训练和测试模型时,通常会有 70/30 或 80/20 的分割。我们只使用了 252 个点的时间序列(这是一年中的交易天数)。在训练和拆分数据之前,我们将在每个时间序列中添加更多数据点。

  我们需要找出哪些特征在确定比率移动的方向上实际上很重要。知道比率最终总是会恢复到均值,也许与均值相关的移动平均线和指标将很重要。

  标准正态分布的均值为 0,标准差为 1。从图中可以看出,很明显,如果时间序列超出均值 1 个标准差,则趋向于恢复到均值。使用这些模型,我们可以创建以下交易信号:

  R语言中的广义线性模型(GLM)和广义相加模型(GAM):多元(平滑)回归分析保险资金投资组合信用风险敞口

本站  本期总裁书单,我们来读麦嘉华(Meb Faber)的《全球资产配置》(英文书名Global Asset Allocation: A Survey of the World’s Top Asset Allocation Strategies,直译为“全球资产配置:全球资产配置策略调查”)

免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186

评论留言

发表评论