关于数据挖掘:R语言分位数回归预测筛选有上升潜力的股票

27次阅读

共计 1504 个字符,预计需要花费 4 分钟才能阅读完成。

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

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

当初,分位数回归已被确立为重要的计量经济学工具。与均值回归(OLS)不同,指标不是给定 x 的均值,而是给定 x 的一些分位数。您能够应用它来查找具备良好回升后劲的股票。您可能会认为这与股票的 beta 无关,然而 beta 与 OLS 相干,并且是对称的。如果市场呈现上涨,高 beta 股票将取得上行稳定的收益,但对称地,当市场上涨时,您可能会蒙受巨额亏损。

应用下图最好地了解分位数回归的用法:

绘制的是股票收益。蓝线是 OLS 拟合值,红线是分位数(80%和 20%)拟合值。

在上部面板中,您能够看到,当市场上涨时(X 轴上的正值很高),Y 轴上的扩散很大。当市场上涨时,绝对的扩散水平而言较大。在底部面板中,状况相同。当市场上涨时,您“十分理解”股票会产生什么,然而当市场处于上涨时,股票收益的不确定性就会升高。思考到其余因素,您心愿投资组合中蕴含高位股票。当市场上涨时,它们收益很好,但同时在上涨的过程中提供绝对的确定性。

以下代码读取股票行情,并找到最佳比率,即:上行时分散度高,而上行时分散度低:

dat0 = getSymbols(sy\[1\], src="yahoo", from=start, to=end, 

 auto.assign = F, warnings = FALSE,symbol.lookup = F)



#查问最近 365 天:dat <- gtint(sym = c(tickers,"SPY"),365) 

# 将样品划分成两局部





ins <- n/2

# 在 0.2 和 0.8 之间查找斜率 





Tau = c(.2,.8)



for (j in 1:(l-1)

for (i in 1:length(Tau)

  qslope\[i,j\] = rq(dat$ret\[2:ins,j~dat$ret\[2:ins,l, tau = Tau\[i\])$coef\[2\]



 

# 确定哪些股票有用:dat$ret <- dat$ret\[,rat0<2 & rat0>(-2)\]

 

## 画图



plot(dat$ret\[1:ins,which.max(rat)\]~dat$ret\[1:ins,l\]

 

plot(dat$ret\[1:n,which.min(rat)\]~dat$ret\[1:n,l\],

title(nam)

咱们应用样本的前半部分来抉择咱们要应用的股票。假如咱们以最差的比率做空股票,并以最佳的比率做多股票。

dat$p <- dat$p\[,rat0<2 & rat0>(-2)\]

plot(dat$p\[1:ins,l\]/dat$p\[1,l\], ty = "l", ylim = c(.8,1.5),



plot(dat$p\[ins:n,l\]/dat$p\[ins,l\], ty = "l", ylim = c(.8,1.5), xlab = "样本外期间",)

从后果能够看到模型有较好的体现。


 

最受欢迎的见解

1. 用机器学习辨认一直变动的股市情况—隐马尔科夫模型 (HMM) 的利用的利用 ”)

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

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

4.R 语言 COPULAS 和金融工夫序列数据 VaR 剖析

5.R 语言多元 COPULA GARCH 模型工夫序列预测

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

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

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

9.matlab 应用 Copula 仿真优化市场危险

正文完
 0