Algorithmic & High Frequency Trading Strategies