After some investigation the issue is that for daily simulations orders don’t get cancelled.
Currently the EODCancel is only implemented for minutely simulations.
In summary, what is happening is that the orders keep getting recorded until the limit_order is satisfied then it fills all the orders.
The following day the order_target sells back to fill the target.
Due to the zipline implementation logic, I don’t think there is a clean and easy fix to this daily transactions issue