精华内容
下载资源
问答
  • VaR如何计算VaR计算方法

    万次阅读 2020-04-23 22:41:10
    后面的案例中将对股指期货交易中金的最大损失值进行计算,即对金的VaR值进行估计。 1、分析法 分析法是VaR计算中最为常用的方法,此种方法首先要清楚资产价格服从的分布特征,分析法的不足是假定正态分布的...

    VaR方法提出的背景

    传统的ALM(Asset-Liability Management,资产负债管理)过于依赖报表分析,缺乏时效性;利用方差β系数来衡量风险太过于抽象,不直观,而且反映的只是市场(或资产)的波动幅度;而CAPM(资本资产定价模型)又无法揉合金融衍生品种。在上述传统的几种方法都无法准确定义和度量金融风险时,G30集团在研究衍生品种的基础上,于1993年发表了题为《衍生产品的实践和规则》的报告,提出了度量市场风险的VaR(Value at Risk:风险价值)方法已成为目前金融界测量市场风险的主流方法。稍后由J.P.Morgan推出的用于计算 VaR的Risk Metrics风险控制模型更是被众多金融机构广泛采用。目前国外一些大型金融机构已将其所持资

    VAR方法的运用

    VAR方法的运用(14张)

     产的VaR风险值作为其定期公布的会计报表的一项重要内容加以列示。

    VaR的定义

    编辑

    VaR(Value at Risk)按字面解释就是“风险价值”,其含义指:在市场正常波动下,某一金融资产证券组合的最大可能损失。更为确切的是指,在一定概率水平(置信度)下,某一金融资产或证券组合价值在未来特定时期内的最大可能损失。

    VaR的表示公式

    编辑

    用公式表示为: P(ΔPΔt≤VaR)=a

    字母含义如下:

    P——资产价值损失小于可能损失上限的概率,即英文的Probability。

    ΔP——某一金融资产在一定持有期Δt的价值损失额。

    VaR——给定置信水平a下的在险价值,即可能的损失上限。

    a——给定的置信水平

    VaR从统计的意义上讲,本身是个数字,是指面临“正常”的市场波动时“处于风险状态的价值”。即在给定的置信水平和一定的持有期限内,预期的最大损失量(可以是绝对值,也可以是相对值)。例如,某一投资公司持有的证券组合在未来24小时内,置信度为95%,在证券市场正常波动的情况下,VaR值为520万元,其含义是指,该公司的证券组合在一天内(24小时),由于市场价格变化而带来的最大损失超过520万元的概率为5%,平均20个交易日才可能出现一次这种情况。或者说有95%的把握判断该投资公司在下一个交易日内的损失在520万元以内。5%的几率反映了金融资产管理者的风险厌恶程度,可根据不同的投资者对风险的偏好程度和承受能力来确定。

    VaR的计算系数

    编辑

    由上述定义出发,要确定一个金融机构或资产组合的VAR值或建立VAR的模型,必须首先确定以下三个系数:一是持有期间的长短;二是置信区间的大小;三是观察期间。

    1、持有期。持有期△t,即确定计算在哪一段时间内的持有资产的最大损失值,也就是明确风险管理者关心资产在一天内一周内还是一个月内的风险价值。持有期的选择应依据所持有资产的特点来确定比如对于一些流动性很强的交易头寸往往需以每日为周期计算风险收益和VaR值,如G30小组在1993年的衍生产品的实践和规则中就建议对场外OTC衍生工具以每日为周期计算其VaR,而对一些期限较长的头寸如养老基金和其他投资基金则可以以每月为周期。

    从银行总体的风险管理看持有期长短的选择取决于资产组合调整的频度及进行相应头寸清算的可能速率。巴塞尔委员会在这方面采取了比较保守和稳健的姿态,要求银行以两周即10个营业日为持有期限。

    2、置信水平α。一般来说对置信区间的选择在一定程度上反映了金融机构对风险的不同偏好。选择较大的置信水平意味着其对风险比较厌恶,希望能得到把握性较大的预测结果,希望模型对于极端事件的预测准确性较高。根据各自的风险偏好不同,选择的置信区间也各不相同。比如J.P. Morgan与美洲银行选择95%,花旗银行选择95.4%,大通曼哈顿选择97.5%,Bankers Trust选择99%。作为金融监管部门的巴塞尔委员会则要求采用99%的置信区间,这与其稳健的风格是一致的。

    3、第三个系数是观察期间(Observation Period)。观察期间是对给定持有期限的回报的波动性和关联性考察的整体时间长度,是整个数据选取的时间范围,有时又称数据窗口(Data Window)。例如选择对某资产组合在未来6个月,或是1年的观察期间内,考察其每周回报率的波动性(风险) 。这种选择要在历史数据的可能性和市场发生结构性变化的危险之间进行权衡。为克服商业循环等周期性变化的影响,历史数据越长越好,但是时间越长,收购兼并等市场结构性变化的可能性越大,历史数据因而越难以反映现实和未来的情况。巴塞尔银行监管委员会目前要求的观察期间为1年。

    综上所述,VaR实质是在一定置信水平下经过某段持有期资产价值损失的单边临界值,在实际应用时它体现为作为临界点的金额数目。

    VaR的特点

    编辑

    VaR特点主要有:

    第一,可以用来简单明了表示市场风险的大小,没有任何技术色彩,没有任何专业背景的投资者和管理者都可以通过VaR值对金融风险进行评判;

    第二,可以事前计算风险,不像以往风险管理的方法都是在事后衡量风险大小;

    第三,不仅能计算单个金融工具的风险。还能计算由多个金融工具组成的投资组合风险,这是传统金融风险管理所不能做到的。

    VaR在风险管理的应用

    编辑

    VaR的应用主要体现在:

    第一,用于风险控制。目前已有超过1000家的银行、保险公司、投资基金、养老金基金及非金融公司采用VaR方法作为金融衍生工具风险管理的手段。利用VaR方法进行风险控制,可以使每个交易员或交易单位都能确切地明了他们在进行有多大风险的金融交易,并可以为每个交易员或交易单位设置VaR限额,以防止过度投机行为的出现。如果执行严格的VaR管理,一些金融交易的重大亏损也许就可以完全避免。

    第二,用于业绩评估。在金融投资中,高收益总是伴随着高风险,交易员可能不惜冒巨大的风险去追逐巨额利润。公司出于稳健经营的需要,必须对交易员可能的过度投机行为进行限制。所以,有必要引入考虑风险因素的业绩评价指标。

    第三,估算风险性资本(Risk-based capital)。以VaR来估算投资者面临市场风险时所需的适量资本,风险资本的要求是BIS对于金融监管的基本要求。下图说明适足的风险性资本与 VaR值之间的关系,其中VaR值被视为投资者所面临的最大可接受(可承担)的损失金额,若发生时须以自有资本来支付,防止公司发生无法支付的情况。

    VaR在期货上的应用

    编辑

    期货合约是一种高杠杆的金融工具,期货交易具有高报酬、高风险的特征,因此期货交易风险的控制与管理非常重要。而VaR值可以使期货投资者了解目前市场上的风险是不是过大,可以让期货投资者在做期货交易之前判断期货交易的时机是否恰当,是否适合立即进行期货合约买卖的操作。如果VaR值比平日还来的大,则表示当日进场所承担机会成本将会较大,反之,如果VaR值比平日还来的小,则表示当日进场所承担机会成本将会较小。而对己拥有期货头寸的期货投资者来说,VaR可以告诉投资者目前所承担的风险是否己超过可忍受的限度。

    利用VaR方法正确制定期货保证金水平。

    期货价格的剧烈波动,令市场的风险急剧增加。如果不采取相应措施,则投资者甚至一些期货经纪公司暴仓就势在难免。在国际期货市场上,为应对价格剧烈波动所带来的潜在市场风险期货交易所普遍以提高保证金的方式进行有效防范。提高交易保证金水平是防范期货市场风险的一种市场化手段,具有灵活、透明、公平的特点。此举可以增强投资者对价格波动风险的抵御能力,不至于因价格波动较大而导致交易所会员和投资者穿仓,从而提高市场整体的抗风险能力。

    期货保证金的主要目的在于降低违约风险,维护交易信用。如果仅以此角度考虑,那么最安全保险的方式是设定100%的保证金,如此,期货投资者将完全没有违约的机会,但也消除了期货市场的杠杆功能。因此,保证金机制的设计,除了考虑信用风险控管之外,必须兼顾到资金使用的效率。理想的保证金额度,一方面可以达到控制违约风险的目的,另一方面仍然提供具有吸引力的杠杆成数,维持市场参与者以小博大的资金效率。过高的保证金削弱资金效率,降低市场参与意愿,过低的保证金使结算中心和结算会员过度暴露于信用风险中,保证金设计必须在这两个极端之间取得平衡。我们知道,期货保证金所涵盖的风险应指正常交易状况下的所持期货头寸的损益,所以保证金不应被设计成为涵盖极端市场波动的机制,而这一点恰好符合VaR值在估算正常市况下最大可能损失金额的特性。

    期货交易中,交易双方的履约诚信是期货交易的重要关键,为了降低违约风险期货市场通过一系列严密的风险控制机制保证交易风险的控制。首先期货交易所结算中心在期货合约买卖过程中,介入买卖成为买方的卖方以及卖方的买方,代替一方而成为交易对手,同时承担对方于期货合约中应负的权利与义务。期货交易所结算中心介入期货交易后,等同于以结算中心的信用对期货合约的履约进行担保,从而使期货投资者无须顾虑交易对手的信用风险,但与此同时结算中心也承担了交易双方的信用风险,将自己暴露于任一方违约所带来的损失风险之下。为了防止期货投资者违约行为以及保护结算中心,期货交易的参与者必须存入保证金,作为未来损失的准备金。并实行每日盯市制度,每天按当日期货合约清算价格计算未平仓部位的损益,将每日的收益加入保证金账户中、损失则自保证金账户中扣除。保证金账户中的余额不得低于维持保证金水平,否则将被追加保证金,以确保投资人有足够的损失准备。

    由此可见,期货保证金制度分为两个层次:第一层是会员经纪商向结算中心缴纳的结算保证金;第二层次是投资人向期货经纪公司交纳的客户保证金。这样的保证金制度源于期货交易的两层制。实际交易期货合约的过程包括两个层级,期货投资客户必须向期货经纪公司下达期货交易指令,期货经纪公司再将客户的交易指令下单至期货交易所进行撮合。因期货投资者在期货经纪公司处开户下单,故其账户由期货经纪公司管理,其保证金账户也由期货经纪公司结算和监控。通常我们把期货经纪公司向期货交易客户收取的保证金称为客户保证金。而期货经纪公司接受客户委托在期货交易所内进行交易时,必须保证该笔期货头寸能履行期货合约的责任,因此根据买卖期货合约的数量,期货经纪商公司必须在期货结算中心存入相应的保证金,称为结算保证金。期货结算中心只需监控期货经纪公司的保证金账户,而期货经纪公司再管理其投资人的保证金账户。换言之,期货结算中心承担与控制期货结算公司的风险,而期货结算会员承担与控制其客户的违约风险。期货交易所现行保证金设计制度是以保障期货价格单日波动损失金额为原则,通过参考最近一段期间的期货价格变动,以99.7%置信水平(三倍标准差)来估算单日最大可能发生的损失值(风险值),进而再转化为保证金水准。保证金(以指数期货为例)计算公式如下:

    结算保证金 = 指数 × 指数每点价值 × 风险价格系数

    其中风险价格系数决定于四个「样本群」(30个交易日、60个交易日、90个交易日、180个交易日)的风险值最大者(VaRmax),也就是

    风险价格系数=Max{VaRmax,5%}

    风险价格系数的下限5%,在于避免一段时间内,指数波动幅度降低,导致风险价格系数逐渐变小,使得保证金水准过低。若未来指数波动幅度突然扩大,原先保证金水平将不足以承担损失风险。下图比较现行制度(比如当变动达15%再调整保证金比率)和每日VaR值估算的差异,可明显看出,变动超过一定幅度(如15%时)才调整保证金使得保证金呈现阶梯状的变化(红线),而每日计算的保证金则每日水准不同(蓝线),当阶梯状的保证金水准高于每日调整的保证金水准时,表示期货结算公司交纳了较高的保证金;当阶梯状的保证金水准低于每日调整的保证金水准时,表示期交所面临保证金承担不足的违约风险。这说明 VaR值能够对现行保证金制度中的不足提供更好的补充,从而更使期货合约的保证金水平更为合理。

    利用VaR方法提高期货经纪公司竞争能力。

    假如我们去考察一些大的集团公司,如巴西咖啡制造商、德国的钢铁制造商和亚洲的航空公司等等,我们就会发现他们全都需要对商品价格、外汇汇率和利率等价格的不利变动进行套期保值。他们最常使用的套期保值工具就是期货和交易所交易的期权产品。他们与期货经纪人的关系,主要体现在交纳期货保证金、交易和缴纳追加保证金。期货经纪公司期货交易所的成员,它必须将客户交纳的保证金在转存于清算公司。但经纪公司向交易所缴纳的初始保证金通常低于客户向其缴纳的初始保证金,这主要是因为客户的某些头寸可以彼此抵消。另外,在大多数期货交易所,交易所对经纪公司的保证金标准要低于经纪公司对客户要求的保证金标准。

    那么,期货经纪公司为什么不降低向客户收取的保证金呢?如果降低保证金的话,期货经纪公司就可以向客户提供更有竞争力的报价:即同样的费用和较低的保证金。降低保证金对于那些对保证金高低比较敏感,或更多情况下对筹集现金较为昂贵的客户具有较大吸引力。而降低保证金所节约的资金并未出自期货经纪公司的腰包,所以这是一个对双方都有利的交易。因为许多对商品进行保值的客户信誉级别不高,融资较为昂贵。但是,这也正是降低保证金策略的局限性所在,如果这一策略使用过多的话,期货经纪公司将承担某些客户的信用风险。此外,但市场波动剧烈时,客户违约的可能性更大,从而使违约期间,追加的保证金更多。

    在面对上述情景时,VaR方法正好派上用场。即,期货经纪公司可以通过VaR方法把其保证金规模最优化,使其能够补偿大多数情况下的每日损失。这一工作包括两个方面,首先保证任何客户的损失不会将经纪公司置于无法生存的境地,第二,确保因信用风险导致的预期损失低于由交易佣金带来的收入。

    VaR值的计算可用于评估这两种状况。如果客户进行交易的资产相关性较弱,或者客户的违约概率较低,敞口头寸较少的话,VaR方法将使期货保证金降低的幅度大于目前所使用的方法,从而提高期货经纪公司的市场竞争力。

    期货交易中VaR值的计算。

    虽然期货交易均使用保证金制度,但实际交易的是期货合约总值,因此需要注意的是,在计算VaR值时,应采用整个期货合约总值(投资组合)来评估,而不是投入的保证金。

    以下是计算VaR值的基本流程:

    第一,计算样本报酬率。取得样本每日收盘价,并计算其报酬率,公式如下:

    其中R为报酬率、P为收盘价、t为时间。

    第二,计算样本平均数及标准差:样本平均数和标准差分别有以下公式计算:

    第三,检测样本平均数是否为零。由于样本数通常大于30,所以采用统计数Z来检测。

    第四、计算VaR值。

    VaR=μ-Zaσ

    其中α为1-置信水平。

    下面就以买卖一手指数期货合约为例来说明VaR值的计算。假设最新的指数收盘价为4839,那么期货合约总值则为4839×200= 967800,然后,投资者应先选取大约半年的数据(通常都是使用股指每日报酬率),再利用以上四个步骤来推算出其单位风险系数,最后将单位风险系数与合约总值相乘,即可得出指数期货合约的VaR值。当然若投资者本身所投入的资金愈多,则所需承担的风险也将愈大。

    VaR模型的优点

    编辑

    1、 VaR模型测量风险简洁明了,统一了风险计量标准,管理者和投资者较容易理解掌握。

    风险的测量是建立在概率论数理统计的基础之上,既具有很强的科学性,又表现出方法操作上的简便性。同时,VaR 改变了在不同金融市场缺乏表示风险统一度量, 使不同术语(例如基点现值、现有头寸等) 有统一比较标准, 使不同行业的人在探讨其市场风险时有共同的语言。

    另外,有了统一标准后,金融机构可以定期测算VaR值并予以公布,增强了市场透明度,有助于提高投资者对市场的把握程度,增强投资者的投资信心,稳定金融市场。

    2、可以事前计算, 降低市场风险。

    不像以往风险管理的方法都是在事后衡量风险大小,不仅能计算单个金融工具的风险, 还能计算由多个金融工具组成的投资组合风险。综合考虑风险与收益因素,选择承担相同的风险能带来最大收益的组合,具有较高的经营业绩。

    3、确定必要资本及提供监管依据。

    VaR为确定抵御市场风险的必要资本量确定了科学的依据, 使金融机构资本安排建立在精确的风险价值基础上, 也为金融监管机构监控银行的资本充足率提供了科学、统一、公平的标准。VaR 适用于综合衡量包括利率风险汇率风险、股票风险以及商品价格风险衍生金融工具风险在内的各种市场风险。因此, 这使得金融机构可以用一个具体的指标数值(VaR) 就可以概括地反映整个金融机构或投资组合的风险状况, 大大方便了金融机构各业务部门对有关风险信息的交流, 也方便了机构最高管理层随时掌握机构的整体风险状况, 因而非常有利于金融机构对风险的统一管理。同时, 监管部门也得以对该金融机构的市场风险资本充足率提出统一要求。

    VaR模型应用注意问题

    编辑

    尽管VaR模型有其自身的优点,但在具体应用时应注意以下几方面的问题。

    1、数据问题。运用数理统计方法计量分析、利用模型进行分析和预测时要有足够的历史数据,如果数据库整体上不能满足风险计量的数据要求,则很难得到正确的结论。另外数据的有效性也是一个重要问题,而且由于市场的发展不成熟,使一些数据不具有代表性,而市场炒作、消息面的引导等原因,使数据非正常变化较大, 缺乏可信性。

    2、VaR 在其原理和统计估计方法上存在一定缺陷。

    VaR对金融资产投资组合的风险计算方法是依据过去的收益特征进行统计分析来预测其价格的波动性和相关性, 从而估计可能的最大损失。所以单纯依据风险可能造成损失的客观概率, 只关注风险的统计特征, 并不是系统的风险管理的全部。因为概率不能反映经济主体本身对于面临的风险的意愿或态度,它不能决定经济主体在面临一定量的风险时愿意承受和应该规避的风险的份额。

    3、在应用Var模型时隐含了前提假设。

    即金融资产组合的未来走势与过去相似,但金融市场的一些突发事件表明,有时未来的变化与过去没有太多的联系,因此VaR方法并不能全面地度量金融资产的市场风险,必须结合敏感性分析压力测试等方法进行分析。

    4、VaR主要使用于正常市场条件下对市场风险的测量。

    如果市场出现极端情况,历史数据变得稀少,资产价格的关联性被切断,或是因为金融市场不够规范,金融市场的风险来自人为因素、市场外因素的情况下,这时便无法测量此时的市场风险。

    总之, VaR是一种一种既能处理非线性问题又能概括证券组合市场风险的工具,它解决了传统风险定量化工具对于非线性的金融衍生工具适用性差、难以概括证券组合的市场风险的缺点,有利于测量风险、将风险定量化,进而为金融风险管理奠定了良好的基础。随着我国利率市场化资本项目开放以及衍生金融工具的发展等,金融机构所面临的风险日益复杂,综合考虑、衡量信用风险和包括利率风险、汇率风险等在内的市场风险的必要性越来越大,这为VaR应用提供了广阔的发展空间。但是VaR本身仍存在一定的局限性,而且我国金融市场现阶段与VaR所要求的有关应用条件也还有一定距离。因此VaR的使用应当与其他风险衡量和管理技术、方法相结合。要认识到风险管理一方面需要科学技术方法,另一方面也需要经验性和艺术性的管理思想,在风险管理实践中要将两者有效结合起来,既重科学,又重经验,有效发挥VaR在金融风险管理中的作用。

    展开全文
  • python 求解var值

    千次阅读 2018-06-28 15:25:00
    import tushare as ts import pandas as pd import numpy as np ...#今天上证跌破2800,计算一下var值 sh=ts.get_hist_data('sh').sort_index() sh['re']=np.log(sh['close']/sh['close'].shift(1)...

    import tushare as ts

    import pandas as pd

    import numpy as np

    from  scipy import  stats

    #今天上证跌破2800,计算一下var值

    sh=ts.get_hist_data('sh').sort_index()

    sh['re']=np.log(sh['close']/sh['close'].shift(1))

    sh=sh.dropna()

    shmean=sh['re'].mean()

    shstd=sh['re'].std()

    stats.norm.ppf(0.05,shmean,shstd**0.5)

    0.20# 有99%的概率损失20%

    转载于:https://www.cnblogs.com/thechain/p/9238849.html

    展开全文
  • Var与CVaR计算方法,即风险价值的计算,使用matlab编写 Var与CVaR计算方法,即风险价值的计算,使用matlab编写
  • VaR与CVaR计算实验报告

    2014-04-09 18:47:04
    任选一支股票或大盘指数的日收益率数据(观测不少于1000个),观察数据分布特点,计算VaR(Value at Risk)及CVaR(Conditional VaR),可以考虑运用各种方法计算并进行比较。
  • matlab 在险价值 VaR计算

    千次阅读 多人点赞 2019-04-17 12:13:26
    matlab 在险价值 VaR计算 matlab 在险价值 VaR计算 VaR 模型 数据获取 历史模拟法 蒙特卡罗模拟法 参数模型法 代码和数据下载 VaR 模型 Value at Risk 在险价值,即 VaR。是指一定时期内,一定置信...

    matlab 在险价值 VaR 的计算

    VaR 模型

    Value at Risk 在险价值,即 VaR。是指一定时期内,一定置信水平下,某种资产组合面临的最大损失。

    P r o

    展开全文
  • 【FinE】在险价值(VaR)计算

    千次阅读 2020-08-30 18:01:39
    VaR值计算

    VaR模型

    在险价值Value-at-risk的定义为,在一定时期 Δ t \Delta t Δt内,一定的置信水平 1 − α 1-\alpha 1α下某种资产组合面临的最大损失,公式为
    P ( Δ p ≤ V a R ) = 1 − α P(\Delta p\leq VaR)=1-\alpha P(ΔpVaR)=1α
    在持有组合时期 Δ t \Delta t Δt内,给定置信水平 1 − α 1-\alpha 1α下,该组合的最大损失不会超过VaR,使用VaR进行风险衡量时,需要给定持有期和置信水平,巴塞尔协会规定持有期标准为10天,置信水平为99%,商业银行可以确定各自的水平,J.P.Morgan公司在1994年年报中设置持有期为1天,置信水平为95%,VaR值为1500万元,即J.P.Morgan公司在一天内所持有的风险头寸损失小于1500万的概率为95%.

    VaR的主要性质:

    • 变换不变性: V a R ( X + a ) = V a R ( X ) + a , a ∈ R VaR(X+a)=VaR(X)+a, a\in\mathbb{R} VaR(X+a)=VaR(X)+a,aR
    • 正齐次性: V a R ( a X ) = a V a R ( X ) , a < 0 VaR(aX)=aVaR(X), a<0 VaR(aX)=aVaR(X),a<0,资产的风险与持有头寸呈反比关系
    • 协单调可加性: V a R ( X 1 + X 2 ) = V a R ( X 1 ) + V a R ( X 2 ) VaR(X_1+X_2)=VaR(X_1)+VaR(X_2) VaR(X1+X2)=VaR(X1)+VaR(X2)
    • 不满足次可加性和凸性:不满足次可加性表示资产组合的风险不一定小于各资产风险之和,这个性质导致VaR测度存在不合理性,因为组合VaR不可以通过求各个资产的VaR得出。不满足凸性表示以VaR为目标函数的规划问题一般不是凸规划,局部最优解不一定是全局最优解,由于多个局部极值的存在导致无法得到最优资产组合
    • 满足一阶随机占优
    • VaR关于概率水平 1 − α 1-\alpha 1α不是连续的

    VaR对风险的衡量具有前瞻性,将预期损失的规模和发生的概率结合,可以了解在不同置信水平上风险的大小.
    但是VaR模型是对正常市场环境中金融风险的衡量,如果整体环境出现了动荡或者发生极端情况时,VaR就会失去参考价值,一般加上压力测试(Stress Test)结合极值分析进行风险衡量,常用的极值分析方法有BMM和POT两种,极值分析就是当风险规模超过设定阈值时进行建模,处理风险尾部.
    由于金融数据的低信噪比特点,导致数据呈现尖峰后尾的分布,这种分布导致VaR模型无法产生一致性度量,针对风险度量的不一致性可以使用条件风险价值CVaR模型修正,即当资产组合损失超过给定的VaR值时,资产组合的损失期望,计算公式如下
    C V a R α = E ( − X ∣ − X ≤ V a R α ( x ) ) CVaR_\alpha=\mathbb{E}(-X\mid -X\leq VaR_\alpha(x)) CVaRα=E(XXVaRα(x))
    其中 X X X表示资产的损益,CVaR满足以下性质:

    • 一致连续性
    • 次可加性, ∀ X , Y \forall X, Y X,Y满足 ρ ( X + Y ) ≤ ρ ( X ) + ρ ( Y ) \rho(X+Y)\leq \rho(X)+\rho(Y) ρ(X+Y)ρ(X)+ρ(Y)
    • 满足二阶随机占优
    • 满足单调性, ∀ X ≤ Y \forall X\leq Y XY满足 ρ ( X ) ≤ ρ ( Y ) \rho(X)\leq \rho(Y) ρ(X)ρ(Y)

    案例:AAPL

    历史模拟法

    历史模拟法计算AAPL公司的VaR,历史模拟法使用市场历史因子的变化来估计市场因子未来的变化,对市场因子的估计采用权值估计方法,根据市场因子的未来价格水平对头寸进行重新估值,计算出头寸的价值变化,将组合损益从小到大排序,得到损益分布,通过计算给定置信度下的分位数求出VaR. 这里计算了置信水平分别为95%和99%的VaR.
    hm

    历史模拟法python代码

    import pandas_datareader.data as web
    import datetime as dt
    import pandas as pd
    import numpy as np
    from scipy.stats import norm
    import matplotlib.pyplot as plt
    
    start=dt.datetime(2012, 1, 1)
    end=dt.datetime(2018, 12, 31)
    df=web.DataReader('AAPL', 'yahoo', start, end)
    
    # 对数收益率
    df['return']=np.log(df['Adj Close']/df['Adj Close'].shift(1))
    # 计算收益率的分位数
    # 5%分位数
    VaR5=np.percentile(df['return'].dropna(), 5)
    # 1%分位数
    VaR1=np.percentile(df['return'].dropna(), 1)
    
    def hm_demo():
        grey = 0.75, 0.75, 0.75
        fig=plt.figure(figsize=(8, 6))
        plt.hist(df['return'], bins=50, alpha=0.5, color=grey)
        plt.plot([VaR5, VaR5], [0, 100], 'b:', linewidth=2, label='5% VaR')
        plt.plot([VaR1, VaR1], [0, 100], 'r:', linewidth=2, label='1% VaR')
        plt.xlim([-0.1, 0.1])
        plt.ylim([0, 250])
        plt.legend()
        # plt.savefig('hm_var.png')
        plt.show()
    
    hm_demo()
    

    参数模型分析法

    分析法利用证券组合的价值函数与市场因子之间的近似关系,推断市场因子的统计分布,简化VaR计算.
    使用参数模型分析法需要进行数据预处理工作,在Matlab(R 2012a)中常用数据预处理函数如下

    % 计算股票样本的均值,标准差,相关性与beta
    % 价格转收益率
    tick_ret=tick2Ret(stockPrices, [], 'continuous')
    mu=mean(tick_ret) % 计算均值
    std=std(tick_ret) % 计算标准差
    mdd=maxdrawdown(tick_ret) % 计算最大回撤
    coef=corrcoef(tick_ret) % 相关系数矩阵
    

    tick2ret函数说明

    [RetSeries, RetIntervals]=tick2ret(TickSeries, TickTimes, Method)
    INPUT
    TickSeries: 价格序列
    TickTimes: 时间序列
    Method: 计算方法,continuous表示对数收益率计算log(x)-log(y);simple表示简单收益率计算(x-y)/y
    OUTPUT
    RetSeries: 收益率序列
    RetIntervals: 收益率对应的时间间隔
    

    maxdrawdown函数说明

    T日组合最大回撤计算接口为
    [MaxDD, MaxDDIndex]=maxdrawdown(Data, Format)
    INPUT
    Data: 组合每日总收益序列
    Format: 类别有 return(默认,收益率序列),arithmetic(算术布朗运动),geometric(几何布朗运动)
    OUTPUT
    MaxDD:最大回撤值
    MaxDDIndex:最大回撤值位置
    

    参数模型法计算VaR使用接口portvrisk,函数说明如下

    ValueAtRisk=portvrisk(PortReturn, PortRisk, RiskThreshold, PortValue)
    INPUT
    PortReturn:组合收益率
    PortRisk: 组合标准差
    RiskThreshold:置信度阈值,默认为5%
    PortValue:组合资产价值,默认为1
    OUTPUT
    ValueAtRisk:风险价值
    

    参数模型法计算程序如下

    pVar=portvrisk(mean(ret), std(ret), [0.01, 0.05], port_value);
    confidence=pVar/port_value
    

    非参数bootstrap

    对历史数据进行有放回的采样,计算每次采样的VaR,然后对所有采样结果求期望,设置采样容量为300,进行200轮采样的结果如下
    bt

    python非参数bootstrap代码

    def bootstrap_demo():
        ret=df['return'].dropna()
        # 有放回采样
        def sample(data, size):
            sample=np.random.choice(data, size, replace=True)
            VaR5=np.percentile(sample, 5)
            VaR1=np.percentile(sample, 1)
            return (VaR5, VaR1)
    
        sz, n=300, 200
        samples=np.array([sample(ret, sz) for _ in range(n)])
        VaR5, VaR1=np.mean(samples, axis=0)
        
        grey = 0.75, 0.75, 0.75
        fig=plt.figure(figsize=(8, 6))
        plt.hist(df['return'], bins=50, alpha=0.5, color=grey)
        plt.plot([VaR5, VaR5], [0, 100], 'b:', linewidth=2, label='5% VaR')
        plt.plot([VaR1, VaR1], [0, 100], 'r:', linewidth=2, label='1% VaR')
        plt.xlim([-0.1, 0.1])
        plt.ylim([0, 250])
        plt.legend()
        plt.savefig('bootstrap_var.png')
        plt.show()
    
    bootstrap_demo()
    

    Monte-Carlo模拟计算

    Monte-Carlo计算欧式期权价格可以见这篇博客.
    Monte-Carlo模拟的基本步骤是:
    1.选择市场因子变化的随机过程和分布,估计该过程的参数的相关参数.
    2.模拟市场因子的变化路径,建立对市场因为未来的预测
    3.对市场因子每个情景,利用公式计算价值和变化
    4.根据组合价值变化分布模拟结果,计算给定置信度下的VaR.
    设置股票价格符合几何布朗运动,即
    S t + 1 = S t exp ⁡ ( ( μ − σ 2 2 ) Δ t + σ ε Δ t ) S_{t+1}=S_t\exp((\mu-\frac{\sigma^2}{2})\Delta t+\sigma\varepsilon\sqrt{\Delta t}) St+1=Stexp((μ2σ2)Δt+σεΔt )
    其中 μ \mu μ为收益率均值, σ 2 \sigma^2 σ2为收益率方差, ε \varepsilon ε为从Gaussian分布中抽样出的随机值.
    计算 Δ t = 1 \Delta t=1 Δt=1日的VaR值
    mc

    python蒙特卡洛模拟计算代码

    def monte_carlo_demo():
        ret = df['return'].dropna()
        mu, sig = np.mean(ret), np.std(ret)
        def gbm(s0, T, n):
            dt=T/n
            price=s0
            for _ in range(n):
                eps=np.random.normal()
                s=price*np.exp((mu-sig**2/2)*dt+sig*eps*np.sqrt(dt))
                price=s
            return price
    
        sp=[]
        s0=1
        for _ in range(10000):
            sp.append(gbm(s0, 1, 100))
        sret=np.array(sp)/s0-1
        VaR1=np.percentile(sret, 1)
        VaR5=np.percentile(sret, 5)
        print(VaR1, VaR5)
        grey = 0.75, 0.75, 0.75
        fig=plt.figure(figsize=(8, 6))
        plt.hist(df['return'], bins=50, alpha=0.5, color=grey)
        plt.plot([VaR5, VaR5], [0, 100], 'b:', linewidth=2, label='5% VaR')
        plt.plot([VaR1, VaR1], [0, 100], 'r:', linewidth=2, label='1% VaR')
        plt.xlim([-0.1, 0.1])
        plt.ylim([0, 250])
        plt.legend()
        plt.savefig('monte-carlo_var.png')
        plt.show()
    
    monte_carlo_demo()
    

    k k k天的VaR可以根据公式
    V a R k = V a R 1 ∗ k VaR_k=VaR_1*\sqrt{k} VaRk=VaR1k
    计算,或者令程序中gbm参数T=k进行模拟计算.

    参考资料

    DCC-Garch VaR 量化小白H
    Copula模型估计组合VaR 量化小白H
    python金融实战之计算VaR
    Risk Analysis in Python
    量化投资以Matlab为工具 中国工信出版集团 李洋 郑志勇

    展开全文
  • VaR是指在给定的置信度下,资产组合在未来持有期内所遭受的最大可 能损失
  • Python金融实战之计算VaR

    千次阅读 多人点赞 2020-02-24 10:37:05
    一、历史模拟法计算VaR 1.VaR 定义:Value at Risk,在一定概率水平(置信度)下,某一金融资产或证券组合价值在未来特定时期内的最大可能损失。一日 5% VaR 可以理解为一天发生损失超过VaR的概率小于等于5%。 2....
  • 使用蒙特卡洛模拟进行var计算

    千次阅读 2020-08-27 20:51:57
    财务和投资组合风险管理中的VaR? (VaR in Financial and Portfolio Risk Management?) VaR is an acronym of ‘Value at Risk’, and is a tool which is used by many firms and banks to establish the level of ...
  • python 计算均值、方差、标准差 Numpy,Pandas

    万次阅读 多人点赞 2019-10-23 22:58:25
    Numpy 计算均值、方差、标准差2. Pandas 计算均值、方差、标准差 Python 中的 numpy 包 和 pandas 包都能够计算均值、方差等,本文总结一下它们的用法。 1. Numpy 计算均值、方差、标准差 一般的均值可以用 numpy ...
  • 风险价值(VaR)用于尝试量化指定时间范围内公司或投资组合中的财务风险水平。VaR提供了一段时间内投资组合的最大损失的估计,您可以在各种置信度水平上进行计算
  • (四十四)蒙特卡洛模拟法计算VaR

    千次阅读 2020-03-18 13:46:58
    蒙特卡洛模拟计算VaR的思路是,模拟组合中每一个资产在下一个交易日的价格,得到收益率就可以计算组合收益了,重复这个过程多次再按照历史模拟法求VaR即可。
  • covar和VaR用Eviews

    2018-08-16 19:05:54
    Eviews计算CoVaR的步骤,分位数回归方法和GARCH方法。
  • 【R】【课程笔记】07 分位数回归与VaR(ES)计算

    千次阅读 多人点赞 2020-06-10 11:40:34
    本文是课程《数据科学与金融计算》第7章的学习笔记,主要介绍计算VaR/ES风险测度的各种方法和极值理论等,用于知识点总结和代码练习,Q&A为问题及解决方案。
  • 计算VaR的两种常用方法:参数法(正态VaR和对数正态VaR)和非参数法(历史模拟法),主要使用的函数是scipy.stats的求特定分布分位点的函数ppf,以及np.percentile求样本中的分位数。
  • 代码用作来自 Var_Of_CE_with_Changing_n_star.m 的调用(在同一帐户中单独上传)。 IIM Kozhikode工作论文IIMK/WPS/338/ITS/2019/02给出了... 在代码中,使用了数量的估计而不是计算值(因为模拟可能无法访问计算值
  • 风险价值VaR和损失期望ES是常见的风险度量。
  • 概念 平均:所有数的和除以数目的个数; python中求平均 python中求方差 方差是np.var() 标准差是np.std() 标准差=方差的根号
  • python 计算变量的IV

    千次阅读 2019-07-09 16:58:16
    在机器学习的二分类问题中,IV值(Information Value)主要用来对输入变量进行编码和预测能力评估。特征变量IV值的大小即表示该变量预测能力的强弱,在面对大量变量的...2. IV值计算(python 代码如下) #######...
  • CSS 样式,如何计算临近颜色

    千次阅读 2019-01-05 17:55:44
    如果颜色是固定的,直接计算好固定就行,如果是动态或者用户设置的颜色,就需要一定的算法来计算临近的颜色。 我在看 MDN 时,发现了 RGB 和 HSL,发现 HSL 的通过修改色调(hue)、饱和度(saturation)和明度...
  • VaR、CoVaR、delta CoVaR计算方法综述 案例与代码

    万次阅读 热门讨论 2020-04-06 15:32:48
    在金融市场上,金融机构的风险不仅受其自身因素的影响,还受其他金融机构风险的冲击,这种机构之间的风险波动传导机制即为风险溢出效应,然而,传统的度量风险的主流方法VaR(在险价值)只能衡量机构自身的风险,却...
  • 蒙特卡洛模拟计算风险价值VAR之R语言实现

    万次阅读 多人点赞 2018-04-08 12:46:54
    一、解析VAR当在分析方法中计算风险价值(VAR)时,我们需要假设金融工具的返回遵循一定的概率分布。最常用的是正态分布,这也是为什么我们通常称它为delta normal方法。要计算VAR,我们需要找到一个阈值(T),来...
  • VAR模型的Eviews方法

    2009-05-15 23:26:57
    VAR模型的Eviews方法VAR模型的Eviews方法VAR模型的Eviews方法VAR模型的Eviews方法
  • 在这里记录一下开发过程中突然喜欢上的CSS/CSS3 var()变量以及calc()函数 , 让在不使用sass以及less的情况下也能进行一个比较高效的样式设置 var()变量 var变量的定义语法 : - -变量名 两个短横线加上变量名 var变量...
  • 参数法和模拟法计算VaR

    千次阅读 2012-01-16 15:24:00
    回顾VaR的定义,为未来收益的累计分布函数,那么 所以,VaR本质上为未来收益的分位点。要计算它,最重要的是估计未来收益的分布。在实际计算中有两种大的方向: 在满足某种分布(通常使用正态分布)的假设上,估计该...
  • 本文显示了如何基于潜在的ARMA-GARCH过程(当然也涉及更广泛意义上的QRM)来拟合和预测风险价值(VaR)。 1从ARMA-GARCH进程模拟(log-return)数据 我们考虑使用\(t \)分布式创新的ARMA(1,1)-GARCH(1,1)...
  • MatLab 求平均,方差,标准差

    万次阅读 2019-12-10 18:03:15
    1.计算一个数组的平均 使用 mean() 函数 示例1: 输入:a = [ 1 2 3;4 5 6] 输入:mean(a) 输出:[ 2.5,3.5,4.5] 解析:默认是先求得每一列的的和,然后对每一个列求平均 示例2: 要想求一个数组的平均...
  • IV衡量的是某一个变量的信息量,从公式来看的话,相当于是自变量WOE的一个加权求和,其的大小决定了自变量对于目标变量的影响程度,对于分组 i ,其对应的IV参考下图,其中n是分组个数,注意,在变量的任何...
  • 风险控制之VaR

    千次阅读 2018-09-29 15:58:10
    什么是VaR VaR是value of risk的缩写称为风险价值,或者受险价值,指的是在一定的概率下,一个金融资产在未来一段时间内的...所以从定义出发,要确定VaR或者建立VaR的模型,必须要确定三个系数: 持有期。...
  • 时域计算代码相对简单,下列代码主要来自求助matlab时域分析程序-峰值、均方根、裕度、峭度_百度知道。不过原文中求“峭度因子”的方法不对,即“Kr = sum(y.^4)/sqrt(sum(y.^2)))”,求峭度直接用函数kurtosis就行...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 391,013
精华内容 156,405
关键字:

var值怎么计算