2020 has changed a lot of things for many people, including myself. This year is when I started learning more about personal investments and I thought it would be interesting to build a small device that could help me see the trends in the stocks that I'm watching. I found that I didn't really like how standard online watchlists take up so much screen space if I wanted to keep them open all day, so I thought that having a completely separate piece of hardware to replace it would be ideal. I also found that other watchlists wouldn't give me enough real-time information in terms of notifications. From my third-party site I have my watchlist on, I would often get notifications like "Company Z was in the news more than usual today" or "Prices for Company Y increased by X% today" after the market closed. Often I find these notifications to be too late to be beneficial because I wanted more short-term information on trends. When I get the information as it is occurring I can at least think about either buying or selling at that time.
STOCKnote takes in real-time data from Yahoo Finance and reports key information on an OLED display. The display specifically details the stock ticker, price, if there has been a large change in the stock price in the past 60 iterations, if the price is increasing or decreasing, and if the price is accelerating or decelerating in value over time. There are also LEDs that correspond to the data on the display to make the information more eye-catching. The blue LED corresponds to a large change in stock price, green to increasing price and red to decreasing price. The frequency of blinking corresponds to the acceleration/deceleration of change in price where fast blinks show acceleration and slow show deceleration. There is also a button that allows you to skip through the different stocks you are watching.
Continuous Data Updates — The database would only update for the currently selected stock in this version of STOCKnote. This means that if you switched to a different stock in your list using the button, the program would need to take some time to repopulate the data for the background algorithm. If I were to further improve this project, I think I would need to separate the database from the main program so that the data could be updated in parallel to the rest of the software. As stocks changed sporadically, this extra waiting period could hinder real-time aspects of this insight software.
Time Constraint — This hackathon was 24 hrs and due to the fact that it was online, I thought it would be easiest to work on my own. Due to this, I had less time to create a really robust piece of software but was able to create a working prototype of my idea. This time constraint helped me to focus on my main idea without trying to add too many things that I could get stuck on trying to create.
Raspberry Pi GPIO — I had never used the GPIO pins on my Raspberry Pi before this project. I have experience with using the pins on different Arduinos and PIC Microchips, so I wondered how it would compare to the Raspberry Pi. I specifically needed to use a Raspberry Pi for this project as part of my software relied on internet access. The GPIO pins worked very similar to the other microcontrollers I have used so it was good to know that for any future projects.
OLED Display Usage — I had also never used an OLED display before this project. I have experience with LCD screens but decided against using one because I thought that the ones that I had would not have enough space to fit all the text I needed to display. I found that the wiring and programming needed was actually somewhat different from what I have done with LCDs, so it was interesting to figure out how to use them and will hopefully be helpful in future work as well.