【視頻】隨機波動率SV模型原理和Python對標(biāo)普SP500股票指數(shù)預(yù)測|數(shù)據(jù)分享|附代碼數(shù)據(jù)
全文鏈接:http://tecdat.cn/?p=22546
最近我們被客戶要求撰寫關(guān)于隨機波動率SV模型的研究報告,包括一些圖形和統(tǒng)計輸出。
什么是隨機波動率?隨機波動率 (SV) 是指資產(chǎn)價格的波動率是變化的而不是恒定的 。?
“隨機”一詞意味著某些變量是隨機確定的,無法精確預(yù)測。
在金融建模的背景下,隨機建模迭代隨機變量的連續(xù)值,這些值彼此不獨立。非獨立的意思是雖然變量的值會隨機變化,但其起點將取決于其先前的值,因此取決于其先前的值,依此類推;這描述了所謂的隨機游走。
點擊標(biāo)題查閱往期內(nèi)容
Matlab馬爾可夫鏈蒙特卡羅法(MCMC)估計隨機波動率(SV,Stochastic Volatility) 模型
左右滑動查看更多
01
02
03
04
隨機波動率的經(jīng)驗證據(jù)?
在定義了波動率的含義之后,我們現(xiàn)在通過討論波動率隨機變化的證據(jù)來引導(dǎo)其余部分。我們(大體上)遵循,對現(xiàn)金和期權(quán)市場中觀察到的價格行為進(jìn)行一些實證觀察。我們考慮了一些經(jīng)濟解釋,并將它們與手頭的主題聯(lián)系起來:
厚尾?
現(xiàn)在普遍接受的是,資產(chǎn)收益的經(jīng)驗分布是尖峰的意思(大致),即關(guān)于均值的四階矩大于具有相同方差的正態(tài)分布的相同統(tǒng)計量。這意味著觀察到更多的極端回報和更少的中等回報,“尖峰”意味著實際分布中靠近均值的天數(shù)更多,“厚尾”表示極端收益率出現(xiàn)的頻率高于正態(tài)分布的預(yù)測,比如出人意料的“黑天鵝事件”。?
波動性聚類和持久性
看一眼金融時間序列通常會立即發(fā)現(xiàn)高波動期和低波動期。?
事實上,肥尾和波動性聚類是同一枚硬幣的兩個方面。眾所周知,分布的混合,例如根據(jù)正態(tài)分布分布的價格變化,但具有隨機方差,可以復(fù)制肥尾。然而,通過直接將基礎(chǔ)價格分布建模為具有肥尾,可以同樣很好地解釋肥尾和波動性聚類。另一個經(jīng)驗事實是波動機制的持續(xù)存在,存在高波動期和低波動期,而不僅僅是隨機事件。這一觀察表明了任何提議的波動率模型的某些內(nèi)容。
什么是隨機建模?
隨機建模是一種用于幫助做出投資決策的財務(wù)模型。這種類型的建模使用隨機變量預(yù)測不同條件下各種結(jié)果的概率。
隨機建模呈現(xiàn)數(shù)據(jù)并預(yù)測結(jié)果,這些結(jié)果說明了一定程度的不可預(yù)測性或隨機性。許多行業(yè)的公司都可以使用隨機模型來改進(jìn)他們的業(yè)務(wù)實踐并提高盈利能力。在金融服務(wù)領(lǐng)域,規(guī)劃師、分析師和投資組合經(jīng)理使用隨機模型來管理他們的資產(chǎn)和負(fù)債并優(yōu)化他們的投資組合。
關(guān)鍵要點
隨機模型使用隨機變量預(yù)測不同條件下各種結(jié)果的概率。
隨機建模呈現(xiàn)數(shù)據(jù)并預(yù)測結(jié)果,這些結(jié)果說明了一定程度的不可預(yù)測性或隨機性。
在金融服務(wù)領(lǐng)域,規(guī)劃師、分析師和投資組合經(jīng)理使用隨機模型來管理他們的資產(chǎn)和負(fù)債并優(yōu)化他們的投資組合。
與隨機建模相反的是確定性建模,它每次都為一組特定的輸入提供相同的精確結(jié)果。
蒙特卡洛模擬是隨機模型的一個例子。它可以根據(jù)單個股票收益的概率分布來模擬投資組合的表現(xiàn)。
了解隨機建模:恒定與可變
要理解隨機建模的概念,將其與相反的確定性建模進(jìn)行比較會有所幫助。
確定性建模產(chǎn)生恒定的結(jié)果
無論您重新計算模型多少次,確定性建模都可以為特定的一組輸入提供相同的精確結(jié)果。在這里,數(shù)學(xué)性質(zhì)是已知的。它們都不是隨機的,只有一組特定值和一個問題的答案或解決方案。對于確定性模型,不確定因素是模型外部的。
隨機建模產(chǎn)生多變的結(jié)果
另一方面,隨機建模本質(zhì)上是隨機的,模型中內(nèi)置了不確定因素。該模型產(chǎn)生了許多答案、估計和結(jié)果——例如將變量添加到復(fù)雜的數(shù)學(xué)問題中——以查看它們對解決方案的不同影響。然后在各種情況下重復(fù)多次相同的過程。
波動性
資產(chǎn)的波動性是期權(quán)定價的關(guān)鍵組成部分。隨機波動率模型是出于對期權(quán)定價的 Black Scholes 模型進(jìn)行修改的需要而開發(fā)的,該模型未能有效地考慮到標(biāo)的證券價格波動性可能發(fā)生變化的事實。Black Scholes 模型反而做了簡化假設(shè),即基礎(chǔ)證券的波動性是恒定的。隨機波動率模型通過允許基礎(chǔ)證券的價格波動率作為隨機變量波動來糾正這一點。通過允許價格變化,隨機波動率模型提高了計算和預(yù)測的準(zhǔn)確性。
隨機波動的一般形式?
連續(xù)時間金融模型被寫成使用隨機微分方程的擴散過程。我們正在研究的模型的一般形式是?
和?
和?
這些方程意味著 S 的瞬時回報由一些確定性項加上一些隨機噪聲給出。本身遵循類似(但更一般)的隨機動態(tài)。
Heston 隨機波動率模型
Heston 模型是由金融學(xué)者 Steven Heston 在 1993 年創(chuàng)建的隨機波動率模型。該模型使用波動率或多或少是隨機的假設(shè),并具有以下區(qū)別于其他隨機波動率模型的特征:
它考慮了資產(chǎn)價格與其波動性之間的相關(guān)性。
它將波動理解為回歸均值。
它不要求股票價格遵循對數(shù)正態(tài)概率分布。
如下圖所示,觀察到的股票波動率可能會飆升至高于或低于平均水平,但似乎總是在平均水平附近。高波動期之后通常是低波動期,反之亦然。使用均值回歸確定波動范圍并結(jié)合?預(yù)測?技術(shù),投資者可以選擇最佳交易。
Python隨機波動率(SV)模型對標(biāo)普500指數(shù)時間序列波動性預(yù)測
資產(chǎn)價格具有隨時間變化的波動性(逐日收益率的方差)。在某些時期,收益率是高度變化的,而在其他時期則非常平穩(wěn)。隨機波動率模型用一個潛在的波動率變量來模擬這種情況,該變量被建模為隨機過程。下面的模型與 No-U-Turn Sampler 論文中描述的模型相似,Hoffman (2011) p21。
這里,r是每日收益率序列,s是潛在的對數(shù)波動率過程。
建立模型
首先,我們加載標(biāo)普500指數(shù)的每日收益率。
returns?=?(pm.get_data("SP500"))
returns[:5]
正如你所看到的,波動性似乎隨著時間的推移有很大的變化,但集中在某些時間段。在2500-3000個時間點附近,你可以看到2009年的金融風(fēng)暴。
ax.plot(returns)
指定模型。
GaussianRandomWalk('s',?hape=len(returns))nu?=?Exponential(??.1)r?=?StudentT(??pm.math.exp(-2*s),
????????????????????obs=returns)
擬合模型
對于這個模型,最大后驗(Maximum?A?Posteriori,MAP)概率估計具有無限的密度。然而,NUTS給出了正確的后驗。
pm.sample(tune=2000Auto-assigning?NUTS?sampler...
plot(trace['s']);
觀察一段時間內(nèi)的收益率,并疊加估計的標(biāo)準(zhǔn)差,我們可以看到該模型是如何擬合一段時間內(nèi)的波動率的。
plot(returns)plot(exp(trace[s]);
?np.exp(trace[s])
參考文獻(xiàn)
Hoffman & Gelman. (2011).?The No-U-Turn Sampler: Adaptively Setting Path Lengths in Hamiltonian Monte Carlo.
點擊文末?“閱讀原文”
獲取全文完整資料。
本文選自《隨機波動率SV模型原理和Python對標(biāo)普SP500股票指數(shù)時間序列波動性預(yù)測》。
點擊標(biāo)題查閱往期內(nèi)容
HAR-RV-J與遞歸神經(jīng)網(wǎng)絡(luò)(RNN)混合模型預(yù)測和交易大型股票指數(shù)的高頻波動率
Matlab馬爾可夫鏈蒙特卡羅法(MCMC)估計隨機波動率(SV,Stochastic Volatility) 模型
R語言隱馬爾可夫模型HMM連續(xù)序列重要性重抽樣CSIR估計隨機波動率模型SV分析股票收益率時間序列
馬爾可夫Markov區(qū)制轉(zhuǎn)移模型分析基金利率
馬爾可夫區(qū)制轉(zhuǎn)移模型Markov regime switching
時變馬爾可夫區(qū)制轉(zhuǎn)換MRS自回歸模型分析經(jīng)濟時間序列
馬爾可夫轉(zhuǎn)換模型研究交通傷亡人數(shù)事故時間序列預(yù)測
如何實現(xiàn)馬爾可夫鏈蒙特卡羅MCMC模型、Metropolis算法?
Matlab用BUGS馬爾可夫區(qū)制轉(zhuǎn)換Markov switching隨機波動率模型、序列蒙特卡羅SMC、M H采樣分析時間序列
R語言BUGS序列蒙特卡羅SMC、馬爾可夫轉(zhuǎn)換隨機波動率SV模型、粒子濾波、Metropolis Hasting采樣時間序列分析
matlab用馬爾可夫鏈蒙特卡羅 (MCMC) 的Logistic邏輯回歸模型分析汽車實驗數(shù)據(jù)
stata馬爾可夫Markov區(qū)制轉(zhuǎn)移模型分析基金利率
PYTHON用時變馬爾可夫區(qū)制轉(zhuǎn)換(MRS)自回歸模型分析經(jīng)濟時間序列
R語言使用馬爾可夫鏈對營銷中的渠道歸因建模
matlab實現(xiàn)MCMC的馬爾可夫轉(zhuǎn)換ARMA - GARCH模型估計
R語言隱馬爾可夫模型HMM識別不斷變化的股票市場條件
R語言中的隱馬爾可夫HMM模型實例
用機器學(xué)習(xí)識別不斷變化的股市狀況—隱馬爾科夫模型(HMM)
Matlab馬爾可夫鏈蒙特卡羅法(MCMC)估計隨機波動率(SV,Stochastic Volatility) 模型
MATLAB中的馬爾可夫區(qū)制轉(zhuǎn)移(Markov regime switching)模型
Matlab馬爾可夫區(qū)制轉(zhuǎn)換動態(tài)回歸模型估計GDP增長率
R語言馬爾可夫區(qū)制轉(zhuǎn)移模型Markov regime switching
stata馬爾可夫Markov區(qū)制轉(zhuǎn)移模型分析基金利率
R語言如何做馬爾可夫轉(zhuǎn)換模型markov switching model
R語言隱馬爾可夫模型HMM識別股市變化分析報告
R語言中實現(xiàn)馬爾可夫鏈蒙特卡羅MCMC模型