INNER CODE UNIT · Python

z

dmarienko/QuantTradingResearch · models/helpers.py:134

    z = kfm.model.err / kfm.model.var
    
    # take position on weighted portfolio
    shorts, longs = z >= Z_entry, z <= -Z_entry
    shorts_exits, longs_exits = ((z <= -Z_exit) & (z > -Z_entry)), ((z >= Z_exit) & (z < Z_entry))
    
    # we need to normalize portfolio weights
    b_a_w = kfm.model.b.div(kfm.model.b.sum(axis=1), axis=0)
    
    signals = pd.concat((
         -b_a_w[longs],  b_a_w[longs_exits] * 0, 
          b_a_w[shorts], b_a_w[shorts_exits] * 0,
    ), axis=0).sort_index()

    # take opposite position on Index
    signals['^RUI'] = 0
    signals.loc[longs, '^RUI'] = +1
    signals.loc[shorts, '^RUI'] = -1

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…