객체 집계 함수를 압연 사용자 정의 팬더

객체 집계 함수를 압연 사용자 정의 팬더

변동성은 가위 형의 표준 편차를 계산

중합 정의 함수를 사용하여, 물체가 연장 팬더의 롤링 윈도우에 적용되어,
판정 휘발성 표준 차동 입력 될 수 위

코드



def volat_diff(roc1_rolling, center=-0.001, nSD=5):
    '''计算: 标准差型波动率剪刀差
    参数:
        roc1_rolling: 滚动窗长里的roc1
        center: roc1(1日波动率)的平均值
        nSD: 求标准差时用的窗长
    用法: 
        1. rolling.apply(volat_diff, (0, 8))
        2. rolling.apply(volat_diff, args=(0, 8))
        3. rolling.apply(volat_diff, kwargs={'center':0, 'nSD':8})
    '''
    up_lst=[]
    down_lst=[]
    for roc1 in roc1_rolling:  
        if roc1 < center: #如果涨幅小于minret,将被用于计算“下行波动率”
            down_lst.append(roc1)
        else:
            up_lst.append(roc1) #反之,归入计算“上行波动率”
    upvar  = sum([(r-center)**2 for r in up_lst])  /nSD #计算上行波动率
    downvar= sum([(r-center)**2 for r in down_lst])/nSD #计算下行波动率
    vd = upvar - downvar #计算二者差值
    #vd_lst = []
    #vd_lst.append(vd)
    return vd
    
def mysum(rolling):    
    s=0
    for v in rolling: s +=v
    return s

추천

출처www.cnblogs.com/duan-qs/p/12116905.html