该示例演示了校准一个用于估计产品资料信用损失的单因素模型的技术CreditDefaultCopula.
或者信用额度
课程。
此示例使用股权返回数据作为信用波动的代理。使用权益数据,对单个因素的敏感性估计是库存和索引之间的相关性。数据集包含一系列股票的每日返回数据,但单因素模型每年需要校准。假设没有自相关,那么股票和市场指数之间的日常交叉相关性等于年度互相关。对于表现出自相关的股票,该示例显示了如何计算包含自相关效果的隐含年相关性。
由于企业默认值很少,因此在校准默认模型时常常使用代理信用代理。单因素Copula使用潜在变量模拟公司的信誉值得,一种:
在哪里X
是系统性信用因素,W.
是定义公司对一个因素的敏感性的重量
是特质因素。W.
和
具有0的平均值和1的方差,并且通常被认为是高斯或其他T分布。
计算之间的相关性X和一种:
自从X和一种差异1
通过建设和
不相关X, 然后:
如果您使用股票作为代理一种市场指数返回是一个代理X,然后重量参数,W.,库存和索引之间的相关性。
使用道琼斯工业平均水平的回报(DJIA)作为市场的整体信用流动的信号。30个组件公司的回报用于校准每个公司的敏感性到系统信用运动。股票市场其他公司的重量以同样的方式估计。
%阅读一年的DJIA价格数据t = readtable('dowportfolio.xlsx');该表包含日期和市场上每个公司的日期和价格%以及Djia。DISP(头(:,1:7))))
日期DJI AA AIG AXP BAÇ_________ _____ _____ _____ _____ _____ _____ 2006年1月3日10847 28.72 68.41 51.53 68.63 45.26 2006年1月4日10880 28.89 68.51 51.03 69.34 44.42 2006年1月5日10882 29.12 51.57 68.6 68.53 44.65 1/6/ 2006 10959 29.02 68.89 51.75 67.57 44.65 1/9/2006 11012 29.37 68.57 53.04 67.01 44.43 1/10/2006 11012 28.44 69.18 52.88 67.33 44.57 1/11/2006 11043 1/11/2006 11043 28.05 69.6 52.59 68.3 44.98 1/12/2006 10962 27.68 69.04 52.667.9 45.02
%我们将日期和索引分开,并使用每日退货计算%tick2ret。日期= t {2:结束,1};index_adj_close = t {:,2};stocks_adj_close = t {:,3:结束};index_returns = tick2ret(index_adj_close);stocks_returns = tick2ret(stocks_adj_close);
从索引返回和每家公司的股票回报之间计算单因素权重。
[c,daily_pval] = cor([index_returns stocks_returns]);w_daily = c(2:结束,1);
使用单因素时可以直接使用这些值CreditDefaultCopula.
或者信用额度
。
线性回归通常在因子模型的背景下使用。对于单因素模型,通过利用相关系数与确定系数的平方根相匹配来使用市场返回的库存回归的线性回归。R.-Squared)线性回归。
w_daily_regress = zeros(30,1);为了i = 1:30 lm = fitlm(index_returns,stocks_returns(:,i));w_daily_regress(i)= sqrt(lm.rsquared.ordinary);结尾%回归的R值等于索引交叉相关性fprintf('max abs diff:%e \ n',max(abs(w_daily_regress(:) - w_daily(:)))))
MAX ABS差异:7.771561E-16
这种线性回归适合表单的模型 ,这通常与单因素模型规范不符。例如, 和 没有零均值和1的标准偏差。通常,系数之间没有关系 和错误术语的标准偏差 。线性回归仅用作为一种工具,以获得由平方根给出的变量之间的相关系数R.- 值。
对于单因素模型校准,有用的替代方案是使用标准化股票和市场返回数据来适应线性回归 和 。“标准化”这里意味着通过标准偏差减去平均值并除去。该模型是 。但是,因为都是 和 有一个零平均值,截距 总是零,因为都是 和 具有1的标准偏差,误差术的标准偏差满足 。这与单因素模型的系数的规范完全匹配。单因素参数 被设置为系数 ,并且与前面直接发现的值相同。
w_regress_std = zeros(30,1);index_returns_std = zscore(index_returns);stocks_returns_std = zscore(stocks_returns);为了i = 1:30 lm = fitlm(index_returns_std,stocks_returns_std(:,i));w_regress_std(i)= lm.coffients {'x1'那'估计'};结尾%回归的R值等于索引交叉相关性fprintf('max abs diff:%e \ n',max(abs(w_regress_std(:) - w_daily(:)))))
MAX ABS差异:5.551115E-16
这种方法使其自然地探索变量的分布假设。这CreditDefaultCopula.
和信用额度
对象支持正常分布万博1manbetx,或T.底层变量的分布。例如,使用时normplot.
市场回报有重尾,因此是一个T.-Copula更符合数据。
normplot(index_returns_std)
基于股票与索引之间的日常相关性来计算权重。然而,通常的目标是在未来进一步估计信贷违约的潜在损失,往往是一年的。
为此,有必要校准重物,使得它们对应于一年的相关性。由于任何合理的数据集没有足够的数据,由于数据点的稀疏性,任何合理的数据集没有足够的数据都没有足够的数据,因此才能直接校准。
然后,您面临从更频繁采样的数据集计算年度返回相关性的问题,例如,每日返回。解决此问题的一种方法是使用重叠窗口。这样,您可以考虑给定长度的所有重叠时段的集合。
%以例为例,考虑重叠的1周窗口。index_overlapping_returns = index_adj_close(6:结束)./ index_adj_close(1:end-5) - 1;stocks_overlapping_returns = stocks_adj_close(6:结束,:) ./ stocks_adj_close(1:end-5,:) - 1;c = cor([index_overlapping_returns stocks_overlapping_returns]);w_weekly_overlapping = c(2:结束,1);%比较与日常相关性的相关性。%显示每日与重叠的每周相关性Barh([w_daily w_weekly_overing])yticks(1:30)yticklabels(t.properties.variablenames(3:结束))标题('与索引的相关性');传奇('日常的'那'每周重叠');
最大互相关P.- 每日回报的价值表现出强烈的统计学意义。
maxdailypvalue = max(每日_pval(2:end,1));disp(表(maxdailypvalue,......'variablenames',{'日常的'},......'rownames',{'最大p值'})))
每日__________最大p值1.5383e-08
移动到重叠的滚动窗式的每周相关性略有不同的相关性。这是估计日常数据的较长周期相关性的便捷方式。但是,相邻重叠窗口的返回是相关的,因此相应的返回P.- 重叠每周退货的值得无效P.- value计算corr
功能不考虑重叠窗口数据集。例如,相邻的重叠窗口返回由许多相同的DataPoint组成。此权衡是必要的,因为迁移到非传播的窗口可能导致一个不可接受的稀疏样本。
%与非重叠每周回报相比星期五=平日(日期)== 6;index_weekly_close = index_adj_close(星期五);stocks_weekly_close = stocks_adj_close(星期五,:);index_weekly_returns = tick2ret(index_weekly_close);stocks_weekly_returns = tick2ret(stocks_weekly_close);[c,weekly_pval] = cor([index_weekly_returns stocks_weekly_returns]);w_weekly_nonoverlapppt = c(2:结束,1);maxweeklypvalue = max(每周_pval(2:结束,1));%将相关性与日常和重叠进行比较。barh([w_daily w_weekly_overing w_weekly_nonoverlapping])yticks(1:30)yticklabels(t.properties.variablenames(3:结束))标题('与索引的相关性');传奇('日常的'那'每周重叠'那'非重叠每周');
这P.-Values为每周相关的相关性高得多,表明统计显着性损失。
%计算每个系列中的样本数量numdaily = numel(index_returns);numoverlapping = numel(index_overlapping_returns);numweekly = numel(index_weekly_returns);disp(表([maxdailypvalue; numdaily],[nan; numoverlapping],[maxweeklypvalue; numweekly],......'variablenames',{'日常的'那'重叠'那'non_overlapping'},......'rownames',{'最大p值'那'样本大小'})))
每日重叠非_______________________________最大p值1.5383e-08 nan 0.66625样品大小250 246 50
与财务数据的共同假设是资产返回在时间上不相关。也就是说,资产随时返回T.对以前的返回是不相关的T.-1。在这种假设下,年互相关与日常交叉相关。
让 是当天市场指数的日常日志回报T.和 是相关资产的每日回报。使用CAPM,关系模拟为:
单因素模型是这种关系的特殊情况。
在假设资产和索引返回的情况下,每个过去的所有过去都不相关,那么:
y,
让每个系列的总年度(日志)返回返回
在哪里T.可能252.
取决于底层日常数据。
让 和 是日常差异,这些差异从日常返回数据估计。
之间的每日协方差 和 是:
日常相关性 和 是:
考虑差异的差异和协方差的回报年份。在没有自相关的假设下:
资产与指数之间的年度相关性是:
在没有自相关的假设下,请注意,每日交叉相关实际上是平等的到年度互相关。您可以通过将单因素权重设置为每日交叉相关来直接在单因素模型中直接使用此假设。
如果保证资产没有自相关的假设会松开,那么每天从资产之间的年互相关的转化并不直接。这 现在有其他条款。
首先考虑计算变化的最简单的情况
什么时候T.等于2
。
自从 , 然后:
考虑T.=3.
。表示每日返回之间的相关性
几天
。
在一般情况下,对于骨料的方差T.- 从尾随返回自相关K.天,有:
这也是资产方差的相同公式:
之间的协方差 和 如前所述等于 。
因此,索引和资产之间的互相关与尾随的自相关1
通过K.天是:
注意 是假设无自相关的重量。平方根术语提供了调整,以考虑该系列中的自相关。调整更多地取决于索引自相关和库存自相关之间的差异,而不是这些自相关的大小。因此,为自相关调整的年度重量为:
在每个股票中寻找自相关,前一天的返回,并调整权重,以包含为期一天自相关的效果。
Corr1 =零(30,1);pv1 =零(30,1);为了StockIdx = 1:30 [Corr1(StockIdX),PV1(StockIdx)] = Corr(Stocks_returns(2:end,StockIdx),Stocks_returns(1:1 end-1,StockIdx));结尾autovorridx =查找(pv1 <0.05)
autovorridx =4×110 18 26 27
有四只股票低P.- 可能表明存在自相关的价值。考虑到单日自相关,估计与此模型下的指数的年互相关。
%基于年交叉相关的权重等于日常交叉%相关乘以额外因素。t = 252;w_yearly = w_daily;[rho_index,pval_index] = cor(index_returns(1:结束-1),index_returns(2:结束));%检查我们的索引是否有任何显着的自相关fprintf('指数p值中的一天自相关:%f \ n',pval_index);
指数P值中的一天自相关:0.670196
如果pval_index <0.05%如果p值表示索引中没有显着的自相关,%将其rho设置为0。rho_index = 0;结尾w_yearly(autovorridx)= w_yearly(autovorridx)。*......sqrt((t / 2 +(t-1)。* rho_index)./(t / 2 +(t-1)。* corr1(autovorridx)));%将调整后的年交叉相关值与日常值进行比较barh([w_daily(autovorridx)w_yearly(autovorridx)])yticks(1:4);Allnames = T.Properties.variablenames(3:结束);yticklabels(All命名(AutovorRIDX))标题('年度一个因素权重');传奇('没有自相关'那'用自相关'那'地点'那'东南');
信心量
|CreditDefaultCopula.
|GetScenarios.
|portfoliorisk.
|风险协调
|模拟