美文网首页
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