matlab与vba,[转载]VAR的求值(VBA和MATLAB语言)

Var的值的计算

前言:VaR技术是一项风险度量技术,其核心是在资产回报的分布给定的情况下,度量某置信水平下的最大损失值,将这个值作为衡量资产风险的一种方法。一般置信水平是同资产持有人的风险偏好有关,说明风资产组合的风险。

计算BaR的值一般三个步骤:

1.计算足资产组合的方差,根据权重和协方差矩阵计算投资组合的方差

2.根据置信度,在正态分布表查找相应的下分位数;

3.计算VaR的值

VBA语言求BaR的值的函数

Dim 收益率标准差 As Double

Dim 置信水平 As Double

Dim z As Double

Dim 价格 As Double

Dim 数量 As Double

Dim 期望收益率 As Double

Function VarExtend(价格, 数量, 期望收益率, 收益率标准差, 置信水平)

z = Application.WorksheetFunction.NormSInv(1 - 置信水平)

VarExtend = 价格 * 数量 * (收益率标准差 * z + 期望收益率)

End Function

MATLAB中有专门的求解VaR的值的函数,但是我们可以利用已有函数求解:

设已知四种资产的价格矩阵Price和权重,那么在MATLAB中,

ExpP=mean(Price); %求出各项价格的平均值

C=cov(Price); %求协方差矩阵

Wts=[w1,w2,w3,w4]; %各项资产的权重比

ExpPort=Wts*ExpP; %资产组合的期望收益

PortVar=Wts*C*Wts; %资产投资组合的协方差

ConLev=0.95; %置信水平,这里假设为0.95

icdf('normal',1-ConLev,Export,PortVar) %求出给定置信水平的下分位数

也可以直接使用portvrisk直接求VaR的值。

函数语法格式;

ValueAtRisk=portvrisk(PortReturn,PortRisk,RiskThreshold,PortValue)

PortReturn %资产足额和的期望回报

PortRisk %资产组合的标准差

RiskThreshold %可选,1-置信区间,默认值为5%

PortValue %可选,资产组合价值,默认为1

输出变量:

ValueAtRisk %资产组合的VaR

逆累积分布函数icdf,依据来源:

a4c26d1e5885305701be709a3d33442f.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值