R语言用回归构建配对交易(Pairs Trading)策略量化模型分析股票收益和价格

科技   科技   2024-12-31 17:42   上海  

原文链接:http://tecdat.cn/?p=25898

对于那些不熟悉“配对交易”概念的人来说几句话。首先,您应该了解,每只股票的走势不是由公司业绩主导,而是由总体市场走势主导。这就是许多“因子模型”的由来,驱动每只股票的因素是 _市场因素_,在大多数情况下,它与标准普尔指数近似。

因此,无论多么伟大的公司,它都经不起任何大规模的市场衰退。假设这样做,买入AMZN并卖出标准普尔指数(SPY),如果指数上涨,我就会亏损,因为我做空了它,但我希望AMZN会上涨,来补偿我在指数上的损失。AMZN应该上涨,因为市场上涨了,而且它是一家好公司。反之,指数下跌,那么我就赢了,因为我做空了指数,我希望AMZN不会下跌那么多,吃掉我所有的利润。AMZN没有因为市场而下降,但会上升,因为它是一家好公司。这样一来,我就表达了我对AMZN的看法,而没有承担因素/市场风险。所谓 "配对交易",是因为我在做多和做空一对股票。这是对什么是配对交易的直白解释。

以下面这对黄金(GLD)和黄金矿工(GDX)为例,这是一个教科书式的例子,是一对 "一起走 "的组合。基本上,当黄金价格上涨时(GLD上涨),黄金矿工应该受益,所以GDX也应该上涨。请看一下。

for (i in 1:4){
  plot(na.omit(Tiesy = 1)    
  
  points(na.omit(Tcke
  
  legend('toprigh}

GLD 和 GDX 联动



点击标题查阅往期内容


R语言对S&P500股票指数进行ARIMA + GARCH交易策略


左右滑动查看更多


01

02

03

04


该图显示相对于某个日期收益。现在,我们的计划是,当它们离得太远时,做多一个,做空另一个。那有什么问题呢?

右下方的图显示,在过去一年中,GLD的表现比GDX好得多。我想做空GLD,做多GDX,坐等收敛。我应该做多多少,做空多少?一比一?肯定是错的,因为GDX的价格是52.68,GLD的价格是155.23。也许把股票的数量相等,这样我在每个ETF中的多头和空头正好是10000元,所以做多188个GDX,做空64个GLD。然而,是不是其中一个增加1%,另一个就会增加1%?问题是,如果GLD上涨1%,GDX上涨1.5%,那么我需要持有1.5倍的GLD来保持我的价差不变,这很重要。举个例子,假设我持有相同的价值,做空GLD 10000,做多GDX 10000,但是这两者之间的关系是,当GDX上涨1%,GLD上涨1.5%。当它们共同上涨时,我的损益会发生什么?我的损失是0.5%,因为我做空GLD,而GLD的涨幅比GDX大...

为了解决这个问题,正在做的是估计这两个组成部分之间的关系。用回归法来做: 是我需要从  补偿 移动的资金。我们运行。 

尽管这种方法很有吸引力,但它远非“久经考验”。首先,我们应该使用收益还是实际价格?学院喜欢前者,实践者喜欢后者。如果您想知道,情况就不一样了:

上图是基于价格的估计,它表明我应该为每 1 个GLD 做多 0.317个 GDX 。下图显示了基于收益的相同估计,GDX 的每个百分比平均有 1.66 个GLD 中的百分比。

更重要的是,上述的回归受到了基本假设的影响,即右边的变量是常数,而左边的变量是随机的,它有一个误差项。事实上,也是随机的,所以当我们切换回归中的变量时,在 "Y "插入GDX,我们得到不同的结果。

可以看到结果有所变化,GLD不是一个给定的常数,而是它本身就是一个随机变量。 

 随着时间的推移不是恒定的,所以我不知道要使用多少观察。看看:

如果您颠倒 LHS 和 RHS 变量的顺序,收益当然也是如此。

可能的解决方案是考虑您的投资时间范围,例如,如果您计划持有几个月,您可以使用 365 天测试。我还尝试对观察结果进行加权,来确定我应该从每个观察中保留多少。

在理论上,理论和实践之间有很强的联系,但在实践中却没有。我在这里展示了配对交易中的一些问题。首先,我们不知道应该用哪种方法来估计关系,是价格还是收益。其次,我们不知道使用哪个时间段,由于关系不是恒定的,所以这很重要。


 




本文摘选R语言用回归构建配对交易(Pairs Trading)策略量化模型分析股票收益和价格,点击“阅读原文”获取全文完整资料。





点击标题查阅往期内容

R语言对S&P500股票指数进行ARIMA + GARCH交易策略
R语言ARMA GARCH COPULA模型拟合股票收益率时间序列和模拟可视化
ARMA-GARCH-COPULA模型和金融时间序列案例
时间序列分析:ARIMA GARCH模型分析股票价格数据
GJR-GARCH和GARCH波动率预测普尔指数时间序列和Mincer Zarnowitz回归、DM检验、JB检验
【视频】时间序列分析:ARIMA-ARCH / GARCH模型分析股票价格
时间序列GARCH模型分析股市波动率
PYTHON用GARCH、离散随机波动率模型DSV模拟估计股票收益时间序列与蒙特卡洛可视化
极值理论 EVT、POT超阈值、GARCH 模型分析股票指数VaR、条件CVaR:多元化投资组合预测风险测度分析
Garch波动率预测的区制转移交易策略
金融时间序列模型ARIMA 和GARCH 在股票市场预测应用
时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格
R语言风险价值:ARIMA,GARCH,Delta-normal法滚动估计VaR(Value at Risk)和回测分析股票数据
R语言GARCH建模常用软件包比较、拟合标准普尔SP 500指数波动率时间序列和预测可视化
Python金融时间序列模型ARIMA 和GARCH 在股票市场预测应用
MATLAB用GARCH模型对股票市场收益率时间序列波动的拟合与预测
R语言GARCH-DCC模型和DCC(MVT)建模估计
Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列
R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格
R语言ARIMA-GARCH波动率模型预测股票市场苹果公司日收益率时间序列
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模拟进行股价预测
R语言时间序列GARCH模型分析股市波动率
R语言ARMA-EGARCH模型、集成预测算法对SPX实际波动率进行预测
matlab实现MCMC的马尔可夫转换ARMA - GARCH模型估计
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模拟进行股价预测
使用R语言对S&P500股票指数进行ARIMA + GARCH交易策略
R语言用多元ARMA,GARCH ,EWMA, ETS,随机波动率SV模型对金融时间序列数据建模
R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析
R语言多元Copula GARCH 模型时间序列预测
R语言使用多元AR-GARCH模型衡量市场风险
R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格
R语言用Garch模型和回归模型对股票价格分析
GARCH(1,1),MA以及历史模拟法的VaR比较
matlab估计arma garch 条件均值和方差模型
R语言POT超阈值模型和极值理论EVT分析


欲获取全文文件,请点击左下角“阅读原文”。


欲获取全文文件,请点击左下角“阅读原文”。


拓端数据部落
拓端(tecdat.cn)创立于2016年,提供专业的数据分析与挖掘服务,致力于充分挖掘数据价值。
 最新文章