新浪财经

李振刚:蒙特卡洛模拟在风险控制中的应用

http://www.sina.com.cn 2007年12月03日 15:51 新浪财经

  

李振刚:蒙特卡洛模拟在风险控制中的应用

美国佳龙软件公司总裁李振刚
点击此处查看全部财经新闻图片

  2007中国(深圳)国际期货大会于2007年12月3日、4日在中国深圳举办。新浪财经作为独家网络合作伙伴,对会议进行全程直播。以下为美国佳龙软件公司总裁李振刚现场致辞。

  李振刚:我从芝加哥来,我做的东西跟大家不一样,我为什么要讲这个事情呢?因为我们做了一套风险控制系统和蒙特卡洛。虽然是做期权的风险控制,但是我们不排除期货股票或EDF,都可以用这套系统分析。

  现在我从概念上讲一讲这套系统的原理和怎么操作,以及很简单理论方面的东西,今天我不讲数学,数学讲起来很枯燥,大家对数学都不感兴趣,我把主要的地方给大家讲一讲。

  我们做风险控制一般有四个步骤:第一、我们要达到什么样的目的,用什么办法达到我的目的;第二、我们用什么办法测量风险的值?比如收取押金,用什么计算押金的数量?用什么东西会影响你的控制质量,英文叫Risk measures。第三、我们讲蒙特卡洛模拟。其中我们大概要过一下压力测试(Stress test)和验证测试(Back test。刚才有人已经讲过压力测试,但是验证测试还没有讲到,我们为什么要做这件事情,我们怎么样做这件事情?第四、我们再讲讲追加保证金,建立公共基金,我们来看一看蒙特卡洛的办法怎么做这些事情。

  风险控制基本来讲是有四部分,我们讲风险控制,大家讲风险控制是不是大家都控制起来?但是我们有目的,有办法。

  第一、我们要建立一个标准,一定要有标准,做任何事情都要有标准,如果没有标准你有你的想法,我有我的想法,你有你的数据,我有我的数据,大家就不能在一起交流。

  第二、我们要计算保证金,保证金是风险控制很重要一部分,但不是唯一一部分。比如交易所跟交易商,每天要计算一下保证金需要多少,交易商和客户也可以,在这个层面上也可以计算保证金需要多少。

  第三、要监控市场风险,虽然我们做了很重要的计算,我们很小心,我们的模型做了很多次、做的也很正确,我们不知道明天会发生什么事情?明天发生的事情市场上会出现很大的波动。

  第四、建立保护措施。

  在四个目的下有四个结果:

  第一、我们要建立一个风险的指标(Risk Measures),用什么数据测量风险,为什么用这个数据,这个数据有什么好处?有什么风险?

  第二、怎么来计算保证金,计算保证金有很多办法,刚才那位先生讲了欧洲怎么做这件事情。美国不一样,美国做期货有一系统,期权也有一套系统。我今天要主要讲蒙特卡洛模拟,用蒙特卡洛怎么计算,给大家一个概念。

  第三、监控市场风险就是追加保证金,是最后我们建立公共基金。

  第四、建立公共基金不行我们大家都要垮台了,整个市场就困难了。

  控制风险要有什么标准?我说10块钱,你说20块钱,为什么说10块钱,为什么说20块钱?有什么根据?有什么理论?有没有经过验证?有没有经过实践?

  讲完这个后我再讲一下VaR,很多先生已经讲了这个事情了,我要讲一下平均损失ES,我们为什么要用这个东西测量你的风险值,我们做一个很简单的对比,这就是这方面的内容。

  什么是好的风险指标呢?好的风险指标应该有四个标准。

  第一个指标很简单,不管有多大风险,我加进一些现金,加进一元风险就应该减少一元,如果这点都达不到那就不要再提了,风险指标根本就没有用。

  第二个指标点也很建设,持仓加倍风险也加倍,有人说这不是说废话吗?有些情况用一些风险指标不符合这些情况。

  第三个指标是一个很重要的概念,如果把我的持仓分开,分开很小的持仓,我们可以计算每一个持仓的风险,我们把它加起来得到一个数字,第二个办法是把所有的放回去做一个总的持仓再计算风险,分池仓的风险总额大于等于总持仓的风险。作为一个很大的公司可能有很多分支,每个分支有它自己的风险,如果我们把各个分支的风险计算完了加起来以后,不能保证这个情况,但是总公司的风险很大于各分支持仓风险的总和,你认为你已经把风险控制了,但是并没有,意思就是如果你选错了控制风险的指标,你还会造成一些意外的问题。

  下面很多看起来很麻烦(见图),如果把某个持仓分开,比如有IBM的股票、有五粮液的股票、有期权、有期货,另外一个仓也有相同的产品。持仓A的所有东西危险性都比持仓B大的话,他的总和应该比它大,这四个条件是作为测量风险指标的标准,满足所有的指标我们才认为你说出表现风险的值是好的东西,如果不达到这个标准就会有一些问题。

  我下面讲一下Value At Risk(VaR) ,大家对这个已经很熟悉了。什么是VaR?这个很简单,今天持仓有一个数值,明天增加数量也会减少数量,如果赚钱作为风险控制来说不能赔钱,不能赔太多?怎么测量呢?我们在99%的情况下风险的损失不会大于某个数量,是图上画的位置,这个值可以算出来就是VaR,这是世界上通用计算风险的指标,大家在讲风险控制基本上都知道这个指标,大家可能比较熟悉这个数字。

  但是我们还有一个值Expected Shortfall(ES),Expected Shortfall怎么算呢?我们选中99%的区间后,我们把它一直推,推到最边缘,像下面的图(见图),从大约负4.5到负11之间,我们把所有的风险值拿出来算出一个平均数,我们就给它起一个名叫做平均损失,这个值叫做ES,这个东西相对于你现在讲的风险值有很多好处。有什么好处呢?我们可以来比较一下。

  头一个是直接比较(见图),一个红线,我们来计算平均损失的时候我们收的押金要多,我们更保守,我们抵抗风险的能力更强,这是很直接的关系,从图象来看它有这个特点,重要的不是在这里,重要的在后边。

  我们刚才讲的风险控制的第三条标准,你把你的持仓分开以后,你计算它和整个总持仓的关系,分支仓风险总和大于等于总持仓的风险,用风险值做计算和总持仓比较,如果用这个值将会产生一定额外的风险,是你没有估计到的风险。而平均损失的风险值具备这个条件。

  还有一个问题,你到底损失了多少?风险值画出一个线,我们不知道风险值往外到底丢失了多少钱?我们的风险程度有多大?所以VaR这个值并不能测量。但我们知道平均数一个量,它能代表整个区间的估计值,它可以知道整个损失的数量。

  根据这两个比较,平均损失ES是比VaR更好的测量标准,那你就问为什么大家都用VaR,因为VaR是历史发展起来,大家一直延用这个东西,但是现在最新的研究来看,我们还有更好的变化,现在是不是有用平均损失值呢?现在已经有人在用平均损失了。

  我现在讲一讲怎么做蒙特卡洛模拟的步骤?蒙特卡洛模拟不是一个新东西,这个东西可能提出来几十年了,这个东西我们并没有直接的数值,我们只能模拟,也就是说提出各种假设我们模拟,根据模拟的结果来估计一下这个数值是多少,这个方法如果你用Excel可以知道,可以做蒙特卡洛模拟,但是你只能做很少的数量,它是统计概率的东西。

  有另外一套系统,一个叫TIMS,TIMS是美国期权结果算公司用的一套系统,和SPAN,美国期货公司把它作为一个标准,蒙特卡洛模拟从理论上来讲比这两个系统都要精确。台湾中山大学教授写了一篇文章,大概有十年了,他比较TIMS和SPAN系统,你怎么知道这个系统不好或不好呢?它用一个蒙特卡洛比较其他两个系统,他认为蒙特卡洛是标准的系统,我们现在用蒙特卡洛计算标准值。

  怎么实现蒙特卡洛?我画了一个图(见图),基本上有三部分的输入数据:

  第一部分历史上的收盘价格,根据你要分析的系统,你可以分析股票、分析DEF、可以分析期货、可以分析期权、可以分析债券,我们头一步要做一个统计方面的计算,计算它的平均值,计算它的分布,它属于什么分布,讲分布大家都知道,在以前我们做蒙特卡洛、风险控制也好,都是用正态分布,要选能够准确描述市场的分布。另外,蒙特卡洛模拟,什么叫蒙特卡洛模拟呢?我们用今天的分布情况,我们要估计一下明天会产生什么情况?比如任何一种股票,今天股票10块钱,明天价格是多少呢?可能从0到100块钱,这个价格都是可以的,要算的话是一个很大的价格综合,不但要考虑它还要考虑其他的因素,我们加起来就会有一万个数字的总和。蒙特卡洛把所有的因素都考虑进去,看看在这种组合情况下有多大的风险,怎么计算它的保证金。

  第二部分的计算需要今日的收盘价,今日的收盘价计算按指波动性,这个东西要算出来,为什么要算出来呢?因为这个东西可以算明天的平均值,大家现在还用Black-Scholes。

  第三部分持仓,然后放在一起计算理论值,因为我们不知道明天是什么价格,所以我们要计算明天在理论上有多少个值,把理论价计算起来持仓,是大概蒙特卡洛的程序,取决明天用一千个可能性,一万个可能性或十万个可能性,你选择越高精确度越高,问题是你选择太高,计算机承受不了,现在技术的发展硬件还是跟不上,现在有四核、八核、几个G的内存,但是还不够,蒙特卡洛模拟计算量相当大。

  我举一个非常简单的例子来进行说明。这是一个虚拟的持仓(见图),这是五粮液,五粮液的期权还没有,你是在买方,你准备卖100股,敲定价是25块钱,12月28日到期,大家对期权还知道一点吧,不会陌生吧?中小板的指数期货我可以买1000点,2008年1月30日到期。

  还有一个是苏宁电器的期货,准备卖100股,12月28日到期。

  深圳成指的期权,卖方买50点,敲定价16000点,1月30日到期。

  为什么这样举例呢?任何东西可以分析,历史的价格都可以放在里面计算,计算的方法是统一的,如果想发展这个系统,把新的东西放进来就可以了,并不用修改软件和其他的东西。

  在这种情况下,我们计算出来的值是什么呢?因为我们讲到保证金,保证金简单说一下,由两部分组成:第一、净值,我们计算出来是24840元,但却是亏损的,为什么呢?期货每天结帐每天保持0在位置,牵扯到期权就不一样了,期权可能产生负数或亏损。风险值用VaR代表是18800元,如果用ES代表是29593元,这是我们用实际数据计算出的数据,我们真正用蒙特卡洛模拟所有数字得出来的数字。保证金是多少呢?保证金就是净值加上平均损失就是54433元。

  如果你有上面的持仓,你是交易商,当然交易商不会有这么少。假如你是交易商,交易组会收你5万多元的押金。

  简单讲一下压力测试,为什么要有压力测试?我们在用蒙特卡洛模拟的时候,我们用历史关联,我们考虑明天的情况跟我以前历史的情况是大约差不多的,我们用历史的关联推测明天会发生的事情,但是在极端的情况下,历史关联就会不起作用,那么会发生什么事情呢?就会发生类似黑色星期一、

墨西哥比索危机、亚洲货币危、俄国债券崩溃这样的问题,这是对历史的总结,从历史的数据分析明天大概发生什么事情,如果你的假设失效的话,那就不管用了,在极端情况下这个数据就不管用了。根据历史关联算出的数据,是明天你收取多少押金,但是你还要考虑假如明天发生不正常的情况下你应该怎么办呢?我们就要做压力测试。

  怎么做压力测试呢?有很多办法,我今天讲讲比较简单的办法。我们考虑今天的价格,头一个测试考虑这个价格不是在你中间的部分,而在红线的部分,低于你想象的最低值或高于你想象的最高值,这样的情况下你的风险是多少?持仓很简单,你就有两支股票,你考虑股票的值就可以了,这个大概就可以决定你的压力测试的数据。针对复杂持仓这个不起太大的作用。适合集中式的持仓,比如90%是万科,10%是五粮液,把万科估计的差不多,你明天的压力测试基本就会得到很好的效果。

  如果你的持仓很复杂,比如你有各种股票、各种基金,某一个股票的价格升涨不影响你整个持仓的变化,在这种情况下你怎么办呢?你要看他们之间的关联,你要看correlation Test。像今天早上我们看到一个例子,鲸鱼出现船的一边,大家都看鲸鱼,就是这种情况。如果同时发生一件事情,如果明天市场的股票都往上涨或是完全随机,历史上的数据完全不管用了,有的股票往上涨,有的往下跌,他们一点规律都没有了,这是两个市场极端的情况。在这种情况下要用蒙特卡洛计算保证金是多少,这就是属于压力测试,这种压力测试要考虑极端市场情况,在极端市场的情况下保证金会比正常计算出来的差多少?我们继续用上面的例子,头一行是我们刚才计算出的风险制和平均损失,我们用VaR风险值变成19425元,平均损失变成30511元了。

  假设另外一种情况,如果完全是随机的话情况又不一样了。这是我们要做Stress Test要考虑极端的情况下,怎么考虑持仓风险值的变化。

  我们还要做另外一件事情,我们还要做Back test,你说这个东西好,历史上发生过很多的事情,你能不能对这些事情做一个正确的估计,所以我们还要做Back test,要验证它的正确性。和压力测试一样,我们可以考虑两种情况:波动测试和关联测试。我们画两个图(见图),我们计算30天的值,把30天的值放在一个图上,大家看这个图(见图),黄线是平均损失,红线是平行值,我们往前推30天,大家看在这个模型的计算下,不管是黄线还是红线包括蓝色,这个Back test是成功的。

  我们每天要重新计算保证金,如果需要我们就会追加保证金,不够部分,用建公共基金偿付。我今天就讲到这儿,谢谢。

    新浪声明:本版文章内容纯属作者个人观点,仅供投资者参考,并不构成投资建议。投资者据此操作,风险自担。

【 新浪财经吧 】
 发表评论 _COUNT_条
Powered By Google
不支持Flash
·《对话城市》直播中国 ·城市发现之旅有奖活动 ·企业邮箱换新颜 ·邮箱大奖等你拿
不支持Flash
不支持Flash