国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

R語言對(duì)S&P500股票指數(shù)進(jìn)行ARIMA + GARCH交易策略|附代碼數(shù)據(jù)

2022-11-01 17:05 作者:拓端tecdat  | 我要投稿

原文鏈接:http://tecdat.cn/?p=7207

在本文中,我想向您展示如何應(yīng)用S&P500股票市場(chǎng)指數(shù)的交易策略點(diǎn)擊文末“閱讀原文”獲取完整代碼數(shù)據(jù))。

通過組合ARIMA和GARCH模型,從長(zhǎng)期來看,我們可以超過“買入并持有”方法。

策略概述

該策略在“滾動(dòng)”預(yù)測(cè)的基礎(chǔ)上執(zhí)行:

  1. 對(duì)于每一天,股票指數(shù)的對(duì)數(shù)收益的前_k_天被用作擬合最佳ARIMA和GARCH模型的窗口。?

  2. 組合模型用于對(duì)第二天的收益進(jìn)行預(yù)測(cè)。

  3. 如果預(yù)測(cè)為負(fù),則在上一個(gè)收盤時(shí)做空股票,而如果預(yù)測(cè)為正,則做多。

  4. 如果預(yù)測(cè)與前一天的方向相同,則什么都不會(huì)改變。

策略實(shí)施

第一個(gè)任務(wù)是在R中安裝和導(dǎo)入必要的庫:

如果已經(jīng)安裝了庫,則可以簡(jiǎn)單地導(dǎo)入它們:

  1. > library(quantmod)

  2. > library(lattice)

  3. > library(timeSeries)

  4. > library(rugarch)

完成后,將把該策略應(yīng)用于S&P500。

然后,我們可以創(chuàng)建標(biāo)準(zhǔn)普爾500的“收盤價(jià)”的對(duì)數(shù)收益率差分序列,并去除初始NA值:

根據(jù)Akaike信息準(zhǔn)則,循環(huán)過程將為我們提供“最佳”擬合ARMA模型,然后我們可以將其用于輸入GARCH模型:

  1. > ? ? final.aic <- Inf

  2. > ? ? final.order <- c(0,0,0)

  3. > ? ? for (p in 0:5) for (q in 0:5) {

  4. > ? ? ? ? if ( p == 0 && q == 0) {

  5. > ? ? ? ? ? ? next

  6. > ? ? ? ? }

  7. >

  8. > ? ? ? ? arimaFit = tryCatch( arima(spReturnsOffset, order=c(p, 0, q)),

  9. > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?error=function( err ) FALSE,

  10. > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?warning=function( err ) FALSE )

  11. >

  12. > ? ? ? ? if( !is.logical( arimaFit ) ) {

  13. > ? ? ? ? ? ? current.aic <- AIC(arimaFit)

  14. > ? ? ? ? ? ? if (current.aic < final.aic) {

  15. > ? ? ? ? ? ? ? ? final.aic <- current.aic

  16. > ? ? ? ? ? ? ? ? final.order <- c(p, 0, q)

  17. > ? ? ? ? ? ? ? ? final.arima <- arima(spReturnsOffset, order=final.order)

  18. > ? ? ? ? ? ? }

  19. > ? ? ? ? } else {

  20. > ? ? ? ? ? ? next

  21. > ? ? ? ? }

  22. > ? ? }

如果GARCH模型無法收斂,那么我們只需將日期設(shè)置為產(chǎn)生“長(zhǎng)期”預(yù)測(cè) 。

為了準(zhǔn)備CSV文件的輸出,我創(chuàng)建了一個(gè)字符串,其中包含用逗號(hào)分隔的數(shù)據(jù),并帶有第二天的預(yù)測(cè)方向:

  1. > ? ? if(is(fit, "warning")) {

  2. > ? ? ? forecasts[d+1] = paste(index(spReturnsOffset[windowLength]), 1, sep=",")

  3. > ? ? ? print(paste(index(spReturnsOffset[windowLength]), 1, sep=","))

  4. > ? ? } else {

  5. > ? ? ? fore = ugarchforecast(fit, n.ahead=1)

  6. > ? ? ? ind = fore@forecast$seriesFor

  7. > ? ? ? forecasts[d+1] = paste(colnames(ind), ifelse(ind[1] < 0, -1, 1), sep=",")

  8. > ? ? ? print(paste(colnames(ind), ifelse(ind[1] < 0, -1, 1), sep=","))

  9. > ? ? }

  10. > }

倒數(shù)第二步是將CSV文件輸出 。

確保在與forecasts.csv文件相同的目錄中運(yùn)行:

forecasts?= open("forecasts.csv",?"r").readlines()

至此,我們已將更正的指標(biāo)文件存儲(chǔ)在中forecasts_new.csv。

策略結(jié)果

現(xiàn)在,我們已經(jīng)生成了指標(biāo)CSV文件,我們需要將其效果與“買入并持有”進(jìn)行比較。

我們首先從CSV文件中讀取指標(biāo)并將其存儲(chǔ)為spArimaGarch

然后,我們將ARIMA + GARCH預(yù)測(cè)的日期與S&P500的原始收益集相交。

一旦獲得ARIMA + GARCH策略的收益,就可以為ARIMA + GARCH模型和“買入并持有”創(chuàng)建資產(chǎn)曲線。最后,我們將它們合并為一個(gè)數(shù)據(jù)結(jié)構(gòu):

  1. > spArimaGarchCurve = log( cumprod( 1 + spArimaGarchReturns ) )

  2. > spBuyHoldCurve = log( cumprod( 1 + spIntersect[,2] ) )

  3. > spCombinedCurve = merge( spArimaGarchCurve, spBuyHoldCurve, all=F )

最后,我們可以在同一圖上繪制兩條收益曲線:

  1. > xyplot(

  2. > ? spCombinedCurve,

  3. > ? superpose=T,

  4. > ? col=c("darkred", "darkblue"),

  5. > ? lwd=2,

  6. > ? key=list(

  7. > ? ? text=list(

  8. > ? ? ? c("ARIMA+GARCH", "Buy & Hold")

  9. > ? ? ),

  10. > ? ? lines=list(

  11. > ? ? ? lwd=2, col=c("darkred", "darkblue")

  12. > ? ? )

  13. > ? )

  14. > )

資產(chǎn)曲線如下:

點(diǎn)擊標(biāo)題查閱往期內(nèi)容

R語言動(dòng)量交易策略分析調(diào)整后的數(shù)據(jù)

轉(zhuǎn)存失敗重新上傳取消

左右滑動(dòng)查看更多

轉(zhuǎn)存失敗重新上傳取消

01

02

03

04

ARIMA + GARCH策略的股票曲線與S&P500的“買入并持有”

如您所見,在65年的時(shí)間里,ARIMA + GARCH策略的表現(xiàn)明顯優(yōu)于“買入并持有”。但是,您還可以看到,大部分收益發(fā)生在1970年至1980年之間。

因此,在將此類模型建立之前將其應(yīng)用于歷史序列真的合適嗎?另一種選擇是開始將模型應(yīng)用于最新數(shù)據(jù)。實(shí)際上,我們可以考慮一下從2005年1月1日至今的最近十年的表現(xiàn):

從2005年至今,ARIMA + GARCH策略與S&P500的“買入并持有”股票曲線

現(xiàn)在,我們已經(jīng)完成了ARIMA和GARCH模型的討論,我想通過考慮長(zhǎng)狀態(tài)空間模型和協(xié)整時(shí)間序列來繼續(xù)進(jìn)行時(shí)間序列分析討論。

時(shí)間序列的這些后續(xù)領(lǐng)域?qū)⑾蛭覀兘榻B一些模型,這些模型可以改善我們的預(yù)測(cè),這將大大提高我們的交易獲利能力和/或降低風(fēng)險(xiǎn)。

本文摘選R語言對(duì)S&P500股票指數(shù)進(jìn)行ARIMA + GARCH交易策略,點(diǎn)擊“閱讀原文”獲取全文完整資料。

點(diǎn)擊標(biāo)題查閱往期內(nèi)容

R語言ARMA GARCH COPULA模型擬合股票收益率時(shí)間序列和模擬可視化

ARMA-GARCH-COPULA模型和金融時(shí)間序列案例

時(shí)間序列分析:ARIMA GARCH模型分析股票價(jià)格數(shù)據(jù)

GJR-GARCH和GARCH波動(dòng)率預(yù)測(cè)普爾指數(shù)時(shí)間序列和Mincer Zarnowitz回歸、DM檢驗(yàn)、JB檢驗(yàn)

【視頻】時(shí)間序列分析:ARIMA-ARCH / GARCH模型分析股票價(jià)格

時(shí)間序列GARCH模型分析股市波動(dòng)率

PYTHON用GARCH、離散隨機(jī)波動(dòng)率模型DSV模擬估計(jì)股票收益時(shí)間序列與蒙特卡洛可視化

極值理論 EVT、POT超閾值、GARCH 模型分析股票指數(shù)VaR、條件CVaR:多元化投資組合預(yù)測(cè)風(fēng)險(xiǎn)測(cè)度分析

Garch波動(dòng)率預(yù)測(cè)的區(qū)制轉(zhuǎn)移交易策略

金融時(shí)間序列模型ARIMA 和GARCH 在股票市場(chǎng)預(yù)測(cè)應(yīng)用

時(shí)間序列分析模型:ARIMA-ARCH / GARCH模型分析股票價(jià)格

R語言風(fēng)險(xiǎn)價(jià)值:ARIMA,GARCH,Delta-normal法滾動(dòng)估計(jì)VaR(Value at Risk)和回測(cè)分析股票數(shù)據(jù)

R語言GARCH建模常用軟件包比較、擬合標(biāo)準(zhǔn)普爾SP 500指數(shù)波動(dòng)率時(shí)間序列和預(yù)測(cè)可視化

Python金融時(shí)間序列模型ARIMA 和GARCH 在股票市場(chǎng)預(yù)測(cè)應(yīng)用

MATLAB用GARCH模型對(duì)股票市場(chǎng)收益率時(shí)間序列波動(dòng)的擬合與預(yù)測(cè)

R語言GARCH-DCC模型和DCC(MVT)建模估計(jì)

Python 用ARIMA、GARCH模型預(yù)測(cè)分析股票市場(chǎng)收益率時(shí)間序列

R語言中的時(shí)間序列分析模型:ARIMA-ARCH / GARCH模型分析股票價(jià)格

R語言ARIMA-GARCH波動(dòng)率模型預(yù)測(cè)股票市場(chǎng)蘋果公司日收益率時(shí)間序列

Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模擬進(jìn)行股價(jià)預(yù)測(cè)

R語言時(shí)間序列GARCH模型分析股市波動(dòng)率

R語言ARMA-EGARCH模型、集成預(yù)測(cè)算法對(duì)SPX實(shí)際波動(dòng)率進(jìn)行預(yù)測(cè)

matlab實(shí)現(xiàn)MCMC的馬爾可夫轉(zhuǎn)換ARMA - GARCH模型估計(jì)

Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模擬進(jìn)行股價(jià)預(yù)測(cè)

使用R語言對(duì)S&P500股票指數(shù)進(jìn)行ARIMA + GARCH交易策略

R語言用多元ARMA,GARCH ,EWMA, ETS,隨機(jī)波動(dòng)率SV模型對(duì)金融時(shí)間序列數(shù)據(jù)建模

R語言股票市場(chǎng)指數(shù):ARMA-GARCH模型和對(duì)數(shù)收益率數(shù)據(jù)探索性分析

R語言多元Copula GARCH 模型時(shí)間序列預(yù)測(cè)

R語言使用多元AR-GARCH模型衡量市場(chǎng)風(fēng)險(xiǎn)

R語言中的時(shí)間序列分析模型:ARIMA-ARCH / GARCH模型分析股票價(jià)格

R語言用Garch模型和回歸模型對(duì)股票價(jià)格分析

GARCH(1,1),MA以及歷史模擬法的VaR比較

matlab估計(jì)arma garch 條件均值和方差模型

R語言POT超閾值模型和極值理論EVT分析


R語言對(duì)S&P500股票指數(shù)進(jìn)行ARIMA + GARCH交易策略|附代碼數(shù)據(jù)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
株洲市| 怀仁县| 湘阴县| 合水县| 绥芬河市| 奉贤区| 赣榆县| 星子县| 如皋市| 和林格尔县| 宜城市| 开化县| 台中市| 武安市| 和硕县| 漾濞| 新河县| 安塞县| 江山市| 台北市| 牙克石市| 永寿县| 池州市| 英超| 泌阳县| 晋州市| 双牌县| 甘孜| 岱山县| 临颍县| 通渭县| 伊宁县| 大理市| 社会| 寿宁县| 康定县| 故城县| 岳阳市| 榆社县| 兴业县| 封丘县|