An Asset Portfolio Watchlist That Respects Your Privacy

20 May 2020

AssetFolio Transaction ISIN

Nowadays, people who have stocks or do any trading, usually, they have a watchlist to track the price of the stock markets. It is not only stocks, but also other assets that can be traded online (financial instrument), for example foreign currencies, forex, bonds, exchange-traded funds (ETFs), cryptocurrencies, and commodities. The papers of the stocks, mutual funds, and bonds, which can be traded, are categorized as securities. Until now, I can find watchlist services that I need to login and share my data with the service provider. That means that, the provider can see, analyze, sell, and even creating a regional or global market profile, based on these data. Most of the watchlist accept only the securities. How about other assets, such as your property, bitcoin, gold, or even your old cars?

Introducing the AssetFolio application that mainly designs to solve the privacy issue of the online watchlist. The application tracks all of the investment activities and tracks the price of security assets. In the watchlist mode, we can see the realtime price of our securities, see the picture below. The application is open-source and you can see the code and build by yourself for your desktop application.

Watchlist

The application can deal with the ticker symbols. At the moment, it uses the symbols from the Financial Modelling Prep which is listed in the file AssetFolio/data/FMPSymbolList.json or by visiting the FMP website and using your API key: https://financialmodelingprep.com/api/v3/stock/list?apikey=XXX. This figure below presents the table with symbols as the asset ID.

AssetFolio Transaction Symbols

The motivation of this project was because of the final project during my C++ Nanodegree from Udacity. In order to finish the course, in the end I had to create a C++ application that utilizes the modern C++ features, such as smart pointers, move semantic, rvalue reference, and multithreading. Moreover, I use CMake for the build system. CMake allows me to build the application for Windows, Linux, and Mac platforms. At the beginning I utilize wxWidgets as the GUI library. The library is quite stable, however, the documentation is not well organized and categorized. The main reason why I changed to Qt was that it was complicated to build the library for multi-platform OS, since part of the library supports CMake.

The technical details can be seen in the readme.md documentation in https://gitlab.com/ywiyogo/assetfolio.