Exemple #1
0
def nvmDensity(v,x,myA,whichModel):
    t1 = np.divide(1,np.sqrt(2*math.pi*v))
    t2 = np.exp(-np.divide(x**2,2*v))
    if whichModel==0:
        return t1*t2*util.gammaDensity(v,myA,myA)
    elif whichModel==1:
        return t1*t2*util.gigDensity(v,myA)
Exemple #2
0
def jointIntegrandNVM(g,v,p,q,myRho,myA,invCdf,whichModel):
    p1 = computeP_NVM(p,myRho,g,v,myA,invCdf)
    p2 = computeP_NVM(q,myRho,g,v,myA,invCdf)
    density1 = util.gaussianDensity(g,0,1)
    if whichModel==0:
        density2 = util.gammaDensity(v,myA,myA)            
    elif whichModel==1:
        density2 = util.gigDensity(v,myA)    
    return p1*p2*density1*density2         
def thresholdMoment(g, w, p1, p2, myP, whichModel, myMoment, invCdf=0):
    d1 = util.gaussianDensity(g, 0, 1)
    if whichModel == 1:  # t
        d2 = util.chi2Density(w, p2)
        integrand = np.power(th.computeP_t(myP, p1, g, w, p2), myMoment)
    if whichModel == 2:  # Variance-gamma
        d2 = util.gammaDensity(w, p2, p2)
        integrand = np.power(th.computeP_NVM(myP, p1, g, w, p2, invCdf),
                             myMoment)
    if whichModel == 3:  # Generalized hyperbolic
        d2 = util.gigDensity(w, p2)
        integrand = np.power(th.computeP_NVM(myP, p1, g, w, p2, invCdf),
                             myMoment)
    return integrand * d1 * d2
def getYDensity(y, p1, p2, whichModel, v=0):
    if whichModel == 0:
        return util.gaussianDensity(y, 0, 1)
    elif whichModel == 1:
        return util.betaDensity(y, p1, p2)
    elif whichModel == 2:
        return util.gammaDensity(y, p2, p2)
    elif whichModel == 3:
        return util.gaussianDensity(y, 0, 1)
    elif whichModel == 4:
        return util.gaussianDensity(y, 0, 1)
    elif whichModel == 5:
        return util.weibullDensity(y, p1, p2)
    elif whichModel == 6:
        return util.gaussianDensity(y, 0, 1) * util.chi2Density(v, p2)
def crPlusMoment(s, myW, myA, myP, momentNumber):
    v0 = myP * (1 - myW) + myP * myW * s
    myDensity = util.gammaDensity(s, myA, myA)
    return np.power(v0, momentNumber) * myDensity
def getCMF_cr(s, myW, myA, myP, myN, myK):
    ps = myP * (1 - myW) + myP * myW * s
    f = util.getBC(myN, myK) * np.power(ps, myK) * np.power(1 - ps, myN - myK)
    return f * util.gammaDensity(s, myA, myA)