楼主: Fresherman
6196 4

[讨论交流] 新手求问怎么通过excel使用蒙特卡罗法来计算VaR [推广有奖]

  • 1关注
  • 0粉丝

高中生

32%

还不是VIP/贵宾

-

威望
0
论坛币
3 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
419 点
帖子
5
精华
0
在线时间
47 小时
注册时间
2015-3-2
最后登录
2021-7-9

楼主
Fresherman 学生认证  发表于 2016-1-22 10:21:30 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
已经有4个股票3年的daily price,并且有一个Cholesky Decomposition Matrix.  需要建立一个投资组合包含这4个股票,然后用蒙特卡罗法计算出VaR。有没有高手指点一下思路?求大神帮帮忙。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:EXCEL exce 蒙特卡罗 xcel VaR 蒙特卡罗 投资组合 Matrix excel price

沙发
felixzhao123 发表于 2016-1-22 15:23:36
Excel没有用过,但是在R里面很简单
R有个PerformanceAnalytics的包,里面有个函数就是VaR

藤椅
Fresherman 学生认证  发表于 2016-1-23 01:49:49
已经用Norminv(rand(),mean,sd)模拟出10000次投资组合的profit,求得VaR
但是怎么用这个holesky Decomposition Matrix来求VaR呢?建立一列符合正态分布的随机数和这个矩阵相乘可以得到四个资产价格之前的相关系数,然后接下来怎么做就不清楚了....

求大神指点一下...

板凳
songsteven 在职认证  发表于 2016-1-26 12:52:44
举个例子,比如算一个股票投资组合1天的VaR, 先列出各个股票的covariance矩阵,用下面的VBA代码对其进行Cholesky factorization,用这个矩阵配合Norm.S.Inv(rand()) 来模拟各个股票的收益。再算1天后组合的盈亏。重复10000次就能得出投资组合价值变化量的分布。VaR 就取这个分布对应的分位点即可。

Function cholesky(Sigma As Object)

Dim n As Integer
Dim k As Integer
Dim i As Integer
Dim j As Integer
Dim x As Double
Dim a() As Double
Dim M() As Double

n = Sigma.Columns.Count

ReDim a(1 To n, 1 To n)
ReDim M(1 To n, 1 To n)

For i = 1 To n
   For j = 1 To n
      a(i, j) = Sigma.Cells(i, j).Value
      M(i, j) = 0
   Next j
Next i

For i = 1 To n
   For j = i To n
      x = a(i, j)
      For k = 1 To (i - 1)
         x = x - M(i, k) * M(j, k)
      Next k
   If j = i Then
     M(i, i) = Sqr(x)
   Else
     M(j, i) = x / M(i, i)
   End If
   Next j
Next i

cholesky = M

End Function

报纸
floydgyf 在职认证  发表于 2016-1-26 15:15:21
用matlab或者python

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jr
拉您进交流群
GMT+8, 2025-12-9 03:15