delta CoVaR 系統(tǒng)性風(fēng)險(xiǎn)指標(biāo)計(jì)算

引言

今天總結(jié)下CoVaR 這篇文章,作為系統(tǒng)性風(fēng)險(xiǎn)的大牛之作,


image.png

引用量之巨(請收下膝蓋)。話不多說,今天主要介紹簡單的實(shí)現(xiàn),太多都過多介紹理論公式,講得多了,反而是壞事,距離感太強(qiáng)。
所以先介紹 delta covar 怎么計(jì)算。
用matlab 為例來算,為什么用它,是因?yàn)閙atlab有個systemic risk 計(jì)算的包,但是里面的代碼不是很友好(封裝越好,改起來越麻煩,不接地氣),所以利用一部分關(guān)鍵信息作為示例。

計(jì)算

預(yù)處理

  • 數(shù)據(jù)
    數(shù)據(jù)一般都是日收益率,當(dāng)然算這個指標(biāo),一般都是兩兩之間的計(jì)算。所以準(zhǔn)備個最簡單的兩天時(shí)間序列。長度當(dāng)然起碼得一年吧,所以怎么也得有個252吧。參考下面網(wǎng)盤中(test.xlsx)
  • 均值和波動率建模
    這個方法有很多中,
    對于均值方法,非常簡單的方法就是去均值處理,
 r0_x = r_x - mean(r_x)

對于波動率,當(dāng)然取garch 方法,常見的garch 很多隨便挑選。
這里采用動態(tài)相關(guān)系數(shù)的 gjrgarch。至于原理,不是本節(jié)內(nèi)容,自行百度。

[p,h]=dcc_gjrgarch(data); % 其中,p 是動態(tài)相關(guān)系數(shù),h 是動態(tài)的波動率

然后提取一些變量 (假設(shè)想研究一個 大型上市公司B 對市場(market)指數(shù)A的影響,即B對A的風(fēng)險(xiǎn)溢出(就是B對A的Delta CoVaR ))

s_m = sqrt(h(:,1));  %% s_m 是A(market index)的標(biāo)準(zhǔn)差
s_x = sqrt(h(:,2)); %%   B (大型上市公司)的標(biāo)準(zhǔn)差
rho = squeeze(p(1,2,:)); %%  降低維度。提取后是一個包含相關(guān)系數(shù)的向量
  • 計(jì)算VaR、ES和beta
%一般設(shè)定a=0.05 就是0.05 的分位數(shù),s_m 是A的標(biāo)準(zhǔn)差,r0_x是B的去均值后的序列,s_x 是B的動態(tài)標(biāo)準(zhǔn)差,rho 是動態(tài)相關(guān)系數(shù)。
% 代碼中很清晰看到,計(jì)算結(jié)果中,beta 是A對B 線性回歸的beta, var 是B的VaR,ES 也是B的ES。
function [beta,var,es] = calculate_idiosyncratic(a,s_m,r0_x,s_x,rho)
    beta = rho .* (s_x ./ s_m);  
        c = quantile((r0_x ./ s_x),a);
    var = s_x * c;
    es = s_x * -(normpdf(c) / a);

end
a=0.05;
[beta,var,es] = calculate_idiosyncratic(a,s_m,r0_x,s_x,rho);0.05 alpha  
  • 計(jì)算covar 和delta covar

為了方便說明代碼,先來上公式,
covar 這個文章是用分位數(shù)回歸的方法來計(jì)算的。


image.png

image.png

很直觀利用分位數(shù)回歸,x采用B的VaR, 得到的就是A covar ,delta covar 就是再減去當(dāng)B取分位數(shù)為中位數(shù)的值所得到的A 的covar,二者相減,常數(shù)項(xiàng)去掉就是第二個公式。

% a =0.05,r0_m 是A的去均值序列,r0_x 是B的去均值序列,var 是B的VaR
% 所以得到的covar和dcovar 是B對A的影響 。
function [covar,dcovar] = calculate_covar(a,r0_m,r0_x,var)
        beta = quantile_regression(r0_m,r0_x,a);
        covar = beta(1) + (beta(2) .* var);
    dcovar = beta(2) .* (var - repmat(median(r0_x),length(r0_m),1));
end
 [covar,dcovar] = calculate_covar(a,r0_m,r0_x,var);

當(dāng)然covar 文章里說還有對一些狀態(tài)變量發(fā)生聯(lián)系,也很簡單,

image.png

公式6a 是說B序列和M代表的很多狀態(tài)變量有關(guān),
公式6b 是說A序列不僅和B序列有關(guān),還和狀態(tài)變量你M有關(guān)系。所以把6a 帶入到6b 中,會發(fā)現(xiàn)其實(shí)還是和狀態(tài)變量進(jìn)行回歸。
所以得到


image.png

image.png

所以根據(jù)7a 得到了B的VaR ,然后根據(jù)7b 得到了A的CoVaR.
對應(yīng)公式也很簡單

% state_variables 的輸入應(yīng)該是一個矩陣,每一列代表一個變量。
function [covar,dcovar] = calculate_covar(a,r0_m,r0_x,var,state_variables)
      beta = quantile_regression(r0_m,[r0_x state_variables],a);
      covar = beta(1) + (beta(2) .* var);
      for i = 1:size(state_variables,2)
          covar = covar + (beta(i+2) .* state_variables(:,i));
      end
  dcovar = beta(2) .* (var - repmat(median(r0_x),length(r0_m),1));
end

最后這就計(jì)算完畢了。

在新冠病毒肆虐全球金融的行情下,關(guān)注系統(tǒng)性風(fēng)險(xiǎn)至關(guān)重要。

[代碼](鏈接:https://pan.baidu.com/s/1o52XgHDn_ElwuuU0eNrJWQ 密碼:rcw4)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容