Free Crypto Portfolio Tracker Update
Visualisation of data by plotting it in a data dashboard

Free Crypto Portfolio Tracker Update

By Michael_Brown | Python For Crypto | 17 Oct 2021


If you read my previous article then you will know I've decided to create a crypto portfolio tracker that I'm going to make freely available to all you nice people. This post is an update on my current progress and it will give you a better idea of how I'm coding it.

Crypto Data

I'll be using Coingecko to get the latest coin prices and market data. Coingecko has a public application programming interface (API) that allows you to make requests for information and they will send you responses that contain the data you requested.

Framework

I will build a web API using fastapi, a modern, fast (high-performance) web framework for building APIs with Python 3.6+ based on standard Python type hints. On a basic level, I will be building a website using fastapi that you can start running and you will be able to use a browser to view your portfolio.

Language

Everything will be written in Python, which is an extremely easy and intuitive coding language, and besides fastapi, I will be making use of another library called dash which can create some amazing, interactive plots.

Features

To start with I'm going to code for the following features:

  • Ability to input your coins and amounts to create a dated portfolio entry.
  • Total portfolio balance.
  • Pie chart of coins that make up the portfolio (percentage coins by the amount and monetary value). 
  • Table of market data for all portfolio coins (Name, Symbol, Current Price, Percentage change over last 24 hours, etc).
  • A plot of portfolio value over time.

Making It Available

Once I've completed everything I will make it available as a package on PyPI which you will be able to download for free. The only requirement is you'll have to download Python to run the program and I'll write a short how-to guide on how to do that if you've never used Python before (don't worry, it's super easy and it will be just an easy download from the official Python website).

Current Progress

I've actually coded the first three bullet points above which was quite easy and straightforward. It starts getting complicated when we want to look at the portfolio balance over time, as we then need to not only get the price history for each coin in the portfolio but also determine the value over time which can change depending on how many you buy/sell on any particular date.

For the above step, I'm keeping things simple and will use the computer file system to save a CSV of all the necessary prices and calculated totals for each coin. I have most of the logic already written for this, and should be finishing this step quite soon.

Next Steps

I will begin moving on to coding the plotting logic using dash, so we'll be able to see some nice visualisations of what coins make up our portfolio and the balance of the portfolio over time.

Once that is done, it will be a case of playing around with some CSS styling to make it visually appealing, doing some testing to make sure it's robust, then uploading it to PyPI.

As I'm doing this in my spare time before work, it's taking a lot longer than it would if this was my sole focus. I'm also buying my first house with my girlfriend, and I find a lot of my time is spent emailing solicitors and estate agents with what appears to me to be doing their job for them. But hey, I need to pay my bills and get our house sorted, so I think this little side-project is going at a fairly good pace.

I aim to have everything complete in four weeks, though that may need to change depending on how easy the house purchase goes. Once done, you'll have a free bit of software that will allow you to track your crypto portfolio and will no longer need to give away your personal info to companies just so you can track your own portfolio.

Thanks for being patient, and my next update should be in four weeks time.

How do you rate this article?


16

0

Michael_Brown
Michael_Brown

Physics graduate, with a passion for programming in Python.


Python For Crypto
Python For Crypto

I'm Michael, a Python developer and I'm documenting some useful libraries and techniques you can use for free to aid in your Crypto-analysis and Crypto-portfolio.

Send a $0.01 microtip in crypto to the author, and earn yourself as you read!

20% to author / 80% to me.
We pay the tips from our rewards pool.