Abstract : | Finance and particularly stock trading plays a major role in our society. We all have heard of people reaping large amounts of money and get thrilled. For many people, when they hear the words "stock exchange", this invokes images of our traders gesturing and yelling to each other. This used to be the case. Stock exchanges around the world generate large amounts of data everyday. Decisions must be taken without exaggeration in milliseconds. With the advent of computers, exchanges have gone virtual through impersonal computer terminals. This resulted in reducing risk of manual errors, in placing the trades and mistakes by human traders, based on emotional and psychological factors. Beyond that, a lot of people try to invent an algorithm based on historical and real time data, in order to profit through real time, machine-based stock transactions. We tried in this thesis, as well to train trading algorithms and benchmark them with real data from the NYSE. Due to the complexity of the problem and the capacity of data, we had to resort to big data. Two implementations were established: in Matlab environment and in Amazon Web Services with the help of Python programming language & SQL databases. In order to find patterns, make predictions and test our algorithms with real data, we used well-known machine learning algorithms like Neural Networks (NNs) and Support VectorMachines (SVMs). In this thesis we demonstrate under what conditions we can make a profit by not using stock prices as an input variable for trading, but by using instead, the return ranking of some stocks, which we selected arbitrary. This way we overcome the well-known problems in literature. Our innovation regarding this thesis is threefold. Firstly, the main research in algorithmic trading is based on fundamental analysis (like P/B ratios etc.) stock prices time series or stock prices returns. Little research has been conducted on stock ranking returns. In this thesis we indicate that it is valid to make profitable algorithms based on stock ranking returns. Secondly, to the best of the author's knowledge, it is the first time that different scenarios (like buy/hold/sell or sell/buy stocks etc.) involving trading based on stock ranking returns have been examined. Lastly, we compare different algorithms which have same input data in order to evaluate their efficiency under various scenarios. As we make evident the best scenario when we use Neural networks is to buy top 25% daily return ranking stocks and sell the rest stocks. This leads to a 7.09% return in less than two years. An interesting conclusion, particularly nowadays where we all have witnessed even negative interest rates. Lastly we prove that SVMs do not necessarily outperform NNs in general. In some scenarios this is true (when we use positions of the past as well as predicted positions in every decision of the algorithm) but in some other (where only predicted return ranking positions are inputs) it is not and needs further investigation.
|
---|