matlab数据读取gpdat,matlab使用Copula仿真优化市场风险

以下代码段为每个索引返回系列创建一个paretotails类型的对象。这些Pareto尾部对象封装参数Pareto下尾部,非参数内核平滑内部和参数Pareto上尾部的估计,以为每个索引构建复合半参数CDF。

R

1

2

3

tailFraction=0.1;

marginal{i}=paretotails(return(:,i),tailFraction,1-tailFraction,'kernel');

SPY的边际分布:

分段分布有3个部分

R

1

2

3

4

5

-Inf

-0.0125822

0.01286

image-381.gif

EEM的边际分布:

分段分布有3个部分

-Inf

-0.0186259

0.0185703

TLT的边际分布:

分段分布有3个部分

-Inf

-0.0132814

0.0128738

COY的边际分布:

分段分布有3个部分

-Inf

-0.0105025

0.011195

GSP的边际分布:

分段分布有3个部分

-Inf

-0.0161561

0.016506

RWR的边际分布:

分段分布有3个部分

-Inf

-0.0172097

0.0168041

得到的分段分布对象允许在CDF内部进行插值并在每个尾部进行外推(函数评估)。外推允许估计历史记录之外的分位数,这对于风险管理应用是非常宝贵的。在这里,我们将paretoTail分布产生的拟合与正态分布的拟合进行比较。

R

1

2

3

4

5

6

7

8

9

10

11

index=1;

dist=marginal{index};

CLF

h=probplot(gca,@dist.cdf);

set(h,'Color','r');

title(['Semi-Parametric / Piecewise Probability Plot:'names{index}])

image-380.gif

04015a061abf758268983e8754d6c2e6.png

image-384.gif

Copula拟合

我们使用统计工具箱功能来校准和模拟数据。

使用每日索引返回,使用函数copulafit估计高斯和t copula的参数。由于在标量自由度参数(DoF)变得无限大时,copula变为高斯copula,因此两个copula实际上属于同一族,因此共享线性相关矩阵作为基本参数。

统计工具箱软件提供了两种在copula校准的技术:以下代码段首先通过上面导出的分段半参数CDF将每日居中的回报转换为均匀变量。然后它将Gaussian和t copula拟合到转换后的数据:

R

1

2

3

[〜,ax]=plotmatrix(U);title('拟合Copula之前的转换回报');

image-393.gif

e3d81b8648992f987d57734d51ff38bc.png

image-386.gif

​​

估算copula的参数。注意从t copula校准获得的相对较低的自由度参数,表明明显偏离高斯情况。

R

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

[rho,DoF]=copulafit('t',U,'ApproximateML')

rhoT=

10.88229-0.596930.408750.580270.81485

0.882291-0.523710.389060.631750.73608

-0.59693-0.523711-0.28404-0.37285-0.43114

0.408750.38906-0.2840410.29530.36207

0.580270.63175-0.372850.295310.47097

0.814850.73608-0.431140.362070.470971

DoF=

9.5014

image-385.gif

估计的相关矩阵与线性相关矩阵相似但不相同

R

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

corrcoef(return)每日收益的%线性相关矩阵

ans=

10.89745-0.610650.46770.591740.83717

0.897451-0.541670.456120.633220.76712

-0.61065-0.541671-0.30377-0.3918-0.44429

0.46770.45612-0.3037710.333120.43525

0.591740.63322-0.39180.3331210.49161

0.837170.76712-0.444290.435250.491611

image-387.gif

Copula模拟

现在已经估计了copula参数,使用copularnd函数模拟联合依赖的均匀变量。

然后,通过外推Pareto尾部并对平滑后的内部进行插值,通过每个索引的逆CDF 将从copularnd导出的均匀变量转换为每日居中返回。这些模拟的居中回报与从历史数据集获得的回归一致。假设回报在时间上是独立的,但在任何时间点都具有由给定的copula引起的依赖性和等级相关性。

R

1

2

3

nPoints=10000;%#模拟观测值

693e25981029765f2b270de1f5d83c8c.png

image-388.gif

计算单周期模拟VaR

来自copula模型的多变量模拟可用于计算样本组合的风险值和预期不足(CVaR)。

R

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

%样本组合组件权重

wts=[.1.2.3.2.1.1]';

%从模拟组件返回生成组合返回

portReturns = R * wts;

%计算VaR

var = -prctile(portReturns,1);

cvar = -mean(portReturns(portReturns

%与正态分布比较

R2 = mvnrnd(mean(returns),cov(returns),10000);

normReturns = R2 * wts;

var2 = -prctile(normReturns,1);

cvar2 = -mean(normReturns(normReturns

disp('CopulaValue-at-Risk----------------------');

fprintf('99%%VaR:%0.2f%%\n99%%CVaR:%0.2f%%\n\n',var * 100,cvar * 100);

disp('多变量正常风险值---------');

fprintf('99%%VaR:%0.2f%%\n99%%CVaR:%0.2f%%\n\n',var2*100,cvar2*100);

Copula风险价值----------------------

99%的风险价值:1.78%

99%CVaR:2.58%

多变量正常风险值---------

99%VaR:1.49%

99%CVaR:1.71%

image-390.gif

组合优化

以前,我们使用模拟回报来计算样本组合的风险。相反,我们可以找到一个最佳投资组合(权重),为我们提供一定的回报风险。我们可以使用PortfolioCVaR框架来完成此任务。

R

1

2

3

4

5

6

7

8

9

10

11

p=PortfolioCVaR('ProbabilityLevel',。99,'AssetNames',名称);

p=p.setScenarios(R);

portRet=p.estimatePortReturn(wts);

CLF

visualizeFrontier(p,portRisk,portRet);

image-392.gif

8454f58af89db86099b7ea5f990e565d.png

image-391.gif

以给定的回报水平计算投资组合

R

1

2

3

4

5

6

7

wt=p.estimateFrontierByReturn(.05/100);

TOC;

pRisk=p.estimatePortRisk(wt);

pRet=p.estimatePortReturn(wt);

image-394.gif

经过的时间是0.635017秒。

13c32974662bc74b82f03b3c2a94d631.png

image-395.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值