INSPIRATION

Not everyone can pay for trading software, 

nor can everyone sit down looking at a spreadsheet all day. Fortunately, for or those that are looking to combine their intuition with the empirical statistics, Navi, while do so fast and free.

Construction

This application was constructed in three parts.
  1. Collecting data from an open source. This was done by either scrapping market changes on google finance from its html, or by entering the data in google sheet using the GOOGLEFINANCE function. [^1]
  2. Processing the data using python to identify patterns and calculate statistical values. (See GitHub Link for more). This surely took the most time, as most of the algorithms relied on reviewing academic articles and translating them into the script.
  3. Outputting the results in a direct, streamlined, fashion, on a graphical user interface "GUI" in which the user can further engage with the data.

Challenges

Perhaps unsurprisingly, integrating the aforementioned parts into a single application was most difficult. Embedding matplotlib into the graphical user interface while supporting live recording of the data had a large problem. Every time the user would view the graph in a separate window, where matplotlib's interactive features are, and leave that graph, the graph displayed on the dashboard would completely disappear whilst everything else functioned fine. It was found that this occurred because the graphs in both windows were treated as one figure, and so any action that would clear the contents of one figure would necessarily apply to the other.
Another problem was accurately displaying patterns along the graph. Each set of points along the graph, such that the graph has a local extreme at these points, was considered to have at least one pattern if and only if conditions were met. But a result is only as sound as its premise, that is, while the script would say that every condition has been met, just looking at the red, misshaped outline along the graph in which this was deduced to have, showed an error in design.

Reflection

Technology continues to march us forward; in the financial industry it's a race. There is a fascination in the hardware required to execute programs at insane speeds and the models driving them to delivery near razor-sharp accuracy. But mindfulness of how this affects the competition and integrity of the stock market, where many participants lack such equipment, is considered as well.

What's next for NAVI?

Integrate left over features, improve data acquisition, and if lucky, use NAVI to assist in Trading strategy.

Built With

  • googlefinance
  • googlesheet
  • matplotlib
  • pysimplegui
  • python
  • tinkiter
Share this project:

Updates