R語言中的Nelson-Siegel模型在匯率預(yù)測的應(yīng)用
原文鏈接:http://tecdat.cn/?p=11680?
這篇文章的目的是指導(dǎo)讀者逐步使用R編程語言實(shí)現(xiàn)Nelson-Siegel模型的步驟。您可能已經(jīng)知道,估計(jì)利率期限結(jié)構(gòu)是任何資產(chǎn)定價(jià)的關(guān)鍵,因此對投資者和政策制定者起著重要的作用。想法是使一條連續(xù)曲線適合現(xiàn)有數(shù)據(jù)。就是說,給定可獲取的利率和相應(yīng)的到期日(通過彭博社或任何其他數(shù)據(jù)提供商),可以使用Nelson-Siegel方法得出利率的期限結(jié)構(gòu)。
?
?
R或RStudio
LIBOR / OIS利率和相應(yīng)的到期日(通過彭博社或其他數(shù)據(jù)提供商)
?
一點(diǎn)理論…
在開始執(zhí)行模型之前,讓我們回顧一下基礎(chǔ)知識(shí)。
Nelson-Siegel零息債券的到期收益率:

?
零息債券價(jià)格:


優(yōu)化問題:
這個(gè)想法是兩個(gè)價(jià)格應(yīng)該相等。因此,我們想找到使兩個(gè)價(jià)格之間的平方差平方和最小的Nelson-Siegel因素。


實(shí)施模型的步驟
?第1步:數(shù)據(jù)導(dǎo)入和變量定義
我們導(dǎo)入LIBOR / OIS利率和相應(yīng)的到期日,對其進(jìn)行過濾,然后將其存儲(chǔ)在數(shù)據(jù)框中。
然后,我們使用導(dǎo)入的LIBOR / OIS匯率計(jì)算每個(gè)到期日的零息票價(jià)格。
我們最終計(jì)算出最長(50年)和最短(1個(gè)月)到期的到期收益率(YTM)。

?可以用50年的YTM來近似。

?可以通過50年期和1個(gè)月YTM之間的差異來近似估算。
為了簡化步驟2中描述的網(wǎng)格搜索和步驟3中描述的優(yōu)化問題,我們將近似

?并

使用50年和1個(gè)月的YTM。

?
?步驟2:對目標(biāo)函數(shù)進(jìn)行編程
我們對函數(shù)進(jìn)行編程,該函數(shù)計(jì)算LIBOR / OIS利率給出的零息債券價(jià)格與Nelson-Siegel模型給出的零息債券價(jià)格之間的平方偏差的平方和。

?
?步驟3:網(wǎng)格搜索
我們定義為我們的參數(shù)范圍 :

我們創(chuàng)建一個(gè)包含所有可能的組合矩陣?。
我們選擇產(chǎn)生最小平方偏差總和的組合作為我們的初始參數(shù),以插入優(yōu)化問題。
?
?
?步驟4:優(yōu)化問題
?,我們可以解決非線性優(yōu)化問題:
初始參數(shù)(x0)是在網(wǎng)格搜索中找到的參數(shù)。
目標(biāo)函數(shù)(eval_f)是在步驟2中編程的目標(biāo)函數(shù)。
上限和下限(ub和lb)定義如下:

?
?
?步驟5:調(diào)整模型
此時(shí)獲得完美契合的機(jī)會(huì)非常渺茫。必須重復(fù)步驟3和4調(diào)整模型。進(jìn)一步來說:
我們必須圍繞步驟5中獲得的結(jié)果執(zhí)行第二次網(wǎng)格搜索,搜索范圍較窄,然后重新運(yùn)行優(yōu)化問題。
您可能還想嘗試使用不同的參數(shù)組合,得出平方偏差的第二,第三或第四最小和。
我們也將要執(zhí)行的最后一個(gè)網(wǎng)格搜索 在第二輪優(yōu)化得到的數(shù)值。
技巧?–在模型中嘗試不同的初始參數(shù)時(shí),針對LIBOR / OIS Bloomberg數(shù)據(jù)點(diǎn)繪制通過求解參數(shù)獲得的最終收益曲線,以了解其擬合程度。沒有完美的方法可以完成–這是一個(gè)反復(fù)試驗(yàn)的過程。 ?
?
?
?步驟6:繪制估計(jì)的收益曲線
現(xiàn)在,我們有了Nelson-Siegel因子,可以估算出收益率曲線:
?
?

結(jié)果與結(jié)論
下圖以紅色顯示了所獲得的LIBOR收益率曲線。彭博LIBOR / OIS匯率以綠色顯示。

?
盡管曲線可以很好地?cái)M合數(shù)據(jù)點(diǎn),但是我們可以看到擬合并不完美。Nelson-Siegel模型的替代方案是Svensson模型,該模型增加了兩個(gè)參數(shù)以實(shí)現(xiàn)更好的擬合。
Svensson模型–零票息收益率:

?
實(shí)施Svensson模型的步驟與實(shí)施Nelson-Siegel模型的步驟相同。
?

最受歡迎的見解
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)