In this project, I studied the mechanics and characteristics of online learning algorithms, and then created a few examples of them applying them to data from the stock market. Online learning is the process of consecutively answering sequences of questions while having knowledge of the answers to the previous questions. Online learning algorithms seek to do this in the context of a game where the aim is to minimize regret (the difference of the cumulative loss of the algorithm and the cumulative loss of the eventual best fixed-action). In doing this, online learning algorithms provide a basic strategy for a player in a game by focusing on loss minimization. The challenge of this project was to create online learning algorithms that were stable, reaped high returns, and worked even when the markets were volatile. There were three online learning algorithms which I developed such that each built on the last one. The first online learning algorithm worked well in predicting the direction that the markets were going in, but it was slow to respond to changes in the pattern of prices and was erroneous in its calculations of returns. The second online learning algorithm solved the problem of erroneous calculations, but it lacked a standard basis for measuring its own performance. The third and final online learning algorithm was sufficient in how it measured its own performance, but it failed to reap high returns consistently in a volatile market. Overall, from this project, I was able to deduce a few important characteristics of what makes a feasible and efficient online learning algorithm, while trying my hand at applying it to the real world.
- final report (including deliverables)
- code files