Algorithmic and High-Frequency Trading Strategies: A Literature Review