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

原文出处:拓端数据部落公众号

使用LASSO预测收益

1.示例

只要有金融经济学家,金融经济学家一直在寻找能够预测股票收益的变量。对于最近的一些例子,想想Jegadeesh和Titman(1993),它表明股票的当前收益是由前几个月的股票收益预测的,侯(2007),这表明一个行业中最小股票的当前回报是通过行业中最大股票的滞后回报预测,以及Cohen和Frazzini(2008),这表明股票的当前回报是由其主要客户的滞后回报预测的。

相关 视频:Lasso回归、岭回归等正则化回归数学原理及R语言实例

Lasso回归、岭回归等正则化回归数学原理及R语言实例

两步流程。当你考虑它时,找到这些变量实际上包括两个独立的问题,识别和估计。首先,你必须使用你的直觉来识别一个新的预测器,然后你必须使用统计来估计这个新的预测器的质量:

但是,现代金融市场庞大。可预测性并不总是发生在易于人们察觉的尺度上,使得解决第一个问题的标准方法成为问题。例如,联邦信号公司的滞后收益率是2010 年10月一小时内所有纽约证券交易所上市电信股票的重要预测指标。你真的可以从虚假的预测指标中捕获这个特定的变量吗?

2.使用LASSO

LASSO定义。LASSO是一种惩罚回归技术,在Tibshirani(1996)中引入。它通过投注稀疏性来同时识别和估计最重要的系数,使用更短的采样周期 - 也就是说,假设在任何时间点只有少数变量实际上很重要。正式使用LASSO意味着解决下面的问题,如果你忽略了惩罚函数,那么这个优化问题就只是一个OLS回归。

相关 视频:Lasso回归、岭回归等正则化回归数学原理及R语言实例

Lasso回归、岭回归等正则化回归数学原理及R语言实例

惩罚函数。

但是,这个惩罚函数是LASSO成功的秘诀,允许估算器对最大系数给予优先处理,完全忽略较小系数。为了更好地理解LASSO如何做到这一点,当右侧变量不相关且具有单位方差时 。一方面,这个解决方案意味着,如果OLS估计一个大系数,那么LASSO将提供类似的估计。另一方面,解决方案意味着,如果OLS估计了足够小的系数,那么LASSO将会选择。因为LASSO可以将除少数系数之外的所有系数设置为零,即使样本长度比可能的预测变量的数量短得多,它也可用于识别最重要的预测变量。如果只有预测变量非零,那么你应该只需要几个 观察选择然后估计这几个重要系数的大小。

3.模拟分析

我运行模拟来展示如何使用LASSO来预测未来的回报。您可以在原文找到所有相关代码。

数据模拟。每次模拟都涉及为期间的股票产生回报。每个时期,所有股票的回报都受到一部分股票的回报,以及特殊冲击的影响

使模型适合数据。这意味着使用时间段来估计具有潜在变量的模型。我估计了一个OLS回归真正的预测因子是右侧变量。显然,在现实世界中,你不知道真正的预测变量是什么,但是这个规范给出了你可以达到的最佳拟合的估计。在将每个模型拟合到先前的数据之后,然后我在st期间进行样本外预测。

预测回归。然后,我通过分析一系列预测回归分析调整后的统计数据,检查这些预测与第一个资产的实现回报的紧密程度。例如,我将LASSO的回报预测用于估算下面的回归

4.调整参数

惩罚参数选择。使LASSO拟合数据涉及选择惩罚参数。我这样做是通过选择在数据的第一个时段期间具有最高样本外预测的惩罚参数。这就是为什么上面的预测回归仅使用从而不是使用数据开始的原因。下图显示了模拟中惩罚参数选择的分布。

预测数量。最后,如果你看一下调整后数字中标有“Oracle”的面板,你会发现LASSO的样本外预测能力大约是真实模型预测能力的三分之一。这是因为LASSO没有完美地选择稀疏信号。下图的右侧面板显示LASSO通常只选出这些信号中最重要的信号。更重要的是,左侧面板显示LASSO还锁定了大量的虚假信号。这一结果表明,您可以通过选择更高的惩罚参数来提高LASSO的预测能力。

5.什么时候失败?

测试。我通过研究两个替代模拟来结束这篇文章,其中LASSO不应该增加任何预测能力。也就是说,使用下面的模型模拟股票的收益,

下图显示,在这两种情况下,LASSO都不会增加任何预测能力。因此,运行这些模拟提供了一对不错的测试,显示LASSO确实在返回的横截面中拾取稀疏信号。

obj.gg2.PLOT <- obj.gg2.PLOT + scale_y_continuous(limits = c(0, 0.40),breaks = c(0, 0.10, 0.20, 0.30, 0.40),labels = c("$0.00$","$0.10$", "$0.20$", "$0.30$", "$0.40$"))
obj.gg2.PLOT <- obj.gg2.PLOT + theme(plot.margin      = unit(c(1,0.15,-0.85,0.15), "lines"),axis.text        = element_text(size = 10),axis.title       = element_text(size = 10),plot.title       = element_text(vjust = 1.75),panel.grid.minor = element_blank(),legend.position  = "none")obj.gg2.PLOT <- obj.gg2.PLOT + ggtitle("Adjusted $R^2$ Distribution: Dense Shocks")print(obj.gg2.PLOT)
dev.off()

 


最受欢迎的见解

1.用机器学习识别不断变化的股市状况—隐马尔科夫模型(HMM)的应用

2.R语言GARCH-DCC模型和DCC(MVT)建模估计

3.R语言实现 Copula 算法建模依赖性案例分析报告

4.R语言使用ARIMA模型预测股票收益

5.r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现

6.用R语言实现神经网络预测股票实例

7.r语言预测波动率的实现:ARCH模型与HAR-RV模型

8.R语言如何做马尔科夫转换模型markov switching model

拓端tecdat|R使用LASSO回归预测股票收益相关推荐

  1. R使用LASSO回归预测股票收益

    使用LASSO预测收益 1.示例 只要有金融经济学家,金融经济学家一直在寻找能够预测股票收益的变量.对于最近的一些例子,想想Jegadeesh和Titman(1993),它表明股票的当前收益是由前几个 ...

  2. r语言 python 股票_R语言使用LASSO回归预测股票收益

    使用LASSO预测收益 1.示例 只要有金融经济学家,金融经济学家一直在寻找能够预测股票收益的变量.对于最近的一些例子,想想Jegadeesh和Titman(1993),它表明股票的当前收益是由前几个 ...

  3. python趋势回归_python使用LASSO回归预测股票收益

    2.使用LASSO LASSO定义.LASSO是一种惩罚回归技术,在Tibshirani(1996)中引入.它通过投注稀疏性来同时识别和估计最重要的系数,使用更短的采样周期 - 也就是说,假设在任何时 ...

  4. 拓端tecdat|R语言用LOESS(局部加权回归)季节趋势分解(STL)进行时间序列异常检测

    最近我们被客户要求撰写关于LOESS(局部加权回归)的研究报告,包括一些图形和统计输出. 这篇文章描述了一种对涉及季节性和趋势成分的时间序列的中点进行建模的方法.我们将对一种叫做STL的算法进行研究, ...

  5. 拓端tecdat|R语言向量误差修正模型 (VECMs)分析长期利率和通胀率影响关系

    最近我们被客户要求撰写关于向量误差修正模型的研究报告,包括一些图形和统计输出. 向量自回归模型估计的先决条件之一是被分析的时间序列是平稳的.但是,经济理论认为,经济变量之间在水平上存在着均衡关系,可以 ...

  6. 拓端tecdat|R语言线性回归和时间序列分析北京房价影响因素可视化案例

    最近我们被客户要求撰写关于北京房价影响因素的研究报告,包括一些图形和统计输出. 目的 房价有关的数据可能反映了中国近年来的变化: 人们得到更多的资源(薪水),期望有更好的房子 人口众多 独生子女政策: ...

  7. 拓端tecdat|R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险

    最近我们被客户要求撰写关于冠心病风险的研究报告,包括一些图形和统计输出. 相关视频:R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险 逻辑回归Logistic模型原理和R语言分类预测冠 ...

  8. 拓端tecdat荣获掘金社区入驻新人奖

    2021年7月,由掘金发起了"入驻成长礼"颁奖活动.本次活动邀请到知名开发者.服务机构代表等业界人士. 据了解,掘金社区"新入驻创作者礼"主要对已经积累了一定历 ...

  9. 拓端tecdat荣获2022年度51CTO博主之星

    相信技术,传递价值,这是51CTO每一个技术创作者的动力与信念,2022 年度,拓端tecdat 作为新锐的数据分析咨询公司,在51CTO平台上,不断的输出优质的技术文章,分享前沿创新技术,输出最佳生 ...

  10. 拓端tecdat|bilibili视频流量数据潜望镜

    最近我们被客户要求撰写关于bilibili视频流量的研究报告,包括一些图形和统计输出. 最新研究表明,中国有超过7亿人在观看在线视频内容.Bilibili,被称为哔哩哔哩或简称为B站,是中国大陆第二个 ...

最新文章

  1. 机器人学习--全局定位(阿尔伯塔大学张宏教授报告)
  2. Android资源文件在配置文件中的使用
  3. 求凸包(两遍扫描,求上下凸包的方法)
  4. mysql提示太多连接_mysql数据库提示连接太多怎么办
  5. cdh中使用hue使用教程_我可以在户外使用Philips Hue灯泡吗?
  6. Class类中的getEnclosing*、getDeclared*与getDeclaringClass的区别
  7. 如果谁和飞鸽传书讨论这两个问题
  8. 4 读写文件_和尧名大叔一起从0开始学Python编程-简单读写文件
  9. 95-240-052-原理-State-MemoryStateBackend
  10. 《正则表达式必知必会》读书笔记【语法整理】
  11. Bailian4034 选择客栈【序列处理】
  12. iOS开发——源代码管理——git(分布式版本控制和集中式版本控制对比,git和SVN对比,git常用指令,搭建GitHub远程仓库,搭建oschina远程仓库 )...
  13. 美国对华贸易逆差及其为何如此之高
  14. 人机交互_学习总结(理论部分)
  15. python股票交易接口-C++和C#调用
  16. java实现消息提醒功能,终于彻底把握了
  17. PMP考试计算专题——网络图
  18. Java代码审计(7)Sql注入审计
  19. 怎么判断两个工程师谁的代码能力强?【改编】
  20. 17位韩国美女17种味道(看看你喜欢那种?)

热门文章

  1. 粒子滤波与PF目标追踪
  2. C++--第8课 - 类中的封装
  3. C++中static关键字用法详解
  4. Python 多进程multiprocessing
  5. Rosalind工具库:使用EMBOSS处理生物数据
  6. Django学习笔记-MySQL
  7. 【安全牛学习笔记】初识sql注入漏洞原理
  8. HTTP 请求头(首部)一览表
  9. sedna进行xquery查询
  10. MySql_SQLyog快捷键