压力测试(或情景分析),是指一个组合在特定场合下的损失程度。在这个场景下,我们会假设某些因子的走势,然后计算组合当这些因子变动时所造成的损失。比如,我们可以假设利率曲线上移 100BP ,从而导致债券价格下跌造成损失。对于股票,通常假设指数的跌幅,然后通过股票与指数之间的关系(通常使用 Beta )来确定股票的损失。
1、常规压力测试方法
一个资产组合可能同时受到多个风险因子的影响,比如外币资产还受到汇率价格的影响,股票资产会受到股票价格的影响。即使对于同一类资产,风险因子也会不一样。比如上海交易所上市的股票对应风险因子为上证指数,但香港上市的股票就需要选取香港交易所的对应指数。
在多样化的资产组合中,一个压力测试应当尽可能地考虑到所有因子的走势,这需要我们假设每一个因子的走势。对于一个同时持有上海交易所上市股票和香港交易所上市股票的组合,两个交易所上市的股票虽然风险因子不一样,但风险因子之间具有相当大的关联性。当上证指数出现较大亏损时,香港股票很大概率上会下跌。
一个可行的做法是直接指定每个因子的走势。这种做法并不是太合适:
- 很难枚举所有的因子,考虑到不同的市场、不同的资产类型,风险因子可以有上千个。
- 因子之间的平衡关系较难把握,破坏相关性关系。比如某些因子之间是正相关关系,某些因子之间是负相关的。要直接指定每个因子的走势满足这些关系较为困难。
2、连带效应
一个更有效的方法是使用连带效应:指定某些最直接、最简单的因子的走势,利用协方差矩阵推算出其它因子的走势。我们将因子分成两组,其走势分别为$ r_1$ 和$ r_2$ ,假设它们之间的协方差矩阵为:
假设因子走势为正态分布,那么
另一个角度:
将$ r_1$ 作为自变量,$ r_2$ 作为因变量,利用历史样本数据,可以得到与上述公式同样的结论,且无需考虑假设正态分布。
3、一个例子
下面举一个例子。组合持有分别价值 10 亿人民币的中国股票和 10 亿港币的港股,均已人民币记账。它受到两个市场的股票价格变动影响,同时还受到港币贬值的风险。假设其三个风险因子分别为上证指数、恒生指数和港币兑人民币汇率。以 5 天为周期,取截止到 7 月 28 日的最近 150 周市场数据,并用 0.94 的衰减因子,得到三个因子间的协方差矩阵为:
港币汇率 | 恒生指数 | 上证指数 | |
---|---|---|---|
港币汇率 | 0.000001622 | 0.000001375 | 0.000007428 |
恒生指数 | 0.000001375 | 0.000216294 | 0.000064284 |
上证指数 | 0.000007428 | 0.000064284 | 0.000210895 |
使用前面提到的办法,可以得到当假设上证指数跌 10%或恒生指数跌 10%时其它两个因子的变动:
上证指数跌 10% | 恒生指数跌 10% | |
---|---|---|
不考虑连带效应的压力测试结果(亿¥) | -1.00 | -0.83 |
上证指数 | -10% | -3.0% |
恒生指数 | -3.0% | -10% |
港币汇率 | -0.4% | -0.1% |
考虑连带效应的压力测试结果(亿¥) | -1.28 | -1.13 |
在该场景下,考虑连带效应后,损失之要增加约 30%。
4、在实际使用时需要注意该方法的缺陷
连带效应虽然简单且方便,但会出现意料之外的效果。比如将短期利率往上调 100BP ,然后使用连带效应进行压力测试,会出来非常诡异的结果。因为短期利率通常很小,往上调 100BP 是一个非常大的变动。如果只考虑它本身的影响,压力损失并不会很大。但考虑到连带效应,它会让别的因子变动也非常剧烈,最后算出来非常离谱的压力测试结果。
Q. E. D.