【量化策略】如何利用Python搭建套利策略

市场上几乎每种交易策略都试图利用两种普遍现象:趋势动能和均值回归。在本文中,我们将讨论交易的均值回归和均值回归策略。

本文涵盖以下关于量化交易主题:1. 什么是均值回归?
2. 均值回归策略

3. 配对交易原理
4. 资产相关性与数据协整
5. 交易策略货币对的选择
6. 使用Python进行货币对交易

7. 交易策略的优化和提升

什么是均值回归?在金融中,均值回归理论指出,证券价格和诸如利率之类的经济指标将倾向于恢复为历史均价。例如,许多投资者在首席执行官维沙尔·西卡(Vishal Sikka)辞职后股价暴跌时购买了Infosys股票,因为他们希望在解决管理问题后,Infosys股票在未来能够交易更高。均值回归原则可以应用于基本因素,例如购买低PE的股票并期望PE升至历史平均PE或行业PE。价值投资者通常采用这种方法来购买股票以进行长期投资。同样,可以使用技术指标来应用这些原理,以创建短期均值回归交易策略。

均值回归策略统计套利策略使用均值回归原理来利用一组证券之间的价格低效率。它是量化交易策略中流行的策略之一。

统计套利交易策略有多种类型:方向性趋势交易在方向性趋势交易中,每种策略工具的信号均独立于其他金融工具的运用。例如,在过去的一个月中,原油价格上涨了2美元。没有任何重大新闻或因素,原油价格变化了20美元。根据均值回归原理,可以预期原油价格在未来几天会下跌,从而使原油价格的平均变化保持不变,交易者可以利用这一机会。

基于多种信号的投资组合交易在这种类型的交易策略中,交易信号取决于两个或多个协整信号。货币对交易是这种类型的交易方式中最著名的例子之一。由于我们使用两种协整工具进行交易,这个被称为配对交易(pair trading)。但这并不总是一对,也可以是三组货币对配对,甚至是更多的货币对。如果找到我们找到五只股票的协整性,并组成一个投资组合并进行交易。

本文将重点介绍配对交易的概念以及基于该概念的交易策略。

配对套利交易原理
假设投资者找到有类似基本面的金融工具,并且具有相似的行业经济联系以及相关度。例如,Google和Microsoft或Facebook和Twitter等股票,那么这些股票可以组成股票对进行匹配套利。

由于这些股票的基本面相似,因此交易者期望这两支股票的涨幅/跌幅相似。投资者还希望此类股票的比率或价差随时间保持不变。但是,由于需求和供应的暂时变化以及其他因素,这对货币对之间的价差可能会出现差异。

在这种情况下,一种股票安全性优于另一种。根据均值回复原则,交易者希望这个股票对的价差会随着时间恢复为正常并且逐渐修复。在这种情况下,当存在时间差异时,交易者可以执行货币对套利。那就是买表现不佳的证券,卖出表现不佳的证券。

相关性与协整度大多数人对资产之间的相关性和协整性感到困惑,这些投资者经常认为这些资产的相关性和协整度是相同,但是事实并非如此。当两个价格序列沿相同或相反的方向移动时,价格序列之间存在一定的相关性。如果一个价格序列沿向上或向下方向移动,而其他价格序列也沿相同方向移动,则它们之间存在正相关关系。当一个价格系列向上或向下移动时,另一个价格系列相反,则两个价格系列呈负相关。协整度是关于几只股票(两个或多个)价格序列的统计属性,它指示该序列的线性组合是否固定,然后两个序列相互协整。例如,如果两个股票的线性组合是固定的,则两个股票彼此具有协整关系。如果价格序列的均值和方差在一段时间内是恒定的,则称其为平稳的。

关于协整度的统计检验:增强的dickey fuller*或ADF检验是协整的统计检验之一。在Python中,可以通过statsmodels库轻松完成此操作。正如配对交易的原理所解释的,股票之间的比率或价差必须随着时间的推移收敛到均值,配对交易才能起作用。也就是说,两个股票必须之间具有整合度。

仅查看股票之间的相关性可能会给交易者带来巨大误导,因为这两只股票的价格可能会持续上涨,而不会发生均值回归。

让我们定义两个价格序列,以使它们相互关联,而不是仅仅去寻找协整度。

*在统计学里,迪基-福勒检验(Dickey-FullerTest)可以测试一个自回归模型是否存在单位根(unit root)。迪基-福勒检验模式是D. A迪基和W. A福勒建立的。

Correlated Series (相关度序列)

通过查看两个价格序列,它们似乎相互关联,但是协整度又如何呢?对于两个价格序列要进行协整,两个价格序列之间的价差/比率应该是固定的。让我们来看看以上系列之间的区别。

不平稳的数据序列

价差正在扩大,从结果可以明显看出,两个价格序列是相关的,而不是协整的。因此,我们可以得出结论,价格可以关联但不能协整。

现在考虑另一种价格是协整但不相关的情况。

不相关的价格序列
似乎两个价格序列之间没有关联,因为它们之间似乎没有关联。
但是数据的协整度呢?

平稳度序列

价差在-10到+10之间徘徊。因此,我们可以说两个价格序列可以协整而不相关。在进行货币对交易之前,我们需要检查价格序列是否是协整的,以便它们的价差/比率恢复为均值。

如何选择股票对并进行套利?假设投资者有大量的股票。第一步是根据市值,行业,每日交易量等对股票进行分类。分离之后,投资者可以检查每组证券之间的相关性。相关性有助于将对的数量过滤到更易于管理的集合中。一旦将证券分为一小组,就可以检查组中的协整对,然后选择协整对。

如何选择外汇对?在外汇中选择货币对的基本思路与股票相似。我们需要找到经济基础相似的国家。一些合适的候选标的物是
1. 欧元/美元和瑞士法郎/美元,
2. 澳元/美元和加元/美元或
3. USD / KRW(美元/韩元)和USD / HKD(美元/港元)。
这些货币对与欧元属于同一经济区,瑞士法郎属于欧元区。在货币市场上进行货币对交易有其优势,例如货币的流动性较高,从而降低了交易成本。

如何在期货市场中选择货币对?在期货市场上,即使有相似的风险敞口,也没有很多好的货币对。这可能是由于需求和供应的差异。因此,在期货交易中,交易者不能仅仅依靠经济敞口来选择货币对。

通过Python进行货币对交易在Python中实现配对交易的步骤:1. 选择外汇对
2. 计算比率并检查协整
3. 创建功能以生成交易信号
4. 定义入场位和出场位

5. 计算PNL(资产组合表现)步骤1-选择外汇对如上所述,我们选择具有相似经济基本面的货币对。欧元和瑞士法郎都属于相似的经济区,因此我们从这对开始,但我们不能仅仅依靠基本面因素。

步骤2-计算盈亏比率并检查协整度

当我们计算货币对之间的比率,如果比率是固定的,那么我们可以说货币对是协整的。我们正在使用ADF测试来检查该比率是否固定。使用ADF测试时要记住的一件事是,通过更改比率的顺序可以更改测试结果。

我们用ADF方法检验的EURUSD / CHFUSD比率的p值小于0.05的显着性水平。因此,可以说比率是固定的。但是,CHFUSD / EURUSD的比率的p值大于0.05的显着性水平。因此,该比率不是固定的。我们将使用EURUSD / CHFUSD比率进行货币对交易,让我们看一下协整比率,以确保这个选择是合理的。

第3步-创建交易信号

从统计角度来看,绝对比率不是很有用。通过上面的比率图可以看出,它看起来确实像在稳定均值附近移动,那么我们需要统一这些比率,而这个是通过z标准分来完成的。

Z标准分的定义为:Z分数=(值-平均值)/标准

现在,可以更容易地观察到比率围绕均值移动,但是有时它会偏离均值,这是我们可以利用的。

第4步-定义入场为和出场位如果z标准分超过下限阈值,则我们在达到均值时购买并退出该头寸,那么如果z得分超过上限阈值,则当其达到均值时我们将出售并退出该头寸。

第五步- 计算利润亏损

交易策略的提升和优化交易者可以使用移动平均值和标准偏差的回溯期的不同值来进一步优化该策略。产生交易信号的功能我们用来定义进入和退出位置的功能是z标准分。交易者可以使用z-score的其他变体,例如:z标准分:(15天移动平均值-50天移动平均值)/ 50天标准差另一种方法是将布林带用于信号生成。止损:交易者可以将止损设置为高于和低于阈值水平。例如,在上述策略中,设置的阈值为正负2个标准差。交易者可以将止损设置为正负3个标准偏差。当比率/价差超过该阈值时,交易者可以退出该头寸。另一种方法是在遇到前缀亏损时退出头寸。

交易仓位的持有期交易者可以将头寸保留一天,一周或一个月,然后再退出。可以使用一个称为“半衰期”的概念来确定交易者可以保持该职位多长时间。它表明将时间序列恢复为均值要花费多长时间。它给出了特定交易的预期持有期的概念。

(0)

相关推荐