数学建模社区-数学中国

标题: VAR的求值(VBA和MATLAB语言) [打印本页]

作者: 平凡之不凡    时间: 2014-8-28 11:19
标题: VAR的求值(VBA和MATLAB语言)
Var的值的计算
       VaR技术是一项风险度量技术,其核心是在资产回报的分布给定的情况下,度量某置信水平下的最大损失值,将这个值作为衡量资产风险的一种方法。一般置信水平是同资产持有人的风险偏好有关,说明风资产组合的风险。
计算VaR的值一般三个步骤:
1.计算足资产组合的方差,根据权重和协方差矩阵计算投资组合的方差
2.根据置信度,在正态分布表查找相应的下分位数;
3.计算VaR的值


作者: 平凡之不凡    时间: 2014-8-28 11:20
VBA语言求VaR的值的函数
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
作者: 平凡之不凡    时间: 2014-8-28 11:20
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)    %求出给定置信水平的下分位数
作者: 平凡之不凡    时间: 2014-8-28 11:21
也可以直接使用portvrisk直接求VaR的值。
函数语法格式;
ValueAtRisk=portvrisk(PortReturn,PortRisk,RiskThreshold,PortValue)
PortReturn     %资产足额和的期望回报
PortRisk       %资产组合的标准差
RiskThreshold  %可选,1-置信区间,默认值为5%
PortValue      %可选,资产组合价值,默认为1
输出变量:
ValueAtRisk    %资产组合的VaR
作者: 模天大楼    时间: 2014-8-29 02:05
来淘宝贝啦O(∩_∩)O哈哈~
作者: dsk1209    时间: 2014-9-16 18:33
写的很好,学习中,经过这段时间的学习,的确感受的到了数学建模的魅力,希望国人能够跳出应试,取得更加有创意的成果!一起努力




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5