1. 程式人生 > 實用技巧 >Matlab通過市場資料校準Hull-White利率模型引數

Matlab通過市場資料校準Hull-White利率模型引數

原文連結:http://tecdat.cn/?p=17973

利率衍生證券的定價依賴於描述基本過程的模型。這些利率模型取決於您必須通過將模型預測與市場上可用的現有資料進行匹配來確定的一個或多個引數。在Hull-White模型中,有兩個與短期利率過程相關的引數:均值迴歸和波動率。

對於Hull-White模型,關於均值迴歸(α)和波動率(σ)最小化是二維的。也就是說,校準Hull-White模型可最大程度地減少模型的預測價格與觀察到的市場價格之間的差異。

Hull-White校準案例

使用市場資料來識別為構建工具定價的Hull-White樹所需的隱含波動率(σ)和均值迴歸(α)係數,必須對市場資料進行插值。

考慮具有以下引數的上限:

  1. Strike = 0.0690;
  2. Reset = 4;
  3. Principal = 1000;

 datestr(capletDates')
  1. ans =
  2. 21-Mar-2008
  3. 21-Jun-2008
  4. 21-Sep-2008
  5. 21-Dec-2008
  6. 21-Mar-2009
  7. 21-Jun-2009
  8. 21-Sep-2009
  9. 21-Dec-2009
  10. 21-Mar-2010
  11. 21-Jun-2010
  12. 21-Sep-2010
  13. 21-Dec-2010
  14. 21-Mar-2011

在最佳情況下,查詢帶有Strike=的 市場波動率0.0690

,以及列出的到期日,但找到這些確切資料的可能性很小。結果,使用市場上可用的資料並進行插值。

根據市場資料,您可以獲得不同日期和行使價的上限資訊。

到期協議1 = 0.0590協議2 = 0.0790
2008年3月21日 0.1533 0. 1526
2008年6月21日 0.1731 0. 1730
2008年9月21日 0. 1727 0. 1726
2008年12月21日 0. 1752 0. 1747
2009年3月21日 0. 1809 0. 1808
2009年6月21日 0. 1809 0. 1792
2009年9月21日 0. 1805 0. 1797
2009年12月21日 0.1802 0. 1794
2010年3月21日 0.1802 0. 1733
2010年6月21日 0. 1757 0. 1751
2010年9月21日 0. 1755 0. 1750
2010年12月21日 0. 1755 0. 1745
2011年3月21日 0. 1726 0. 1719

要求日期,協議價和實際波動分為三個變數:MarketStrikeMarketMat,和MarketVol

  1. MarketStrike = [0.0590; 0.0790];
  2. MarketMat = {'21-Mar-2008';
  3. '21-Jun-2008';
  4. '21-Sep-2008';
  5. MarketVol = [0.1533 0.1731 0.1727 0.1752 0.1809 0.1800 0.1805 0.1802 0.1735 0.1757 ...

使用此資料完成輸入引數RateSpec

  1. RateSpec =
  2. FinObj: 'RateSpec'
  3. Compounding: 4
  4. Disc: [14x1 double]
  5. Rates: [14x1 double]
  6. EndTimes: [14x1 double]
  7. StartTimes: [14x1 double]
  8. EndDates: [14x1 double]
  9. StartDates: 733428
  10. ValuationDate: 733428
  11. Basis: 0
  12. EndMonthRule: 1

呼叫校準例程以找到波動率引數Alpha和Sigma的值

根據市場資料計算的值AlphaSigma。例如,您可以將目標函式的公差定義為100*eps

  1. Local minimum possible.
  2. > In hwcalbycapfloor at 93
  3. In hwcalbycap at 75
  4. Alpha =
  5. 1.0000e-06
  6. Sigma =
  7. 0.0127

先前的警告表明轉換不是最佳的。使用的搜尋演算法未找到符合所有約束的解決方案。要辨別該解決方案是否可接受,請通過為以下項指定第三個輸出(OptimOut)來檢視優化結果:

 hwcalb(RateSpec, MarketStrike, MarketMat,...

結構的OptimOut.residual欄位OptimOut是優化殘差。此值包含Black caplet和優化過程中計算出的值之間的差異。您可以使用該OptimOut.residual值計算與Black Caplet價格相比的百分比差異(誤差),然後確定殘差是否可以接受,決定是否接受以單一數值引數化的市場AlphaSigma

使用市場資料和Black模型獲取價格

Black -76模型被認為是世界範圍內廣泛接受的互換期權定價模型,互換期權計算公式看起來和期權價格公式一 樣,這表示在使用Black模型對互換期權進行定價時,可以用和定價期權時同樣的方法進行計算.為了使Black模型生效,只需輸入由市場決定的隱含波動率即可。

為了確定優化的有效性,請使用Black公式和市場資料計算參考值。請注意,您必須首先對市場資料進行插值以獲得用於計算的資料量:

  1. FlatVol = interp2(Mats, Strikes, MarketVol, datenum(Maturity),

使用Black模型計算價格:

 capbybike, Settle, Maturity, FlatVol,...
  1. Caplets =
  2. 0.3210
  3. 1.6355

比較優化值和Black值並以圖形方式顯示

在計算了參考值之後,請通過分析和圖形方式比較這些值,以確定是否計算出的單個值AlphaSigma提供適當的近似值:

  1. plot(MarketMatNum(2:end), Caplets, 'or', MarketMatNum(2:end), O
  2. ylabel('Caplet Price');
  3. t
  4. set(gcf, 'NumberT

使用Black,HW分析和HW樹模型比較上限價格


最受歡迎的見解

1.用機器學習識別不斷變化的股市狀況—隱馬爾科夫模型(HMM)的應用

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

3.R語言實現 Copula 演算法建模依賴性案例分析報告

4.R語言COPULAS和金融時間序列資料VaR分析

5.R語言多元COPULA GARCH 模型時間序列預測

6.用R語言實現神經網路預測股票例項

7.r語言預測波動率的實現:ARCH模型與HAR-RV模型

8.R語言如何做馬爾科夫轉換模型markov switching model

9.matlab使用Copula模擬優化市場風險

使用Black模型,Hull-White分析模型和Hull-White樹模型比較相應上限價格。