Algorithmic and High frequency Trading