オブジェクトの集約機能を転がりカスタムパンダ

オブジェクトの集約機能を転がりカスタムパンダ

ボラティリティは、はさみ型の標準偏差を計算します

重合カスタム関数を使用して、それが物体伸長パンダのローリングウィンドウに適用され、
それは、決定された揮発性標準差動型鋏であってもよいです

コード



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