美文网首页
2018-04-16 开胃学习金融系列 - Gaussian

2018-04-16 开胃学习金融系列 - Gaussian

作者: Kaiweio | 来源:发表于2018-04-17 02:41 被阅读0次

One-factor Gaussian Copula

这个是nyu课上的表达式

感觉和哥大网课的内容不太一样
xi 是产品的回报return
m 和 ϵ 都是 独立的随机正态变量
xi 和 xj 通过 common market factor m 相关
cov(xi, xj) = ρ cov(m,m) = ρ

p_i(t) 是发行人在时间t的存活率,没有违约

p_i(τ̃i) = φ(x_i)

  • i指的是第i个产品,τ̃指的是违约的时间
  • φ 是CDF,累计概率分布
  • 所以,违约时间 τ̃ = p_i(t) inverse (φ(x_i))

所以推出,时间t时的相关的违约因子 default indicator

l (τ_i<t) = l (Φ(xi)>pi(t) )

在时间i 大于 T_i 之后, 概率φ大于存活率



  1. 我们一个个参数来理解
cdo = CDO(w, defProbs, recovery, attachements, detachements)


  1. w, 一般计算简单的CDO Gaussian copula model 都用125个 credit产品,具体原因我也没记住。w就是比重。w/np.sum(w) 也是比重%,没有大差别。
n = 125
w = 1./n*np.ones(n)
# w/np.sum(w) 


  1. 关于defProbs,我不是很清楚依据什么算出来的随机数?之后根据125的defProbs的size又算出一个随机数e
defProbs = 1 - exp(-(np.random.uniform(size=n)*.03)*t)
defProbs.shape
>>> (125,)

e = np.random.normal(size=np.shape(defProbs))
e.shape
>>> (125,)


  1. 给出detachment 和 attachment,这个是配对的
# a list of attachements and detachements, they pair up by elements
attachements = np.array([0, .03, .07, .1, .15, .3])
detachements = np.array([.03, .07, .1, .15, .3, .6])


这里的z是随机1000条path 的其中一条。 先生成一个随机的size125 的array e,再根据e和随机变量z 生成 size125 的 return 值 x。
返回的 np.less(norm.cdf(x), defProbs)
就是x的累计分布和 defProbs相比,看看true false,是否违约。
我真的看到这里才全部理解了 -_-||...

    def drawDefaultIndicator(self, z, rho) :
        '''return a list of default indicators given common factor z
           using one factor Gaussian Copula
        '''
        e = np.random.normal(size=np.shape(self.p))
        x = z*np.sqrt(self.rho) + np.sqrt(1-self.rho)*e
        return np.less(norm.cdf(x), self.p)

相关文章

网友评论

      本文标题:2018-04-16 开胃学习金融系列 - Gaussian

      本文链接:https://www.haomeiwen.com/subject/aigykftx.html