Matlab通過市場資料校準Hull-White利率模型引數
原文連結:http://tecdat.cn/?p=17973
利率衍生證券的定價依賴於描述基本過程的模型。這些利率模型取決於您必須通過將模型預測與市場上可用的現有資料進行匹配來確定的一個或多個引數。在Hull-White模型中,有兩個與短期利率過程相關的引數:均值迴歸和波動率。
對於Hull-White模型,關於均值迴歸(α)和波動率(σ)最小化是二維的。也就是說,校準Hull-White模型可最大程度地減少模型的預測價格與觀察到的市場價格之間的差異。
Hull-White校準案例
使用市場資料來識別為構建工具定價的Hull-White樹所需的隱含波動率(σ)和均值迴歸(α)係數,必須對市場資料進行插值。
考慮具有以下引數的上限:
- Strike = 0.0690;
- Reset = 4;
- Principal = 1000;
datestr(capletDates')
- ans =
- 21-Mar-2008
- 21-Jun-2008
- 21-Sep-2008
- 21-Dec-2008
- 21-Mar-2009
- 21-Jun-2009
- 21-Sep-2009
- 21-Dec-2009
- 21-Mar-2010
- 21-Jun-2010
- 21-Sep-2010
- 21-Dec-2010
- 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 |
要求日期,協議價和實際波動分為三個變數:MarketStrike
,MarketMat
,和MarketVol
。
- MarketStrike = [0.0590; 0.0790];
- MarketMat = {'21-Mar-2008';
- '21-Jun-2008';
- '21-Sep-2008';
- MarketVol = [0.1533 0.1731 0.1727 0.1752 0.1809 0.1800 0.1805 0.1802 0.1735 0.1757 ...
使用此資料完成輸入引數RateSpec
:
- RateSpec =
- FinObj: 'RateSpec'
- Compounding: 4
- Disc: [14x1 double]
- Rates: [14x1 double]
- EndTimes: [14x1 double]
- StartTimes: [14x1 double]
- EndDates: [14x1 double]
- StartDates: 733428
- ValuationDate: 733428
- Basis: 0
- EndMonthRule: 1
呼叫校準例程以找到波動率引數Alpha和Sigma的值
根據市場資料計算的值Alpha
,Sigma
。例如,您可以將目標函式的公差定義為100*eps
:
- Local minimum possible.
- > In hwcalbycapfloor at 93
- In hwcalbycap at 75
- Alpha =
- 1.0000e-06
- Sigma =
- 0.0127
先前的警告表明轉換不是最佳的。使用的搜尋演算法未找到符合所有約束的解決方案。要辨別該解決方案是否可接受,請通過為以下項指定第三個輸出(OptimOut
)來檢視優化結果:
hwcalb(RateSpec, MarketStrike, MarketMat,...
結構的OptimOut.residual
欄位OptimOut
是優化殘差。此值包含Black caplet和優化過程中計算出的值之間的差異。您可以使用該OptimOut.residual
值計算與Black Caplet價格相比的百分比差異(誤差),然後確定殘差是否可以接受,決定是否接受以單一數值引數化的市場Alpha
和Sigma
。
使用市場資料和Black模型獲取價格
Black -76模型被認為是世界範圍內廣泛接受的互換期權定價模型,互換期權計算公式看起來和期權價格公式一 樣,這表示在使用Black模型對互換期權進行定價時,可以用和定價期權時同樣的方法進行計算.為了使Black模型生效,只需輸入由市場決定的隱含波動率即可。
為了確定優化的有效性,請使用Black公式和市場資料計算參考值。請注意,您必須首先對市場資料進行插值以獲得用於計算的資料量:
- FlatVol = interp2(Mats, Strikes, MarketVol, datenum(Maturity),
使用Black模型計算價格:
capbybike, Settle, Maturity, FlatVol,...
- Caplets =
- 0.3210
- 1.6355
比較優化值和Black值並以圖形方式顯示
在計算了參考值之後,請通過分析和圖形方式比較這些值,以確定是否計算出的單個值Alpha
並Sigma
提供適當的近似值:
- plot(MarketMatNum(2:end), Caplets, 'or', MarketMatNum(2:end), O
- ylabel('Caplet Price');
- t
- set(gcf, 'NumberT
使用Black,HW分析和HW樹模型比較上限價格
最受歡迎的見解
1.用機器學習識別不斷變化的股市狀況—隱馬爾科夫模型(HMM)的應用
8.R語言如何做馬爾科夫轉換模型markov switching model
使用Black模型,Hull-White分析模型和Hull-White樹模型比較相應上限價格。