拓端tecdat|R語言分位數(shù)回歸預(yù)測篩選有上升潛力的股票
原文鏈接:http://tecdat.cn/?p=18984?
現(xiàn)在,分位數(shù)回歸已被確立為重要的計(jì)量經(jīng)濟(jì)學(xué)工具。與均值回歸(OLS)不同,目標(biāo)不是給定x的均值,而是給定x的一些分位數(shù)。您可以使用它來查找具有良好上升潛力的股票。您可能會(huì)認(rèn)為這與股票的beta有關(guān),但是beta與OLS相關(guān),并且是對稱的。如果市場出現(xiàn)上漲,高beta股票將獲得上行波動(dòng)的收益,但對稱地,當(dāng)市場下跌時(shí),您可能會(huì)遭受巨額虧損。
使用下圖最好地理解分位數(shù)回歸的用法:

繪制的是股票收益。藍(lán)線是OLS擬合值,紅線是分位數(shù)(80%和20%)擬合值。
在上部面板中,您可以看到,當(dāng)市場上漲時(shí)(X軸上的正值很高),Y軸上的分散很大。當(dāng)市場下跌時(shí),相對的分散程度而言較大。在底部面板中,情況相反。當(dāng)市場上漲時(shí),您“非常了解”股票會(huì)發(fā)生什么,但是當(dāng)市場處于下跌時(shí),股票收益的不確定性就會(huì)降低??紤]到其他因素,您希望投資組合中包含高位股票。當(dāng)市場上漲時(shí),它們收益很好,但同時(shí)在下跌的過程中提供相對的確定性。
以下代碼讀取股票行情,并找到最佳比率,即:上行時(shí)分散度高,而下行時(shí)分散度低:
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)
我們使用樣本的前半部分來選擇我們要使用的股票。假設(shè)我們以最差的比率做空股票,并以最佳的比率做多股票。
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 = "樣本外時(shí)期",)

從結(jié)果可以看到模型有較好的表現(xiàn)。
?

最受歡迎的見解
1.用機(jī)器學(xué)習(xí)識(shí)別不斷變化的股市狀況—隱馬爾科夫模型(HMM)的應(yīng)用
2.R語言GARCH-DCC模型和DCC(MVT)建模估計(jì)
3.R語言實(shí)現(xiàn) Copula 算法建模依賴性案例分析報(bào)告
4.R語言COPULAS和金融時(shí)間序列數(shù)據(jù)VaR分析
5.R語言多元COPULA GARCH 模型時(shí)間序列預(yù)測
6.用R語言實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)預(yù)測股票實(shí)例
7.r語言預(yù)測波動(dòng)率的實(shí)現(xiàn):ARCH模型與HAR-RV模型
8.R語言如何做馬爾科夫轉(zhuǎn)換模型markov switching model
9.matlab使用Copula仿真優(yōu)化市場風(fēng)險(xiǎn)