五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

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

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

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

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

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

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

策略概述

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

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

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

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

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

策略實(shí)施

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

如果已經(jīng)安裝了庫,則可以簡單地導(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的“收盤價”的對數(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)生“長期”預(yù)測 。

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

  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)文件存儲在中forecasts_new.csv

策略結(jié)果

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

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

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

一旦獲得ARIMA + GARCH策略的收益,就可以為ARIMA + GARCH模型和“買入并持有”創(chuàng)建資產(chǎn)曲線。最后,我們將它們合并為一個數(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語言動量交易策略分析調(diào)整后的數(shù)據(jù)

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

左右滑動查看更多

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

01

02

03

04

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

如您所見,在65年的時間里,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模型的討論,我想通過考慮長狀態(tài)空間模型和協(xié)整時間序列來繼續(xù)進(jìn)行時間序列分析討論。

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

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

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

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

ARMA-GARCH-COPULA模型和金融時間序列案例

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

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

【視頻】時間序列分析:ARIMA-ARCH / GARCH模型分析股票價格

時間序列GARCH模型分析股市波動率

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

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

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

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

時間序列分析模型:ARIMA-ARCH / GARCH模型分析股票價格

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

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

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

MATLAB用GARCH模型對股票市場收益率時間序列波動的擬合與預(yù)測

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

Python 用ARIMA、GARCH模型預(yù)測分析股票市場收益率時間序列

R語言中的時間序列分析模型:ARIMA-ARCH / GARCH模型分析股票價格

R語言ARIMA-GARCH波動率模型預(yù)測股票市場蘋果公司日收益率時間序列

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

R語言時間序列GARCH模型分析股市波動率

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

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

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

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

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

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

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

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

R語言中的時間序列分析模型:ARIMA-ARCH / GARCH模型分析股票價格

R語言用Garch模型和回歸模型對股票價格分析

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

matlab估計arma garch 條件均值和方差模型

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


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

分享到微博請遵守國家法律
台南县| 安岳县| 全南县| 齐河县| 开化县| 富蕴县| 瑞金市| 福贡县| 常山县| 汤原县| 汉寿县| 普洱| 平罗县| 沅江市| 太仓市| 渑池县| 永顺县| 河源市| 彭山县| 扎囊县| 华坪县| 那曲县| 雅安市| 宁国市| 肇东市| 迁安市| 峨边| 咸阳市| 拉萨市| 和林格尔县| 邳州市| 隆林| 章丘市| 察隅县| 仙桃市| 新昌县| 德令哈市| 丹巴县| 绥滨县| 商南县| 土默特右旗|