楼主: shabiwo
3729 7

[问答] 谁能提供一份用藤copula(c藤和D藤)产生随机数,进而求VaR的matlab程序,谢谢 [推广有奖]

  • 1关注
  • 3粉丝

博士生

90%

还不是VIP/贵宾

-

威望
0
论坛币
979 个
通用积分
0.2505
学术水平
6 点
热心指数
9 点
信用等级
5 点
经验
4162 点
帖子
192
精华
0
在线时间
508 小时
注册时间
2010-11-20
最后登录
2024-3-20

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
如题
二维码

扫码加我 拉你入群

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

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

关键词:MATLAB程序 Copula MATLAB opula atlab 程序

沙发
shabiwo 发表于 2014-4-26 15:49:49 |只看作者 |坛友微信交流群
呼唤应答

使用道具

藤椅
shabiwo 发表于 2014-4-28 19:18:05 |只看作者 |坛友微信交流群
自己顶一下

使用道具

板凳
allneedy 发表于 2014-5-1 21:24:35 |只看作者 |坛友微信交流群
? clear

num = 10000; %模拟次数

rho = [1 0. 7878:0. 7878 1]; %t-Copula 线性相关系数

NU = 4; %t-Copula 的自由度

T = copularnd (’ t’,rho, NU, num) ; %产生 t-Copula 随机数

r = 0.06; %必要报酬率

mean = 38000; %现金流入正态分布的均值

sigma = 100; %现金流入正态分布的标准差

a = 2000; %现金流出均匀分布的下界

b = 2800; %现金流出均匀分布的上界

%以下计算经营活动的折现值

for i = 1:num

cil = norwinv(T(i, l), mean, sigma);

col = a +(b~a)*T(i, 2);


        cbl = cil — col;

suml = cbl/ (1 + r) 4;

ci2= norminv(T(i, 1),mean, sigma);

co2 = a +(b-a) *T(i,2);

cb2 = ci2 一 co2;

sum2 = cb2/(l + r)“ 5;

ci3= norminv(T(i, 1), mean, sigma);

co3= a +(b-a)*T(i, 2);

cb3 二 ci3 - co3;

sum3 = cb3/(1 + r)" 6;

ci4= norminv(T(i, 1),mean,sigma);

co4= a +(b-a)*T(i,2);

cb4 = ci4 一 co4;

sum4 = cb4/(l + r)‘ 7;

ci5= norminv(T(i, 1), mean,sigma);

co5= a +(b~a) *T(i, 2);

cb5 - ci5- co5;

sum5 = cb5/(1 + r)" 8;

ci6= norminv(T(i, 1),mean, sigma);

co6= a +(b-a) *T(i, 2);

cb6 = ci6- co6;

sum6 = cb6/(l + r)‘ 9;

ci7= norminv(T(i, 1),mean, sigma);

co7= a +(b-a)*T(i,2);

cb7 = ci7- co7;

sum7 = cb7/(l + r)‘ 10;

ci8= norminv(T(i, 1),mean, sigma);

co8= a +(b_a)*T(i,2);

cb8 = ci8- co8;

sum8 = cb8/ (1 + r广 11;

ci9 = norminv(T(i, 1),mean, sigma);

co9 = a +(b-a)*T(i, 2);

cb9 = ci9~ co9;
        “

sum9 = cb9/(l + r)' 12;

cilO = norminv(T(i, 1),mean, sigma);

colO = a +(b-a)*T(i,2);

cblO = cilO - colO;

sumlO = cblO/(l + r)^ 13;

cill = norminv(T(i, 1),mean, sigma);

coll = a +(b~a)*T(i,2);

cbll = cill - coll;

sum11 = cbll/ (1 + r)‘ 14;

cil2= norminv(T(i, 1),mean, sigma);

col2 = a +(b-a)*T(i,2);

cbl2 = cil2- col2;

sum12 = cbl2/(l + r)'15;

ci13= norminv(T(i,1), mean, sigma);

col3= a +(b-a)*T(i, 2);

cbl3 = cil3- col3;

sum13 : cb!3/(l + r)‘ 16;

cil4= norminv(T(i, 1),mean, sigma);

col4= a +(b-a)*T(i, 2);

cbl4 = cil4- col4;

sum 14 = cbl4/(l + r) ‘ 17;

cil5= norminv(T(i, 1),mean, sigma);

col5= a +(b-a)*T(i, 2);

cbl5 = cil5- col5;

suml5 = cbl5/(l + r) “ 18 ;‘

cil6= norminv(T(i,1), mean,sigma);

col6= a +(b-a)*T(i,2);

cbl6 = cil6- col6;

suml6 = cbl6/(l + r) ‘ 19;

cil7= norminv(T(i, 1), mean, sigma);

col7= a +(b_a)*T(i,2);

cbl7 = cil7- col7;

sum17 : cbl7/(l + r)‘ 20;

cil8= norminv(T(i, 1), mean, sigma);

col8= a +(b—a)*T(i,2);

cbl8 = cil8- col8;

suml8 = cbl8/(l + r厂 21;

cil9 = norminv(T (i, 1),mean,sigma);

col9 = a +(b-a)*T(i,2);

cbl9 : cil9- col9;

suml9 = cbl9/ (1 + r)' 22;

ci20 = norminv(T(i, 1),mean, sigma);

co20 = a +(b-a)*T(i,2);

cb20 = ci20 - co20;

sum20 = cb20/(1 + r)‘ 23;

sum = suml + sum2 十 sum3 + sum4 + sum5 +...

sam6 + sum7 + sum8 + sum9 + sum10 + …




sum11 + suml2 + suml3 + suml4 + sum15 +...

sura16 + suml7 + suml8 + suml9 + sum20;

npv(i) = sum-339450; %计算净现值

end

npv_arrange = sort (npv) ; %对净现值排序

VaR = npv_arrange (num*0. 05) %5%所对应的分位数

VaR =

962.8361

已有 1 人评分论坛币 收起 理由
admin_kefu + 50 热心帮助其他会员

总评分: 论坛币 + 50   查看全部评分

使用道具

报纸
shabiwo 发表于 2014-5-2 20:07:30 |只看作者 |坛友微信交流群
allneedy 发表于 2014-5-1 21:24
? clear

num = 10000; %模拟次数
谢谢热心回复,不过,这是用藤copula(c藤和D藤)产生随机数,进而求VaR的程序吗

使用道具

地板
shabiwo 发表于 2014-5-3 15:07:28 |只看作者 |坛友微信交流群
不问这个问题了

使用道具

7
屹立林间不老松 在职认证  发表于 2016-1-17 18:37:39 |只看作者 |坛友微信交流群
我也想知道这个问题,你解决了吗?

使用道具

8
matlab-007 发表于 2016-8-27 20:29:09 |只看作者 |坛友微信交流群
我觉得求VaR的过程就是根据你求得的模型来得到模拟的,就像你如果是t-copula,那么根据你得到的参数值和自由度用MATLAB就可以得到(u,v),然后再通过你构建的边缘分布再拟回到收益率序列

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-30 23:36