市场风险是商业银行的三大风险之一,它是指因市场价格(利率、汇率、股票价格和商品价格)的不利变动而使银行表内和表外业务发生损失的风险。在商业银行的所有风险中,市场风险是最容易被定量化度量的,因为它所表示的就是市场和价格变动时,资产负债价值的变动。根据我国《商业银行市场风险管理指引》的要求,商业银行应该对银行账簿和交易账簿中不同类型的市场风险选择适当的、可以普遍接受的计量方法,基于合理的假设前提和参数,计量所有的市场风险。
VaR模型已经成为计量商业银行市场风险的主流方法,并且《巴塞尔新资本协议》也建议银行采用VaR内部模型法计量市场风险,目前VaR方法已经成为《巴塞尔新资本协议》的技术基础之一。我国也已经接受和使用VaR方法,《中国银行业监督管理委员会商业银行市场风险管理指引》规定:“VaR值已成为计量市场风险的主要指标,也是银行采用内部模型计算市场风险资本要求的主要依据”。所以,VaR模型为商业银行市场风险的计量提供了理论基础,商业银行市场风险的量化体系研究就是围绕着VaR模型展开的。
对于国内商业银行,市场风险主要集中于债券、拆借、回购、外汇、互换、期权、远期利率合约等金融产品,这些产品的交易过程规范,相关交易数据和市场数据易得,从而为商业银行市场风险的定量研究提供了数据基础。
同时,为了解决商业银行众多市场头寸的风险计量,金融软件开发商们提供了计算VaR值的完整计算机系统。在国内,已有金融机构采用了OPICS、ALgo等系统计算VaR值,展开事后检验和压力测试,这些系统(本文下称VaR系统)功能齐全,计算效率高,从而为商业银行市场风险的量化提供了硬件保障。
总之,我国的商业银行,特别是规模较大的商业银行,在数据存储、计算机系统等方面已具备了采用VaR模型计量市场风险的能力。现阶段,我国四大国有商业银行和招商银行等股份制商业银行,正在根据《巴塞尔协议》的要求,建立以VaR为核心的市场风险计量与管理体系。这一过程看似简单,但由于国内缺乏风险量化体系建设方面的经验,所以在具体实施过程中,银行不可避免地将会碰到诸多操作上和理论上的困难,本文拟从我国银行业的实际出发,对市场风险量化体系的建设做一些探索。
市场风险量化体系主要分为两方面内容:一是市场风险的计量,二是风险量化基础上的市场风险管理。本文将会从外部数据的导入、VaR系统定价模型的验证、VaR模型的事后检验以及压力测试入手,探讨市场风险计量体系的构建;从VaR限额的设置入手,探讨我国商业银行市场风险管理体系的构建。
二、VaR系统的验证
我国商业银行购进相关VaR系统的时间不长,大部分在一年左右,所以银行有必要确认系统的不同功能以及模型和变量的选取方法,同时,对VaR系统进行验证也是《巴塞尔协议》和银行监管的要求。比如《商业银行市场风险管理指引》第十六条中要求,“商业银行的董事会、高级管理层和与市场风险管理有关的人员应当了解本行采用的市场风险计量方法、模型及其假设前提,以便准确理解市场风险的计量结果”;在第十七条中要求,“商业银行应当采取措施确保假设前提、参数、数据来源和计量程序的合理性和准确性”。
VaR系统是商业银行量化市场风险的基础与核心,对于刚引进的VaR系统,银行需要完成两方面的基础性工作:一是整合VaR系统与银行其他交易系统或数据库之间的关系,解决好VaR系统与其他系统之间的数据接口问题,要明确外部数据是从哪些系统、以何种方式、是否准确无误地输入到了VaR系统中;二是要验证VaR系统计算的准确性,在VaR系统中,一般会提供多种方法计算VaR值,比如常见的历史模拟法、方差-协方差方法、蒙特卡罗模拟法等,甚至有的还提供了Bootstrap方法,但从国内外的实际应用看,银行基本上都是采用历史模拟法计算VaR值,而历史模拟法的计算需要借助于金融产品的定价公式,所以在使用相应的VaR系统时,应当明确金融产品定价模型的形式及每个变量的选取方式。
(一)系统外部数据的导入
不同类别的金融产品均有其相应的交易系统,银行在交易前台一般配备人民币本币交易系统、外汇交易系统、期权交易系统等,有些银行还配备有彭博和路透系统,这些系统中记录有银行的相关交易数据和公开市场数据。为了计算VaR值,银行需要将不同交易系统的数据导入到VaR系统中。《巴塞尔协议》要求银行每日计算VaR值,所以银行需要将与市场风险有关的外部数据及时准确地输入到VaR系统中。但目前几乎所有的交易系统与VaR系统之间并不存在直接的数据接口,往往需要借助excel、access或记事本等中间媒介来完成数据的传递,有些甚至需要手工输入。
由于银行每日交易头寸众多,金融产品也复杂多样,所以银行应制定相关制度,配备专门人员负责VaR系统外部数据的输入,要将数据传递过程制度化、专门化、规范化,避免工作的随意性和无序性。在具体实施过程中,市场风险管理部门要明确交易系统的类型、各交易系统与VaR系统之间的数据传递过程以及数据接口的设计方法。为了确保数据传递的准确性,银行应定期将VaR系统中的数据与业界公认的数据供应商的数据进行比较,常见的数据供应商包括彭博、路透、中债公司等。
(二)VaR系统中定价模型的验证
目前商业银行主要采用历史模拟法计算VaR值。历史模拟法通过市场因子的变化刻画投资组合价值的波动,所以核心是采用风险因子对持有头寸进行估值,这一过程是通过金融产品的定价公式完成的。所以对于引入的VaR系统,银行需要对系统中定价模型的准确性进行验证,这主要包括三方面内容:一是确定金融产品定价模型的形式,二是确定模型中变量的选取方式及其依据,三是构建平行模型,验证VaR系统定价的准确性。
首先,验证工作的第一步就是明确银行持有的各类金融产品的定价模型,比如债券采用未来现金流折现的方法进行估值,欧式期权采用Black-Scholes公式进行定价等等。
定价模型的形式确定后,接下来就是确定模型中变量的选取方式。在所有的变量中,折现因子是一个基础性变量,固定收益产品和衍生品都需要借助于它进行估值。在金融市场中,折现因子并不是一个公开市场数据,它是由相应的收益率曲线计算出的。但市场上收益率曲线众多,不同市场上有其对应的收益率曲线,同一个市场内也会由于产品的不同、信用等级的不同而存在多条收益率曲线,所以银行要建立好金融产品与收益率曲线之间的映射关系(mapping),并通过定期检查确保这些映射关系的正确性。
关于折现因子的另外一个重要问题就是折现因子本身生成过程的验证,步骤如下:首先,从理论上推导出由收益率曲线生成折现因子的模型;然后,根据推导出的公式,对于给定的样本数据,自行编程计算折现因子;最后,再与VaR系统给出的折现因子值进行对比,借以判别系统计算折现因子的准确性。
在上述由收益率曲线生成折现因子的过程中,债券、拆借、回购等固定收益产品的计算方式不同于远期、期权等衍生品。固定收益产品采用相应级别的平价债券收益率曲线(par bond yield curve)生成折现因子,例如美国AAA级债券对应的收益率曲线为USDF21,它表示在对美国AAA级债券估值时,采用的折现因子是由收益率曲线USDF21生成的。与此截然不同,金融衍生品通常采用相应币种的LIBOR(或SHIBOR)和SWAP曲线生成折现因子①,在这些衍生品的估值公式中会出现诸如e[-rT]形式的表达式,其中r代表某种货币的无风险收益率,T代表时间间隔,估值时会将e[-rT]处理为折现因子,由相应币种的LIBOR(或SHIBOR)和SWAP曲线生成。