最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

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

2023-04-22 22:22 作者:拓端tecdat  | 我要投稿

全文下載鏈接:http://tecdat.cn/?p=20678

最近我們被客戶要求撰寫關(guān)于GARCH的研究報告,包括一些圖形和統(tǒng)計輸出。

在本文中,預(yù)測股價已經(jīng)受到了投資者,政府,企業(yè)和學(xué)者廣泛的關(guān)注。然而,數(shù)據(jù)的非線性和非平穩(wěn)性使得開發(fā)預(yù)測模型成為一項(xiàng)復(fù)雜而具有挑戰(zhàn)性的任務(wù)

在本文中,我將解釋如何將?GARCH,EGARCH和?GJR-GARCH?模型與Monte-Carlo?模擬結(jié)合使用,?以建立有效的預(yù)測模型。金融時間序列的峰度,波動率和杠桿效應(yīng)特征證明了GARCH的合理性。時間序列的非線性特征用于檢查布朗運(yùn)動并研究時間演化模式。非線性預(yù)測和信號分析方法因其在特征提取和分類中的魯棒性而在股票市場上越來越受歡迎。

動力學(xué)系統(tǒng)可以用一組時變(連續(xù)或離散)變量來描述,這些變量構(gòu)成信號分析非線性方法的基礎(chǔ)。如果時間的當(dāng)前值和狀態(tài)變量可以準(zhǔn)確地描述下一時刻的系統(tǒng)狀態(tài),則可以說這樣的系統(tǒng)是確定性的。另一方面,如果時間和狀態(tài)變量的當(dāng)前值僅描述狀態(tài)變量的值隨時間變化的概率,則將動力學(xué)系統(tǒng)視為隨機(jī)系統(tǒng)。

因此,在使用GARCH?建模方法之前?,我將采用?分形維數(shù)(FD)?,重定?范圍?和?遞歸量化分析(RQA)的?數(shù)據(jù)建模?技術(shù)?來總結(jié)數(shù)據(jù)的非線性動力學(xué)行為并完成研究目標(biāo)。

方法

Hurst**系數(shù)??(H)??是長期依賴的特征參數(shù),與?FD?(FD + H = 2)有關(guān)。?R / S分析是數(shù)據(jù)建模的核心工具。經(jīng)驗(yàn)研究表明,?與同類中的其他方法相比,??R / S_帶來了更好的結(jié)果,例如自相關(guān),光譜分解的分析。它是度量時間序列差異的度量,該時間序列的定義是給定持續(xù)時間_(T)_的均值范圍? ,除以該持續(xù)時間的標(biāo)準(zhǔn)偏差?[?R / S = k * T(H)?];?_??是一個取決于時間序列的常數(shù)。H度量時間序列的長期記憶,將其表征為均值回復(fù),趨勢或隨機(jī)游走。

H <0.5表示均值回復(fù)

H> 0.5表示趨勢序列,并且

H = 0.5表示隨機(jī)游走。

我將展示如何使用?GARCH?模型進(jìn)行風(fēng)險評估。

GARCH?模型的一個關(guān)鍵限制?是對其參數(shù)施加非負(fù)約束,以確保條件方差的正性。這樣的約束會給估計GARCH?模型帶來困難?。

因此,提出了?非對稱GARCH?模型,即俗稱的?GJR-GARCH?模型,以解決對稱GARCH?模型的局限性?。更重要的是,指數(shù)?GARCH?或?EGARCH?模型相對于傳統(tǒng)的GARCH?模型具有潛在的改進(jìn) 。

數(shù)據(jù)挖掘

查看數(shù)據(jù)。



在過去的幾十年中,原油價格呈現(xiàn)出較大的波動,尤其是在2008年左右??梢钥闯觯S著多次上升和下降,價格保持在相對較低的水平。從自相關(guān)圖可以看出原始數(shù)據(jù)中明顯的自相關(guān)。QQ和PP圖的形狀表明該過程接近正態(tài),但是_重尾分布_。

簡單收益率的常用形式為:r(t)= {p(t)— p(t-1)} / p(t-1),對數(shù)收益率= ln(pt / p(t-1),pt每日原油價格,r(t)是每日收益。

對數(shù)收益率在這里被視為本文的每日收益率。原始價格和對數(shù)收益率的直觀顯示清楚地證明了以幾乎恒定的均值,使用對數(shù)收益率是合理的。

收益率序列圖顯示了高和低變化周期。在圖中可以看到一個隨機(jī)且集中在零附近的過程。大幅度波動的正收益和負(fù)收益都增加了風(fēng)險投資和管理的難度。每日收益率的平均值基本上在零水平水平附近,并且具有明顯的波動性聚類,表明存在異方差性。ACF很小,但是高度相關(guān)。QQ和PP圖的形狀沒有明顯變化。

sns.distplot(df.returns,?color=’blue’)?#密度圖#?匯總統(tǒng)計數(shù)據(jù)print(df.returns.describe())

收益率的偏度(-0.119)和向右偏離表明,收益率正比負(fù)收益率高,峰度(7.042)反映了油價波動大。

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

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

左右滑動查看更多

01

02

03

04

標(biāo)準(zhǔn)正態(tài)分布的偏度和峰度分別為0和3。

Jarque-Bera檢驗(yàn)的值表明,傳統(tǒng)的正態(tài)分布假設(shè)不適用于原油收益的真實(shí)分布。

ADF?=?ADF(df.returns)print(ADF.summary().as_text()) kpss?=?KPSS(df.returns)print(kpss.summary().as_text())

進(jìn)行了VR檢驗(yàn),以測試對數(shù)收益率序列是否是純粹的隨機(jī)游走,以及是否具有一定的可預(yù)測性。我在這里比較了1個月和12個月的對數(shù)收益率,并且拒絕了該系列為純隨機(jī)游走的空值。用負(fù)檢驗(yàn)統(tǒng)計量VA(-11.07)拒絕零表示在時間序列中存在序列相關(guān)性。用ADF,KPSS,DFGLS,PP和ZA統(tǒng)計量對單位根和平穩(wěn)性進(jìn)行的檢驗(yàn)均顯示出顯著性,表明使用?GARCH型模型來擬合收益序列是合適的。

非線性動力學(xué)

使用_Hurst_對平穩(wěn)性的研究?。

#?計算最近價格的Hurst系數(shù)tau?=?[sqrt(std(subtract(closes_recent[lag:],?closes_recent[:-lag])))?for?lag?in?lags]m?=?polyfit(log(lags),?log(tau),?1)hurst?=?m[0]*2

H(0.531)表示具有長期依賴性的隨機(jī)運(yùn)動時間序列。證明了?本研究中GARCH模型的合理性?。

computation?=?RQAComputation.create(settings,verbose=True)result?=?computation.run()result.min_diagonal_line_length?=?2

此處,低?R?表示較低的周期性和隨機(jī)行為。此外,較低的?DET?值表示不確定性。這證明了使用GARCH?方法的合理性?。

GARCH模型

在估算GARCH類型的模型之前,將收益率乘以100。由于波動率截距與模型中其他參數(shù)非常接近,因此這有助于優(yōu)化程序進(jìn)行轉(zhuǎn)換。

X?=?100*?df.returns

讓我們擬合一個?ARCH?模型并繪制平方殘差以檢查自相關(guān)性。

def?getbest(TS):best_aic?=?np.inf for?i?in?pq_rng: for?d?in?d_rng: for?j?in?pq_rng: try:tmp_mdl?=?smt.ARIMA(TS,?order=(i,d,j)).fit(#aic:?22462.01?|?order:?(2,?0,?2)gam?=?arch_model(Model.resid,?p=2,?o=0,?q=2,?dist=’StudentsT’)gres?=?gam.fit(update_freq=5,?disp=’off’) print(gres.summary()) tsplot(gres.resid**2,?lags=30)

我們可以看到平方殘差具有自相關(guān)的依據(jù)。讓我們擬合一個GARCH模型并查看其性能。我將按照以下步驟進(jìn)行操作:

  • 通過ARIMA(p,d,q)??模型的組合進(jìn)行迭代??,?以擬合最優(yōu)時間序列。

  • 根據(jù)?具有最低AIC的ARIMA模型選擇?GARCH模型 。

  • 將?GARCH(p,q)??模型擬合到時間序列。

  • 檢查模型殘差和平方殘差進(jìn)行自相關(guān)

因此,我們在這里發(fā)現(xiàn),最好的模型是?ARIMA(2,0,2)??,F(xiàn)在,我們對殘差進(jìn)行繪圖,以確定它們是否具有條件異方差。

?arch_model(X,?p=2,?q=2,?o=1,power=2.0,?vol=’Garch’,?dist=’StudentsT’)

am?=?arch_model(X,?p=2,?q=2,?o=1,power=2.0,?vol=’Garch’,?dist=’StudentsT’)

所有3個GARCH?模型的輸出?都以表格格式顯示。Ω??(ω)?是白噪聲,alpha和beta是模型的參數(shù)。此外,??α[1] +β[1] <1?表示穩(wěn)定的模型。?EGARCH?似乎是最好的三個這模型。

最好在訓(xùn)練/測試中拆分?jǐn)?shù)據(jù)并獲得MSE / MAE / RMSE結(jié)果以比較最佳模型擬合。

通過將殘差除以條件波動率來計算標(biāo)準(zhǔn)化殘差。

std_resid?=??resid?/??conditional_volatilityunit_var_resid?=??resid?/??resid.std()

標(biāo)準(zhǔn)化殘差和條件波動圖顯示了一些誤差,但幅度不大。

sns.kdeplot(squared_resid,?shade=True) sns.kdeplot(std_resid,?shade=True) sns.kdeplot(unit_var_resid,?shade=True)

還標(biāo)繪了標(biāo)準(zhǔn)化殘差以及非標(biāo)準(zhǔn)化的殘差。殘差的平方在中心更加尖峰,表明分布的尾部比標(biāo)準(zhǔn)殘差的尾部更重。讓我們檢查一下ACF圖。

plot_acf(std_resid)

看起來有些尖峰超出了陰影的置信區(qū)。讓我們查看殘差平方。

殘差平方顯示數(shù)據(jù)點(diǎn)在藍(lán)色陰影的置信度區(qū)域(95%)內(nèi),表示模型擬合較好。

res?=?am.fit()fig?=?res.hedgehog_plot(type=’mean’)

圖顯示了整個2019年的預(yù)測。橙色線表示在不同時間區(qū)間的預(yù)測。

基于模擬的預(yù)測

這里使用基于仿真的方法從EGARCH?模擬中獲得預(yù)測波動率的置信區(qū)間?。要從EGARCH?模型獲得波動預(yù)測,該?模型是從擬合模型的最后一次觀察中模擬得出的。重復(fù)此過程很多次,以獲得波動率預(yù)測。預(yù)測點(diǎn)是通過對模擬求平均值來計算的,分別使用模擬分布的2.5%和97.5%的分位數(shù)來計算95%的置信區(qū)間??紤]平均收益率(mu)為0.0292,年波動率(vol)為(26.48)* sqrt 252 = 37.37%。

#定義變量T?=?252?#交易天數(shù)mu?=?0.0622?#收益vol?=?0.3737?#波動率daily_returns=np.random.normal((1+mu)**(1/T),vol/sqrt(T),T)#生成圖-價格序列和每日收益的直方圖plt.plot(price_list) plt.hist(daily_returns-1,?100)

在最上方的圖上,根據(jù)遵循正態(tài)分布的隨機(jī)每日收益,顯示了一個交易年度(252天)內(nèi)潛在價格序列演變的模擬。第二個圖是一年中這些隨機(jī)每日收益的直方圖。但是,可以通過運(yùn)行成千上萬的模擬來獲得洞察,每次模擬都基于相同的特征(價格交易量)產(chǎn)生一系列不同的潛在價格演變。

#設(shè)置一個空列表來保存我們每個模擬價格序列的最終值result?=?[]S?=?df.Price[-1]?#起始股票價格(即最后可用的實(shí)際股票價格)T?=?252?#交易天數(shù)mu?=?0.0622?#收益率vol?=?0.3737?#波動率#選擇要模擬的運(yùn)行次數(shù)-我選擇了10,000for?i?in?range(10000):#使用隨機(jī)正態(tài)分布創(chuàng)建每日收益表daily_returns=?np.random.normal((1+mu)**(1/T),vol/sqrt(T),T)#設(shè)定起始價格,并創(chuàng)建由上述隨機(jī)每日收益生成的價格序列#將每次模擬運(yùn)行的結(jié)束值添加到我們在開始時創(chuàng)建的空列表中result.append(price_list[-1])

由于這些是對每日收益的隨機(jī)模擬,因此此處的結(jié)果會略有不同。由于每個模擬中包含的路徑,平均值趨向于“ mu”使用的平均收益。下面的直方圖顯示了價格分布的兩個分位數(shù),以了解高收益率或低收益率的可能性。

很顯然,原油價格有5%的機(jī)會最終跌破29.72元,有5%的機(jī)會高于101.75美元。

概括

在原油價格高波動的背景下,我研究并提出了混合時變長記憶?GARCH?和基于模擬的預(yù)測模型,該模型考慮了諸如非對稱性和異方差,時變風(fēng)險,長記憶和重尾分布等波動事實(shí)。經(jīng)驗(yàn)證據(jù)表明,具有布朗運(yùn)動的原油數(shù)據(jù)往往在其時間動態(tài)方面顯示出一定程度的可預(yù)測性。這項(xiàng)研究考慮了2000年至2019年的數(shù)據(jù),當(dāng)時股市經(jīng)歷了幾次金融危機(jī)和危機(jī)后階段。使用此時期的數(shù)據(jù)訓(xùn)練的模型有望具有出色的預(yù)測能力。

當(dāng)處理長時間波動的原油價格的時間序列數(shù)據(jù)時,GARCH?(2,2)模型估計了方差的持久性?。??進(jìn)行了蒙特卡洛分析,以檢查結(jié)果的穩(wěn)健性。蒙特卡洛?模擬的輸出?表明,即使在控制了無關(guān)因素之后,結(jié)果仍然是可靠的。因此,這些發(fā)現(xiàn)提供了出色的混合?EGARCH?和?蒙特卡洛?模擬的的預(yù)測模型,其中考慮了波動性特征,如波動性聚類和不對稱性,時變風(fēng)險和重尾分布,來衡量原油價格。

本文摘選?《?Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模擬進(jìn)行股價預(yù)測?》?,點(diǎn)擊“閱讀原文”獲取全文完整資料。

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

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語言時間序列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-DCC模型和DCC(MVT)建模估計
R語言用Garch模型和回歸模型對股票價格分析
GARCH(1,1),MA以及歷史模擬法的VaR比較
matlab估計arma garch 條件均值和方差模型
R語言ARMA-GARCH-COPULA模型和金融時間序列案例


Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模擬進(jìn)行股價預(yù)測|附代碼數(shù)據(jù)的評論 (共 條)

分享到微博請遵守國家法律
留坝县| 武胜县| 瑞丽市| 兴业县| 东丰县| 怀宁县| 中山市| 青海省| 吉安县| 报价| 宝兴县| 湖南省| 彭阳县| 错那县| 南康市| 温泉县| 梓潼县| 奇台县| 靖远县| 黑水县| 镇康县| 全南县| 右玉县| 鄂伦春自治旗| 岳阳市| 于都县| 沁水县| 南雄市| 保山市| 新晃| 辽阳县| 原阳县| 呈贡县| 昌黎县| 海安县| 夏邑县| 界首市| 玉门市| 蒙山县| 卓资县| 新野县|