拓端tecdat|R语言用回归构建配对交易(Pairs Trading)策略量化模型分析股票收益和价格
原文链接: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(Tckelegend('toprigh}
GLD 和 GDX 联动
该图显示相对于某个日期收益。现在,我们的计划是,当它们离得太远时,做多一个,做空另一个。那有什么问题呢?
右下方的图显示,在过去一年中,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大...
为了解决这个问题,正在做的是估计这两个组成部分之间的关系。用回归法来做: 是我需要从 补偿 移动的资金。我们运行。
尽管这种方法很有吸引力,但它远非“久经考验”。首先,我们应该使用收益还是实际价格?学院喜欢前者,实践者喜欢后者。如果您想知道,情况就不一样了:
plot(Tc[,i,2]) ~ na.omit(Tkr[,i,1]lm )abline(lm)
上图是基于价格的估计,它表明我应该为每 1 个GLD 做多 0.317个 GDX 。下图显示了基于收益的相同估计,GDX 的每个百分比平均有 1.66 个GLD 中的百分比。
更重要的是,上述的回归受到了基本假设的影响,即右边的变量是常数,而左边的变量是随机的,它有一个误差项。事实上,也是随机的,所以当我们切换回归中的变量时,在 "Y "插入GDX,我们得到不同的结果。
可以看到结果有所变化,GLD不是一个给定的常数,而是它本身就是一个随机变量。
随着时间的推移不是恒定的,所以我不知道要使用多少观察。看看:
如果您颠倒 LHS 和 RHS 变量的顺序,收益当然也是如此。
可能的解决方案是考虑您的投资时间范围,例如,如果您计划持有几个月,您可以使用 365 天测试。我还尝试对观察结果进行加权,来确定我应该从每个观察中保留多少。
在理论上,理论和实践之间有很强的联系,但在实践中却没有。我在这里展示了配对交易中的一些问题。首先,我们不知道应该用哪种方法来估计关系,是价格还是收益。其次,我们不知道使用哪个时间段,由于关系不是恒定的,所以这很重要。
最受欢迎的见解
1.R语言对S&P500股票指数进行ARIMA + GARCH交易策略
2.R语言改进的股票配对交易策略分析SPY—TLT组合和中国股市投资组合
3.R语言时间序列:ARIMA GARCH模型的交易策略在外汇市场预测应用
4.TMA三均线期指高频交易策略的R语言实现
5.r语言多均线量化策略回测比较
6.用R语言实现神经网络预测股票实例
7.r语言预测波动率的实现:ARCH模型与HAR-RV模型
8.R语言如何做马尔科夫转换模型markov switching model
9.matlab使用Copula仿真优化市场风险
拓端tecdat|R语言用回归构建配对交易(Pairs Trading)策略量化模型分析股票收益和价格相关推荐
- 拓端tecdat|R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险
最近我们被客户要求撰写关于冠心病风险的研究报告,包括一些图形和统计输出. 相关视频:R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险 逻辑回归Logistic模型原理和R语言分类预测冠 ...
- 拓端tecdat|R语言用LOESS(局部加权回归)季节趋势分解(STL)进行时间序列异常检测
最近我们被客户要求撰写关于LOESS(局部加权回归)的研究报告,包括一些图形和统计输出. 这篇文章描述了一种对涉及季节性和趋势成分的时间序列的中点进行建模的方法.我们将对一种叫做STL的算法进行研究, ...
- 拓端tecdat|R语言线性回归和时间序列分析北京房价影响因素可视化案例
最近我们被客户要求撰写关于北京房价影响因素的研究报告,包括一些图形和统计输出. 目的 房价有关的数据可能反映了中国近年来的变化: 人们得到更多的资源(薪水),期望有更好的房子 人口众多 独生子女政策: ...
- 拓端tecdat|R语言向量误差修正模型 (VECMs)分析长期利率和通胀率影响关系
最近我们被客户要求撰写关于向量误差修正模型的研究报告,包括一些图形和统计输出. 向量自回归模型估计的先决条件之一是被分析的时间序列是平稳的.但是,经济理论认为,经济变量之间在水平上存在着均衡关系,可以 ...
- R语言logistic回归、判别分析(LDA)、多元自适应样条回归MARS分析案例:分析乳腺癌数据集明确细针穿刺肿瘤活检结果
R语言logistic回归.判别分析(LDA).多元自适应样条回归MARS分析案例:分析乳腺癌数据集明确细针穿刺肿瘤活检结果 目录
- R语言广义矩量法GMM和广义经验似然GEL估计ARMA、CAPM模型分析股票收益时间序列
最近我们被客户要求撰写关于股票收益时间序列的研究报告,包括一些图形和统计输出. 本文展示了如何通过矩量的广义方法和广义经验似然来估计模型.对这两种方法的理论方面进行了简要讨论,并通过经济学和金融学中的 ...
- R语言caret包构建机器学习回归模型(regression model)、使用DALEX包进行模型解释分析、特征重要度、偏依赖分析等
R语言caret包构建机器学习回归模型(regression model).使用DALEX包进行模型解释分析.特征重要度.偏依赖分析等 目录
- R语言使用xgboost构建回归模型:vtreat包为xgboost回归模型进行数据预处理(缺失值填充、缺失值标识、离散变量独热onehot编码)、构建出生体重的xgboost模型回归模型
R语言使用xgboost构建回归模型:vtreat包为xgboost回归模型进行数据预处理(缺失值填充.缺失值标识.离散变量独热onehot编码).构建出生体重的xgboost模型回归模型 目录
- R语言splines包构建基于logistic回归的自然样条分析:南非心脏病数据集、非线性:基函数展开和样条分析、你简单分析的不重要特征,可能只是线性不显著、而非线性是显著的
R语言splines包构建基于logistic回归的自然样条分析:南非心脏病数据集.非线性:基函数展开和样条分析.你简单分析的不重要特征,可能只是线性不显著.而非线性是显著的 目录
- R语言基于glmnet构建Logistic回归模型使用L1正则化并可视化系数及最佳lambda值
R语言基于glmnet构建Logistic回归模型使用L1正则化并可视化系数及最佳lambda值 Glmnet主要用于拟合广义线性模型.筛选可以使loss达到最小的正则化参数lambda.该算法非常快 ...
最新文章
- Python基础教程:一个单列split转换为多行的练习题
- EJB(Enterprise Java Bean)存在的问题
- hdu 6962 I love tree 线段树维护二次函数
- java后台工具类-通过交易码获得方法名
- denison php,Parker / Denison丹尼逊柱塞泵首相系列相关说明
- matlab检测串口数据帧头,MATLAB 串口读取姿态数据及GUI实时动态显示设计
- 服务器操作系统分两大类,服务器的操作系统分哪几类
- 简单python数据获取分析_python学习——简单数据分析
- CentOS7编译安装libc++和libc++abi
- 匹配数据库 帆软 查询条件_帆软报表学习笔记①——根据参数查询
- Stanford CS224N: PyTorch Tutorial (Winter ‘21) —— 斯坦福CS224N PyTorch教程 (第三部分)
- 《线性代数》 李炯生\查建国\王新茂 中国科学技术大学 第2版 部分习题答案
- VS2015 自动代码补全
- linux系统装psp,如何在Linux中玩PSP游戏
- Xshell 4登录脚本
- github图书馆座位预约_我们在Github上分析了60,678个图书馆–这是前100名
- 第0讲:树莓派是什么?能做什么?
- Html —— 获取输入框input的值
- android技术需求,支撑你各种安卓相机开发需求CameraView
- 世纪金文oracle,21世纪双语新闻(MP3+字幕):一片甲骨天下惊,甲骨文的意义何在?...