I have a strange problem. I am running a backtest on a strategy whose signal is based on a spread. Naturally, a spread can go negative or positive. If I try to calculate the log return of a difference between two negative points in the spread it goes undefined.
Is there a standard method of "pushing the spread up"? I thought about a few very naive methods and the only one that made sense was to add a constant value to every element equal to the lowest value the spread goes. By doing this the distance between two successive points is maintained. The only problem is the return is not:
Take two points on a spread -1 and -2 and let's say we add 50 to them when we push the spread above the zero line:
log(1) - log(2) = -0.69314718055994 (1 and 2 made positive here to show the expected value) log(51) - log(52) = -0.019418085857101808
So this method, while simple, does not work. As you might expect the log-percentage difference between 51 and 52 is significantly smaller than 1 and 2.
Is there a better, more effective way to do this?