INNER CODE UNIT · Python
arbitrage_trading
dmarienko/QuantTradingResearch · models/helpers.py:127
def arbitrage_trading(kfm, Z_entry, Z_exit, traded_size):
"""
Simple arbitrage strategy for KF
"""
from ira.simulator.utils import shift_signals
# z-score
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,