原文鏈接:http://tecdat.cn/?p=19118
本文分析將用於制定管理客戶和供應商關系的策略准則。假設:
- 貴公司擁有用於生產和分銷聚戊二酸的設施,聚戊二酸是一種用於多個行業的化合物。
- 制造和分銷過程的投入包括各種石油產品和天然氣。價格波動可能非常不穩定。
- 營運資金管理一直是一個挑戰,最近匯率的走勢嚴重影響了資金。
- 您的CFO使用期貨和場外交易(OTC)工具對沖價格風險。
董事會感到關切的是,公司已連續第五個季度未能實現盈利預期。股東不高興。罪魁禍首似乎是商品銷售成本的波動。
示例
- 您應該問有哪些能源定價模式的關鍵業務問題?
- 您可以使用哪種方法來管理波動率?
這里有一些想法。關鍵業務問題可能是:
- 哪些輸入價格和匯率比其他輸入價格和匯率更不穩定?何時?
- 價格走勢相關嗎?
- 在市場壓力時期,它們的走勢會有多動盪?
- 是否有我們可以部署的套期工具或可以用來減輕定價風險?
管理波動
- 建立輸入監視系統,以了解哪些輸入會影響運行制造和分銷流程的哪些成本。
- 監控價格走勢和特征,並按流程衡量對關鍵營業收入構成部分的影響的嚴重性。
- 內置價格無法承受預警指標。
在本文中,我們將
- 使用波動率聚類
- 擬合AR-GARCH模型
- 從AR-GARCH模型模擬波動率
- 衡量風險
ARCH模型
我們已經研究了波動性聚類。ARCH模型是對此進行建模的一種方法。
這些模型對於金融時間序列特別有用,因為金融時間序列顯示出較大的收益率變動時期以及相對平穩的價格變化的間歇時期。
可以從z(t)標准正態變量和初始標准波動率開始指定AR + ARCH模型σ(t)2 = z(t)2。然后,我們用方差ε(t)=(sigma2)1 / 2z(t)ε的平方來調節這些變量。然后我們首先為每個日期計算t = 1 ... n,
使用該條件誤差項,我們計算自回歸
現在我們准備計算新的方差項。
-
n <- 10500
-
z <- rnorm(n) ## 樣本標准正態分布變量
-
-
sig2 <- z^2 ##創建波動率序列
-
-
-
omega <- 1 ## 方差
-
-
-
-
mu <- 0.1 ## 平均收益率
-
-
-
omega/(1-alpha)
-
sqrt(omega/(1-alpha))
## [1] 2.222222
## [1] 1.490712
-
for (t in 2:n) ## 滯后於第二個日期開始
-
-
-
{
-
y[t] <- mu + phi*(y[t- 1 -mu) + e[t] ## 收益率
-
-
-
sig2[t+ 1] <- omega + alpha * e[t ^2 ## 生成新的sigma ^ 2。
-
結果沒有指導意義。
我們可以看到
- 條件標准偏差中較大的孤立峰
- 在ARCH圖中也顯示
估計
我們有多種方法來估計AR-ARCH過程的參數。首先,讓我們加載一些數據。
-
-
-
-
-
data.1 <- na.omit(merge(EUR_USD, GBP_USD,
-
OIL_Brent))
-
P <- data.1
-
R <- na.omit(diff(log(P)) * 100)
然后,我們繪制數據自相關。
純隨機性檢驗,p值小於5%,序列為非白噪聲
擬合
我們的第一項任務是ARMA-GARCH模型。
- 指定普通
sGarch
模型。 garchOrder = c(1,1)
表示我們使用殘差平方和方差的一期滯后:- 使用
armaOrder = c(1,0)
指定長期平均收益模型 mean
如上述方程式中包括 。- 按照
norm
正態分布 。我們還將使用赤池信息准則(AIC)將擬合與學生t分布進行比較 。 - 使用將數據擬合到模型
ugarchfit
。
-
ugarchspec( variance.model = list(model = "sGARCH",
-
garchOrder = c( 1, 1)), mean.model = list(armaOrder = c(1,
-
0), include.mean = TRUE), distribution.model = "norm")
讓我們看一下該模型中的條件分位數,也稱為VaR,設置為99%。
-
## 首先是條件分位數
-
-
-
plot(fit, which = 2)
現在,讓我們生成一個繪圖面板。
-
-
-
plot(fit , which = 6)
-
-
-
-
# # 標准化殘差的acf
-
-
-
# # 平方標准殘差的acf
例子
讓我們重做GARCH估計,現在使用Student t分布。
-
## 用學生t分布擬合AR(1)-GARCH(1,1)模型
-
-
-
AR.GARCH.spec <- ugarchspec(variance.model = list(model = "sGARCH",
-
garchOrder = c(1, 1)), mean.model = list(armaOrder = c(1,
-
0), include.mean = TRUE), distribution.model = "std")
-
結果
- 絕對觀測值的ACF表明存在很大的波動性聚類。
- AR-ARCH估計具有有界的標准化殘差(殘差/標准誤差),從而大大降低了這些誤差。
- 看來t分布AR-GARCH解釋了原油波動的大部分趨勢。
用哪個模型?使用Akaike信息准則(AIC)測量模型中的信息。
使用正態分布模型的AIC = 4.2471。使用學生t分布模型的AIC = 4.2062。學生t分布模型更好。
這是我們可以從擬合模型中得出的一些常見結果:
-
## mu ar1 omega alpha1 beta1 shape
-
## 0 .04018002 0.01727725 0.01087721 0.03816097 0.96074399 7.03778415
系數包括:
mu
是原油的長期平均收益率。ar1
是一天后收益對今天收益的影響。omega
是長期方差。alpha1
滯后平方方差對今天的收益的影響。beta1
滯后平方殘差對今天收益率的影響。shape
是學生t分布的自由度。
讓我們來繪制隨時間變化的波動性。
-
## mu ar1 omega alpha1 beta1 shape
-
## 0 .04018002 0.01727725 0.01087721 0.03816097 0.96074399 7.03778415
接下來,我們繪制並檢驗殘差:
hist(z.hat)
mean(z.hat)
## [1] -0.0181139
var(z.hat)
kurtosis(z.hat)
我們看到了什么?
- 左偏。
- 厚尾。
- 兩種標准檢驗均表明拒絕該序列為正態分布的零假設。
模擬
- 使用fit 結果中的參數指定AR-GARCH。
- 生成2000條模擬路徑。
-
-
GARCHspec
-
## 生成長度為2000的兩個路徑
-
-
ugarchpath(GARCHspec, n.sim = 2000,
-
n.start = 50, m.sim = 2)
提取波動率
head(vol)
-
## [,1] [,2]
-
## T+1 2.950497 5.018346
-
## T+2 2.893878 4.927087
-
## T+3 2.848404 4.849797
-
## T+4 2.802098 4.819258
-
## T+5 2.880778 4.768916
-
## T+6 2.826746 4.675612
-
## 實際的模擬數據
-
X <- series$seriesSim
-
head(X)
-
## [,1] [,2]
-
## [1,] 0.1509418 1.4608335
-
## [2,] 1.2644849 -2.1509425
-
## [3,] -1.0397785 4.0248510
-
## [4,] 4.4369130 3.4214660
-
## [5,] -0.3076812 -0.1104726
-
## [6,] 0.4798977 2.7440751
示例
模擬的序列是否符合事實?
-
X1 <- X[, 1]
-
acf(X1)
-
acf(abs(X1))
-
qqnorm(X1)
-
qqline(X1, col = 2)
-
shapiro.test(X1)
這是結果
Shapiro-Wilk檢驗-零假設:正態分布。如果p值足夠小,則拒絕原假設。-必須使用QQ圖進行驗證。
多元GARCH
從單變量GARCH到多元GARCH
- 動態條件相關。
- 具有隨時間變化的波動性。
- 如何使資產收益之間的相關性也隨時間變化。
為什么?-如果我們擁有投資組合(例如應收賬款,可能會面臨匯率和原油價格變動的情況),該怎么辦?-我們需要了解這三個因素的聯合波動性和依賴性,因為它們會影響應收賬款的整體波動性。我們將使用這些條件方差來模擬管理貨幣和商品風險的工具的期權價格。
dcc.garch11.spec
現在進行擬合
現在讓我們得到一些結果:
- 聯合條件協方差參數顯着不同於零。
現在,使用來自擬合的所有信息,我們進行預測。我們用來模擬套期工具或投資組合VaR或ES,讓我們先繪制隨時間變化的sigma。
示例
鑒於條件波動性和相關性,請查看VaR和ES的三個風險因素。
這是一些結果。首先,計算,然后繪圖。
-
## 1% 5% 50% 95% 99%
-
## -6.137269958 -3.677130793 -0.004439644 3.391312753 5.896992710
-
## 1% 5% 50% 95% 99%
-
## -1.3393119939 -0.8235076255 -0.0003271163 0.7659725631 1.2465945013
-
## 1% 5% 50% 95% 99%
-
## -1.520666396 -0.980794376 0.006889539 0.904772045 1.493169076
我們看到:
- 在分布的負數部分權重更大。
- 匯率大致相同。
- 如果您在客戶和分銷過程中使用布倫特原油,則可能會在約1%的時間內遭受600%以上的損失。
讓我們使用新的波動率模型和分布進行調整,以擬合不對稱和厚尾。
在這里,我們嘗試使用一種新的GARCH模型:gjr代表Glosten,Jagannathan和Runkle(1993)他們提出的一個波動模型:
σ2t=ω+ασ2t-1+β1ε2t-1+β2ε2t-1It-1
擬合此模型。
我們可以使用 tailplot()
函數解釋結果。
-
## p quantile sfall
-
## [1,] 0.900 3.478474 5.110320
-
## [2,] 0.950 4.509217 6.293461
-
## [3,] 0.975 5.636221 7.587096
-
## [4,] 0.990 7.289163 9.484430
-
## [5,] 0.999 12.415553 15.368772
quantile
給出我們的風險價值(VaR)和期望損失(ES)
可以看到尾部圖。
-
結果表明,使用AR-GARCH處理后,尾部更厚。
-
我們可以回到市場和風險部分,了解平均超額價值以及VaR和ES的置信區間。
-
對於應收帳款,緩解策略可能是通過再保險和總收益互換提供超額風險對沖。
-
對客戶的信用風險分析至關重要:頻繁更新客戶將有助於及早發現某些解決方案的問題。
最受歡迎的見解
1.用機器學習識別不斷變化的股市狀況—隱馬爾科夫模型(HMM)的應用