matlab使用Copula仿真优化市场风险

此示例演示了使用具有厚尾边缘分布的多变量copula模拟计算投资组合的风险价值和条件风险值(预期缺口)。

由Kaizong Ye,Sherry Deng撰写

使用Copula仿真优化市场风险, 然后使用模拟来计算最优风险收益组合

内容

  • 导入支持历史数据集
  • 可视化标准化价格
  • 边际分配
  • Copula校准
  • Copula模拟
  • 计算单周期模拟VaR
  • 组合优化
  • 以给定的回报水平计算投资组合

×

常用的Copula函数

Copula分布作为一类连接函数,包含很多分布族,其中椭圆Copula函数族和Archimedean Copula函数族是最为常见的两个分布族。椭圆Copula函数族中主要有Gaussian Copula函数和t-Copula函数,而Archimedean Copula函数族中主要有Gumble Copula、Glayton Copula和Frank Copula函数,由于这些Copula具有厚尾的特征而在金融领域得到广泛应用。

二元Gaussian Copula的分布函数为

C G a ( u , v ; ρ ) = Φ 1 ( u ) Φ 1 ( v ) 1 2 π 1 ρ 2 exp [ s 2 + t 2 2 ρ s t 2 ( 1 ρ 2 ) ] d s d t , (2)

其中,  Φ 1 ( )  是标准正态分布函数的逆函数。

自由度为  k  的二元t-Copula的分布函数为

C t ( u , v ; ρ , k ) = t k 1 ( u ) t k 1 ( v ) 1 2 π 1 ρ 2 [ 1 + s 2 + t 2 2 ρ s t k ( 1 ρ 2 ) ] ( k + 2 ) / 2 d s d t , (3)

其中,  t k 1 ( )  是自由度为  k  的标准  t  分布函数  t k ( )  的逆函数。

二元Gumble Copula、Clayton Copula、Frank Copula的分布函数分别为

C G u ( u , v ; α ) = exp { [ ( ln u ) α + ( ln v ) α ] 1 α } ;

C C l ( u , v ; α ) = ( u α + v α 1 ) 1 α , 0 u , v 1 ; (4)

C F ( u , v ; α ) = 1 α ln ( 1 + ( 1 e α u ) ( 1 e α v ) 1 e α ) , 0 u , v 1.

基于Copula函数的相关性度量

Copula函数作为刻画变量间相依性结构的工具,在度量具有非线性关系的变量之间的相依性结构时具有明显的优势,因此产生了一系列基于Copula函数的相关性度量。基于Copula函数的度量包括Kendall’s  τ  ,Spearman’s  ρ S  ,尾部相关系数  λ  等。

1) Kendall秩相关系数

令  ( X , Y )  和  ( X , Y )  是独立同分布的随机变量,若  ( X X ) ( Y Y ) > 0  ,称  ( X , Y )  和  ( X , Y )  是一致的;若  ( X X ) ( Y Y ) < 0  则称  ( X , Y )  和  ( X , Y )  是不一致的。

Kendall’s秩相关系数  τ  的一般形式为:

若随机变量  X , Y  的边缘分布分别为  F ( x ) , G ( y )  ,相应的Copula函数为  C ( u , v )  ,则Kendall’s秩相关系数  τ  可由相应的Copula函数  C ( u , v )  给出:

τ = 4 [ 0 , 1 ] 2 C ( u , v ) d C ( u , v ) 1 .

2) Spearman’s秩相关系数  ρ S

设  ( X 1 , Y 1 ) , ( X 2 , Y 2 ) , ( X 3 , Y 3 )  独立同分布的随机变量,Spearman’s秩相关系数  ρ S  的一般形式为:

若随机变量  X , Y  的边缘分布分别为  F ( x ) , G ( y )  ,相应的Copula函数为  C ( u , v )  ,则Spearman’s秩相关系数  ρ S  可由相应的Copula函数  C ( u , v )  给出:

ρ S = 12 [ 0 , 1 ] 2 C ( u , v ) d u d v 3

3) 尾部相关系数  λ

尾部相关性是人们在金融风险中比较关心的,包括上尾相关和下尾相关。令  X , Y  为连续的随机变量,具有边缘分布  F ( x ) , G ( y )  和Copula函数为  C ( u , v )  ,如果

lim u 1 C ¯ ( u , u ) / ( 1 u ) = λ U

存在,  λ U ( 0 , 1 ]  ,  C ¯ ( u , v ) = 1 u v + C ( u , v )  为生存Copula函数,则称  X , Y  上尾相关;  λ U = 0  时,称  X , Y  在分布上尾渐近独立。同样地,如果

lim u 0 + C ( u , u ) / u = λ L

存在,  λ L ( 0 , 1 ]  时,则称  X , Y  下尾相关;  λ L = 0  时,称  X , Y  在分布下尾渐近独立。我们把  λ U , λ L  统称为尾部相关系数,且  λ U , λ L 0  。



导入支持历史数据集

使用API导入我们将在本练习中建模的不同资产类别的市场数据

  • SPY:标准普尔500指数
  • EEM:新兴市场股票
  • TLT:20年期国债(iShares Barclays)
  • COY:美国高收益债券
  • gsp:大宗商品(iPath S&P GSCI总回报指数)
  • RWR:房地产(房地产投资信托指数)


热门课程

R语言数据分析挖掘必知必会

面对扑面而来的数据浪潮,包含Google、Facebook等国际企业,都已采用R语言进行数据分析

探索课程

可视化标准化价格

该图显示了每个指数的相对价格走势。每个指数的初始水平已经标准化为统一,以便于比较历史记录中的相对表现。


边际分布

为准备copula建模,单独描述每个指数的回报分布。虽然每个回归序列的分布可以参数化地表征,但是使用具有广义Pareto尾部的分段分布来拟合半参数模型是有用的。这使用极值理论来更好地表征每个尾部的行为。

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

SPY的边际分布:

分段分布有3个部分

EEM的边际分布:

分段分布有3个部分

-Inf <x <-0.0186259(0 <p <0.1):下尾,GPD(-0.00289033,0.0126097)

-0.0186259 <x <0.0185703(0.1 <p <0.9):内插内核平滑cdf

0.0185703 <x <Inf(0.9 <p <1):上尾,GPD(0.0326916,0.00981892)

TLT的边际分布:

分段分布有3个部分

-Inf <x <-0.0132814(0 <p <0.1):下尾,GPD(0.137056,0.00414294)

-0.0132814 <x <0.0128738(0.1 <p <0.9):内插内核平滑cdf

0.0128738 <x <Inf(0.9 <p <1):上尾,GPD(0.027114,0.00583448)

COY的边际分布:

分段分布有3个部分

-Inf <x <-0.0105025(0 <p <0.1):下尾,GPD(0.47441,0.00485515)

-0.0105025 <x <0.011195(0.1 <p <0.9):内插内核平滑cdf

0.011195 <x <Inf(0.9 <p <1):上尾,GPD(0.177151,0.00500233)

GSP的边际分布:

分段分布有3个部分

-Inf <x <-0.0161561(0 <p <0.1):下尾,GPD(-0.0382412,0.0103328)

-0.0161561 <x <0.016506(0.1 <p <0.9):内插内核平滑cdf

0.016506 <x <Inf(0.9 <p <1):上尾,GPD(-0.134845,0.00778651)

RWR的边际分布:

分段分布有3个部分

-Inf <x <-0.0172097(0 <p <0.1):下尾,GPD(-0.00540337,0.0114245)

-0.0172097 <x <0.0168041(0.1 <p <0.9):内插内核平滑cdf

0.0168041 <x <Inf(0.9 <p <1):上尾,GPD(0.0302092,0.0117143)

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

Copula拟合

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

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

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

​​

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

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

Copula模拟

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

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

计算单周期模拟VaR

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

组合优化

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

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

经过的时间是0.635017秒。


可下载资源

关于作者

Kaizong Ye拓端研究室(TRL)的研究员。

本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。

​非常感谢您阅读本文,如需帮助请联系我们!

 
QQ在线咨询
售前咨询热线
15121130882
售后咨询热线
0571-63341498