INNER CODE UNIT · Python
annihilator
5ymph0en1x/SyDOM · utils/annihilator.py:78
def annihilator(self, askP, askS, bidP, bidS, size, ts):
resampledDF = pd.DataFrame()
resampledDF['timestamp'] = ts
resampledDF['size'] = size
resampledDF.index = resampledDF['timestamp']
resampledDF.drop(columns='timestamp', inplace=True)
resampledDF['deltaVtB'] = 0
resampledDF['deltaVtA'] = 0
resampledDF['Mt'] = 0
resampledDF['OIR'] = 0
for i in range(len(ts) - 1):
resampledDF['deltaVtB'].iloc[i] = 0 * (bidP[i] < bidP[i + 1]) + (bidS[i] - bidS[i + 1]) * (
bidP[i] == bidP[i + 1]) + bidS[1] * (bidP[i] > bidP[i + 1])
resampledDF['deltaVtA'].iloc[i] = askS[i] * (askP[i] < askP[i + 1]) + (askS[i] - askS[i + 1]) * (
askP[i] == askP[i + 1]) + 0 * (askP[i] > askP[i + 1])
resampledDF['Mt'].iloc[i] = (bidP[i] + askP[i]) / 2
resampledDF['OIR'].iloc[i] = (bidS[i] - askS[i]) / (bidS[i] + askS[i])