Beispiel #1
0
def future_log_returns_l2(data, window, do_raise=True):
    if 'log_returns' not in data.columns:
        add_log_returns(data)
    l2 = lambda x: np.sign(x) * x**2
    ssqrt = lambda x: np.sign(x) * np.sqrt(np.abs(x))
    data['log_returns_l2_{}w+'.format(window)] = ssqrt(np.concatenate([pd.rolling_mean(l2(data['log_returns'].values[::-1]), window=window, min_periods=0)[:0:-1], [0]]))
    return ['log_returns_l2_{}w+'.format(window)]
Beispiel #2
0
def future_log_returns(data, window, do_raise=True):
    if 'log_returns' not in data.columns:
        add_log_returns(data)
    data['log_returns_{}w+'.format(window)] = np.concatenate([
        (pd.rolling_mean(data['log_returns'].values[::-1],
                         window=window,
                         min_periods=0))[:0:-1], [0]
    ])
    return ['log_returns_{}w+'.format(window)]
Beispiel #3
0
def log_returns_ma(data, window, do_raise=True):
    if 'log_returns' not in data.columns:
        add_log_returns(data)
    data['log_returns_{}w-'.format(window)] = pd.rolling_mean(data['log_returns'], window=window, min_periods=0)
    return ['log_returns_{}w-'.format(window)]