In late 2016, one of my friends in CU's business school, studying finance, came to me and told me they needed a programmer for a competition. The competition was the Chicago Quantitative Alliance's annual quantitative finance competition. Simply enough, you have to have to put together a doubly leveraged portfolio (50/50 longs and shorts), and the person who makes the most in the end wins.
There were lots of financial concerns, but my main task was taking data off of a Bloomberg console, applying a formula to that data, formatting it nicely, and giving that to my teammates so that they could perform the orders. This was done quite simply in Angular.JS and worked well for its purpose.
After I was finished with the competition, I was still quite interested in quantitative finance. So, I started rebuilding what I had built in Angular.JS in Angular and tried to rely on more open source data sources. Lots of financial data is locked down and expensive (supply and demand), so this was difficult. I got pretty far, but gave up on the project.
Not long after that I started playing around with swing/day trading cryptocurrency. This was mostly just a fun hobby, but I became obsessed with the patterns that arise, particularly in candlestick charts. Since I studied digital signal processing in school, I was particularly interested in pattern recognition. Computers are really bad at recognizing patterns, but humans are pretty good at it given the right tools. I wanted to give humans the best tools for the job.
As that project went on, I quickly realized that I had reached the limits of my knowledge and abilities. The problem wasn't that I couldn't program a good enough solution, the problem was that data is hard to find, expensive to get, and expensive to process. For these reasons, I finally abandoned this project.
Overall, the 3 QUAX projects were fun experiments in both my knowledge of web-based technologies and my ideas about financial trading. There were tons of problems throughout: getting table sorting working properly, handling massive amounts of data in short amounts of time, finding graphics libraries to display that data in a cool way, etc. In the end, these projects were a great learning experience and I might come back to them at some point in the future.